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

  • 相关阅读:
    在 Eclipse Workbench 之外使用 Eclipse GUI
    GB2312,GBK,Unicode
    木偶一之推荐系统
    Matlab:任意矩阵计算分布密度(海明距离的分布密度)
    live555在arm linux下的交叉编译,并下载的Arm板播放H264文件
    java设计模式之原型模式
    HDU 1102
    poj3661另一种做法(滚动数组)
    基于QT的小游戏细菌病毒战
    某代码查看器的保护突破
  • 原文地址:https://www.cnblogs.com/tianboblog/p/10072415.html
Copyright © 2011-2022 走看看