删除MongoDB数据 - 回收磁盘空间

gri*_*fin 20 repair mongodb

可能重复:
自动压缩mongodb中删除的空间?

我的理解是,在删除操作上,MongoDB不会释放磁盘空间,但会根据需要重用它.

  1. 那是对的吗?
  2. 如果没有,我会运行修复命令吗?
  3. 修复是否可以在实时mongo实例上运行?

And*_*ich 19

  1. 是的,这是对的.
  2. 不,最好给mongodb尽可能多的磁盘空间(如果mongodb可以分配更多的空间而不是更少的磁盘碎片,那么额外的分配空间是昂贵的操作).但是如果你希望你可以db.repairDatabase()从mongodb shell 运行缩小数据库大小.
  3. 是的,您可以在live mongodb实例上运行repairDatabase(最好在非高峰时段运行它)

  • 虽然您可以在实时系统上运行修复,但它会使其无法使用,因为它在运行时锁定服务器; 我认为,如果您打算继续使用该实例,实际上意味着您无法在实时实例上运行它. (20认同)

Jus*_*ins 7

这有点像这个MongoDB问题的副本......

自动压缩mongodb中删除的空间?

有关如何...的详细信息,请参阅该答案

  • 回收一些空间
  • 使用serverside JS运行定期作业以获取空间(包括可以运行的脚本......)
  • 对于某些用例,您可能希望查看Capped Collections!

你也可以看到这篇相关的博客文章:http://learnmongo.com/posts/compacting-mongodb-data-files/


归档时间:

查看次数:

35963 次

最近记录:

9 年,8 月 前