在运行MongoDB 2.2.1的旧系统上,由于数据库文件过大,我们的磁盘空间不足。我们的实际数据大小不到3 GB,索引大小约为1.7 GB,但存储大小超过70 GB。因此,存储到数据+索引比率接近因子15.大约有40个数据文件,其中大多数文件大小为2 GB。
我们正在考虑运行compact()或者修复()来重新获得一些未使用的空间,但是我们担心这个问题很快就会重现。似乎当前配置(非常接近默认配置)不适合我们应用程序的数据库使用模式。
哪些其他工具,诊断,补救措施或配置更改可以帮助MongoDB更好地利用磁盘空间?
答案 0 :(得分:2)
WiredTiger在磁盘使用方面效率更高。
然而,从MongoDB 2.2迁移到3.0将是一个巨大的飞跃。
另一个选项(假设将其配置为副本集)是单独重新同步辅助节点,然后执行故障转移。这与执行修复具有相同的效果,而不会因使用repairDatabase命令而导致停机。