我很好奇,为什么自从我升级到Mongo 3.0 (有线老虎存储引擎)后,我的彩信突然显示出快速的数据增长。过去几周新增长的斜率与升级直接相关。这个数据库中只有几个集合拥有超过500个documents...though,这两个都是巨大的集合,文档结构在升级前和升级后都保持不变。此外,在这些集合上运行聚合表明,在升级之前/之后,插入的数量平均没有变化。这让我不禁要问,数据大小的计算方式是否与新的WiredTiger引擎有所不同。有没有人有这方面的信息?这是我的彩信数据的图像。

有几件事,当我将一个集合从另一个数据库迁移到size...these时,在mongo中有两次跳转。尽管如此,在这两个版本之后,增长率仍然保持一致,并且只有在升级后才会增加。数据大小在升级时减少了(与他们认为Wired有压缩的假设一致),但增长得如此之快,几乎达到了它的原始大小。即使是存储大小也开始以比最初更快的速度增长,尽管这个图像并没有很好地做到这一点。
发布于 2015-03-24 05:38:37
WiredTiger和MMapV1中的数据大小将在很大程度上相同,或者至少非常相似。您的文档仍然是相同的大小(mmapv1可能会报告一些额外的填充,但wiredtiger只会报告实际的数据大小)。
由于“连线老虎”压缩磁盘上的数据,将有显著不同的是"storageSize“。如果数据大小在增长,那是因为你的实际数据在增长--这也可以在“平均对象大小”的增长中看到。
发布于 2015-03-31 14:36:46
进一步来看,我认为这与PHP Mongo Driver 1.5.0更新有关,特别是在这个版本中,mongo.native_long设置默认为TRUE或更高版本。因为Mongo 3.0需要高于1.4版本(我正在运行),所以我必须同时升级驱动程序。这样做会导致新文档中的所有整数都存储为两倍大小的LONG类型。我没有理由以这种方式存储我所有的整数,特别是当许多整数都是个位数的时候。
我已经将native_long设置更改为0,并确认默认情况下将所有内容存储为32位整数。我假设在接下来的几天里,我会看到增长率下降。我会在几天后用结果更新它。
更新:
数据库大小增加的原因很简单,因为它实际上在增加。我在一周的时间里逐个检查了所有100个集合,找到了导致增长的那个集合,并对其进行了检查,发现有大量的行被添加,这与升级到3.0无关。这个问题仅仅是一个巧合,自从这篇文章发布7个月后,我没有理由相信3.0向MMS报告了错误的大小。此外,没有理由相信指数增长是由于64位整数的大小造成的。
https://stackoverflow.com/questions/29202969
复制相似问题