MongoDB数据删除-回收磁盘空间
可能重复:MongoDB数据删除-回收磁盘空间,mongodb,repair,Mongodb,Repair,可能重复: 我的理解是,在执行删除操作时,MongoDB不会释放磁盘空间,但会根据需要重用磁盘空间 对吗 如果不是,我会运行修复命令吗 修复是否可以在live mongo实例上运行 是的,这是正确的 不,最好给mongodb尽可能多的磁盘空间(如果mongodb可以分配更多的空间而不是更少的磁盘碎片,那么额外分配空间是一项昂贵的操作)。但如果您愿意,可以从mongodb shell运行db.repairDatabase(),以缩小数据库大小 是的,您可以在live mongodb实例上运行re
我的理解是,在执行删除操作时,MongoDB不会释放磁盘空间,但会根据需要重用磁盘空间
db.repairDatabase()
,以缩小数据库大小这有点像MongoDB问题的重复 有关如何
- 重新命名一些空间
- 使用服务器端JS 运行定期作业以返回的步骤 空间(包括可以运行的脚本…)
- 你想看起来怎么样 放入封顶集合以供使用 箱子李>
您还可以看到这篇相关的博客文章:如果您无法锁定系统,或者没有双倍的存储空间,我有另一个解决方案可能比使用db.repairDatabase()更好 您必须使用副本集 我的想法是,一旦删除了占用磁盘的所有多余数据,停止一个辅助副本,擦除其数据目录,启动它并让它与主副本重新同步。对其他二级学员重复,一次一个 在主机上,执行rs.steppdown()将主机移交给一个同步的二级机,现在停止此二级机,擦除它,并让它重新同步
该过程非常耗时,但当您执行rs.steppdown()时,应该只需要几秒钟的停机时间。当您可以在实时系统上运行修复时,它将使其无法使用,因为它会在运行时锁定服务器;我认为这实际上意味着,如果您计划继续使用一个活动实例,就不能在该实例上运行它。