MongoDB 如何释放磁盘空间

数据库NoSQL数据库技术服务知识库
场景介绍

在使用 MongoDB 过程中,我们建议您对磁盘空间设置监控告警, 避免磁盘空间告急造成业务受损。本文介绍 MongoDB 释放磁盘空间的方法。

操作步骤
  1. 检查您的实例中是否存在已经废弃的索引、集合或者数据库,然后使用 dropIndexes,drop,dropDatabase 命令删除对应的索引、集合或者数据,该类命令执行后,文件会立即删除,磁盘空间会立即归还给操作系统,从而达到释放磁盘空间的目的。
  2. 从业务的角度来判断是否存在不需要的文档,然后使用 delete 命令,删除对应的文档。需要注意的是,MongoDB的文档删除类似于将空间进行标记,磁盘空间不会被立即释放,处于等待被重用的状态。如果需要立即回收,需要执行 compact 命令。
  3. 检查集合是否存在大量的空闲空间,通过 collStats 命令,比较StorageSizefreeStorageSize这两个字段,然后使用 compact 命令回收空闲的物理空间。
注意事项
  • MongoDB 4.4 之前的版本,执行 compact 命令时,会阻塞其他所有的操作,建议在业务低峰期进行操作,操作之前进行充分的评估。

如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论