【发布时间】:2021-10-23 10:50:41
【问题描述】:
我正在使用 MongoDB 4.0 并使用 MongoDump 4.0 进行备份。我需要将数据从一台机器迁移到另一台机器,同时我也计划升级到 MongoDB 4.2。我测试了以下两种方法:
方法一: 当我使用 MongoRestore 4.2 将 MongoDump 4.0 创建的转储文件恢复到 MongoDB 4.2 时,我的数据库大小减少到几乎一半,即 DB1大小从 45GB 下降到 27GB,DB2 大小从 53GB 下降到 40GB。我还检查了文档和文档结构的数量。一切都完好无损。
方法二: 当我使用 MongoRestore 4.0 在 MongoDB 4.0 中恢复相同的转储文件时,大小与备份时相同,即 DB1 45GB 和 DB2 53GB。然后我使用文档将这个 MongoDB 版本从 4.0 升级到 4.2,版本升级后大小保持不变,即 DB1 45GB 和 DB2 53GB。
我已经重复了很多次,结果都是一样的。在从 MongoDump 4.0 获取的转储文件上应用 MongoRestore 4.2 时,我无法弄清楚为什么大小会减小。
我是否应该选择 方法 1 并利用减少的存储空间,即使不建议恢复从 MongoDump版本获取的转储文件> 并使用任何其他版本的 MongoRestore 进行恢复。
注意:这不是已删除空间,因为我使用 Stats() 函数检查过,并且我也已恢复索引。
【问题讨论】:
标签: mongodb