MongoDb:避免过多的磁盘空间
我有一个分配了85GB空间的数据库。 我使用show dbs命令获得了这个大小。 但是,当我使用db.stats()时,我得到的存储大小为63GB。 在阅读文档之后,我发现dat mongo db会为创建的数据库分配一个大小,然后填充实际的数据。
为什么mongo会执行此预分配,并且有没有办法可以避免此预分配?
如果是,那么做一个好主意,还是从性能角度来看会影响?
谢谢!!!
详细信息可以在这里找到:http://www.mongodb.org/display/DOCS/Excessive+Disk+Space
现在你的情况。 我认为您的数据文件的当前大小不能单独由预分配引起。 分配的数据文件的最大大小是2G。 也许你曾经存储过比现在更多的数据? 上面的链接还显示了如果您确定无论如何不会很快需要回收这些数据。 在这个过程中,这需要大量的磁盘空间,所以你必须给出一些计划。
禁用预分配确实会影响性能。 当你做很多插入时,这个过程通常需要等待创建一个新文件。
您可以使用--noprealloc命令行参数禁用预分配。
你可以在这里阅读更多