![为什么我的 mongo 备份是数据库大小的三倍?](https://linux22.com/image/691449/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20mongo%20%E5%A4%87%E4%BB%BD%E6%98%AF%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%A7%E5%B0%8F%E7%9A%84%E4%B8%89%E5%80%8D%EF%BC%9F.png)
我有一个mongodb,里面有一些数据。现在很多,超过5GB。
> show dbs;
local 0.000GB
aaaa 0.034GB
bbbbb 5.327GB
>
因此我使用 进行了备份mongodump -h mongo --archive > mongo.tar
。
但是这个文件有 16GB 大小
root@box:~$ ls -lah | grep mongo
-rw-r--r-- 1 root root 16G Oct 7 12:48 mongo.tar
这比报告的数据集大小大三倍多。当然,我可以压缩它,但我首先想知道备份为什么这么大。
答案1
数据库使用稀疏文件,不会自动重新使用已清除的存储。您需要压缩文件以减小其大小,mongo 可以使用“--repair”选项实现此目的
答案2
您可以使用--gzip
标志来压缩输出文件。