MongoDB MongoDB 集群的几点疑惑

frank · 2016年01月15日 · 最后由 frank 回复于 2016年01月18日 · 2964 次阅读

环境介绍: MongoDB version 2.6.6 Centos 三个分片集群。

  • 问题1:我通过mongos这台路由机器把数据dump出来,然后执行db.collection.remove({})。执行完成之后,登陆mongos,发现备份的数据库占用空间还是原来的大小(33G),但是里面的数据没有了。有人能帮忙解释下吗?
  • 问题2:有人说MongoDB,只删除数据,不删除数据文件,以便后期使用。如果我执行数据导入操作,导入我之前备份的数据,磁盘空间占用会变成66G吗?如果我想把文件也删掉怎么操作,会有什么影响吗?
共收到 2 条回复

问题 1:

原因是 mongo 不会立即把磁盘还给操作系统。尝试执行一下 db.repairDatabase(),然后再看。 ps:

  1. 在每个分片里逐个执行
  2. 这个命令会锁库(2.6.6)

问题 2:

不会

#1楼 @miracle 好,多谢!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册