据我所知,MongoDB的存储大小应始终大于数据大小.但是,升级到Mongo 3.0并使用WiredTiger后,我开始看到数据大小大于存储大小.

 

这是来自其中一个数据库:

 

{ 
    "db" : "Results", 
    "collections" : NumberInt(1), 
    "objects" : NumberInt(251816), 
    "avgObjSize" : 804.4109548241573, 
    "dataSize" : NumberInt(202563549), 
    "storageSize" : NumberInt(53755904), 
    "numExtents" : NumberInt(0), 
    "indexes" : NumberInt(5), 
    "indexSize" : NumberInt(41013248), 
    "ok" : NumberInt(1)
}

注意,202563549>到目前为止53755904.我很困惑这是怎么回事.现在在Mongo 3.0中读取db.stats()的方法有何不同?

 
storageSize指标等于数据库中所有数据扩展区的大小(以字节为单位).如果没有压缩,则此数字大于dataSize,因为它包含尚未使用的空间(在数据范围内)和由范围内已删除或移动的文档腾出的空间.但是,在使用WiredTiger存储引擎时,数据会在磁盘上压缩,因此小于dataSize.
 posted on 2019-08-16 14:42  xibuhaohao  阅读(3379)  评论(0编辑  收藏  举报