MongoDB MongoDB 集群的几点疑惑

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

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

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

问题 1:

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

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

问题 2:

不会

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