MongoDB之compact操作详解

本文详细介绍了MongoDB的compact操作,用于在删除大量文档后释放磁盘空间。该操作会重新整理数据,减少碎片并可能释放空闲磁盘空间。尽管compact会阻塞读写并在执行期间需要额外空间,但它可以显著减少数据库的体积。执行compact需谨慎,避免在业务高峰期进行,并确保在复制集中正确处理各节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要: compact操作步骤很多,但是可以有效减少磁盘使用量。

这里写图片描述

MongoDB与磁盘

Fundebug处理的数据越来越多,这导致MongoDB的磁盘使用量越来越多,增长也越来越快。于是,我开始定时删除过期数据,优化算法减少冗余数据。但是,我发现,单纯删除文档不能减少MongoDB磁盘使用量。这是为什么呢?下面是官方文档的解释:

对于WiredTiger存储引擎(mongodb 3.2之后默认使用):How do I reclaim disk space in WiredTiger?

The WiredTiger storage engine maintains lists of empty records in data files as it deletes documents. This space can be reused by WiredTiger, but will not be returned to the operating system unless under very specific circumstances.

也就是说,被删除的文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值