我正在使用MongoDB 4.0,并使用MongoDump 4.0进行备份。我需要将数据从一台机器迁移到另一台计算机,同时我还计划升级到MongoDB 4.2。我测试了以下两种方法:
方法1:当我使用MongoRestore 4.2将从MongoDump 4.0创建的转储文件恢复到MongoDB 4.2时,数据库的大小几乎减少到一半,即DB1大小从45 DB1降至27 DB1,DB2大小从53 DB1降至40 DB1。我还检查了文件和文件结构的数量。一切都完好无损。
方法2:当我使用MongoRestore 4.0在MongoDB 4.0中还原相同的转储文件时,大小与进行备份时相同,即DB1 45 DB2和DB2 53 DB2。然后,我使用文档将这个MongoDB版本从4.0升级到4.2,升级后的大小保持不变,即DB1 45 DB1和DB2 53 DB1。
我已经重复了多次,结果是一样的。我无法弄清楚为什么在将MongoRestore 4.2应用于从MongoDump 4.0获取的转储文件时,大小会减小。
我是否应该使用方法1,并利用减少的存储空间,即使不建议恢复从MongoDump版本获取的转储文件,并使用任何其他版本的进行还原?
注释:,它不是删除空间,因为我已经使用Stats()函数进行了检查,并且还还原了索引。
发布于 2021-08-23 15:25:17
WiredTiger 支持存储数据的压缩.4.2添加zstd作为压缩选项,并且可能也会更改默认值。
https://stackoverflow.com/questions/68886634
复制相似问题