MongoDB 2.2.1的高度碎片化

MongoDB 2.2.1的高度碎片化,mongodb,Mongodb,在运行MongoDB 2.2.1的旧式系统上,由于数据库文件过大,磁盘空间不足。我们的实际数据大小略低于3 GB,索引大小约为1.7 GB,但存储大小超过70 GB。因此,存储与数据+索引的比率接近系数15。大约有40个数据文件,其中大多数文件的最大大小为2GB 我们正在考虑运行compact()或repair()以重新获得一些未使用的空间,但我们担心问题很快就会再次出现。当前配置(非常接近默认配置)似乎不适合应用程序的数据库使用模式 还有哪些其他工具、诊断、补救措施或配置更改可以帮助Mongo

在运行MongoDB 2.2.1的旧式系统上,由于数据库文件过大,磁盘空间不足。我们的实际数据大小略低于3 GB,索引大小约为1.7 GB,但存储大小超过70 GB。因此,存储与数据+索引的比率接近系数15。大约有40个数据文件,其中大多数文件的最大大小为2GB

我们正在考虑运行compact()或repair()以重新获得一些未使用的空间,但我们担心问题很快就会再次出现。当前配置(非常接近默认配置)似乎不适合应用程序的数据库使用模式

还有哪些其他工具、诊断、补救措施或配置更改可以帮助MongoDB更好地利用磁盘空间?

在MongoDB 3.0及更高版本中使用,在磁盘使用方面效率更高

然而,从MongoDB 2.2迁移到3.0将是一个巨大的飞跃

另一个选项(假设配置为副本集)是单独重新同步辅助节点,然后执行故障切换。这与在没有因使用repairDatabase命令而导致停机的情况下执行修复具有相同的影响

在MongoDB 3.0及更高版本中使用的,在磁盘使用方面效率更高

然而,从MongoDB 2.2迁移到3.0将是一个巨大的飞跃


另一个选项(假设配置为副本集)是单独重新同步辅助节点,然后执行故障切换。这与在没有因使用repairDatabase命令而导致停机的情况下执行修复具有相同的影响

谢谢@AdamHarrison。不幸的是,这对我们来说很快就达到了顶点,而MongoDB现在几乎每天都在创建额外的2GB文件。2.2和3.0之间是否存在任何重大的不兼容之处,从而使这一飞跃如此之大?从2.6到3.0之间有许多重大的变化。可能需要为使用此部署的所有应用程序更新驱动程序(),并为数据库找到正确的升级路径。您应该检查每个版本()的升级要求。在短期内,您可能需要研究其他压实方法。谢谢@AdamHarrison。不幸的是,这对我们来说很快就达到了顶点,而MongoDB现在几乎每天都在创建额外的2GB文件。2.2和3.0之间是否存在任何重大的不兼容之处,从而使这一飞跃如此之大?从2.6到3.0之间有许多重大的变化。可能需要为使用此部署的所有应用程序更新驱动程序(),并为数据库找到正确的升级路径。您应该检查每个版本()的升级要求。短期内,您可能需要研究其他压实方法。