zoukankan      html  css  js  c++  java
  • mongodb3.0+ 版本内置数据压缩

    mongodb3+版本之后支持zlib和snappy。

    创建压缩的集合

    db.createCollection( "email", {storageEngine:{wiredTiger:{configString: 'block_compressor=zlib'}}})

    插入测试数据:

    for (var i=0;i<20000;i++){ 
    db.users.insert({'name':i,'age':12,'remark':'你也许会好奇,为什么对索引压缩选项与集合的不同 。前缀压缩是相当简单的 – 值的“前缀”是将数据集中重复数据删除。这对于某些数据集特别有效,对复合索引特别有效,如第一列与第二列的所有唯一值重复。前缀索引还提供了一个非常重要的优势优于Snappy或zlib – 可以直接使用压缩索引进行查询操作。'}) 
    }
    

    数据大小

    db.email.dataSize()

    占用磁盘大小

    db.email.storageSize()

    db.stats();

     

     "collections" : 3,表示当前数据库有多少个collections.可以通过运行show collections查看当前数据库具体有哪些collection.

     "objects" : 13,表示当前数据库所有collection总共有多少行数据。显示的数据是一个估计值,并不是非常精确。

     "avgObjSize" : 36,表示每行数据是大小,也是估计值,单位是bytes

     "dataSize" : 468,表示当前数据库所有数据的总大小,不是指占有磁盘大小。单位是bytes

     "storageSize" : 13312,表示当前数据库占有磁盘大小,单位是bytes,因为mongodb有预分配空间机制,为了防止当有大量数据插入时对磁盘的压力,因此会事先多分配磁盘空间。

     "numExtents" : 3,似乎没有什么真实意义。我弄明白之后再详细补充说明。

     "indexes" : 1 ,表示system.indexes表数据行数。

     "indexSize" : 8192,表示索引占有磁盘大小。单位是bytes

    "fileSize" : 201326592,表示当前数据库预分配的文件大小,例如test.0,test.1,不包括test.ns。

    参考:

    http://t.dbdao.com/archives/new-compression-options-mongodb-30.html

  • 相关阅读:
    杭电 oj2602~(0-1背包问题)
    杭电oj~1005 简单的找周期
    poj 2524~并查集基础
    poj 1611~并查集基础
    poj1182~食物链~带权并查集
    杭电 oj3047~带权并查集
    杭电 oj1232~并查集
    杭电 oj2033~
    VS2013使用过程中出现的一些问题:
    python学习笔记:
  • 原文地址:https://www.cnblogs.com/tianboblog/p/10072415.html
Copyright © 2011-2022 走看看