Mongodb mongo集合中的数据碎片

Mongodb mongo集合中的数据碎片,mongodb,Mongodb,我在一个mongo集合中有很多更新,并假设在此之后文件系统会出现巨大的碎片。我主要担心的是,在文件系统上收集的数据将不断增长,而收集中的数据不会有价值的增长 你能证实或反驳我的担忧吗?这取决于你在做什么样的更新。如果这些更新增加了您的文档(数组推送或类似),那么是的,您将有一些碎片。就地更新($inc)不会导致文档移动(无碎片) 顺便说一句,这不是碎片本身,而是一些浪费的空间。也就是说,如果文档被移动到新位置,它的旧位置将不会被重用。您是否尝试过修复它并测量文件大小的更改?是的,并且没有得到有价

我在一个mongo集合中有很多更新,并假设在此之后文件系统会出现巨大的碎片。我主要担心的是,在文件系统上收集的数据将不断增长,而收集中的数据不会有价值的增长


你能证实或反驳我的担忧吗?

这取决于你在做什么样的更新。如果这些更新增加了您的文档(数组推送或类似),那么是的,您将有一些碎片。就地更新($inc)不会导致文档移动(无碎片)


顺便说一句,这不是碎片本身,而是一些浪费的空间。也就是说,如果文档被移动到新位置,它的旧位置将不会被重用。

您是否尝试过修复它并测量文件大小的更改?是的,并且没有得到有价值的区别。但对我来说,更有趣的是理论上的可能性。我建议你也阅读这个链接-。这应该有助于你的理解。我也面临同样的问题。没有办法让系统重用旧数据的位置。但是我不能让db离线。基本上类似于修复命令,但是逐文档和联机..您可以使用副本集。将一个从机脱机,进行碎片整理,使其重新联机,等待其同步,使其成为新的主设备,重复。谢谢。这可能是目前最好的方法——直到10gen实现自动碎片整理(有点像NTFS)。