据我所知,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到目前为止.我很困惑这是怎么回事.db.stats()
现在阅读Mongo 3.0的方式有何不同?
storageSize指标等于数据库中所有数据扩展区的大小(以字节为单位).如果没有压缩,则此数字大于dataSize,因为它包含尚未使用的空间(在数据范围内)和由范围内已删除或移动的文档腾出的空间.但是,在使用WiredTiger
存储引擎时,数据会在磁盘上压缩,因此小于dataSize.