Mongodb 是否仍应定期压缩封顶集合或具有TTL索引的集合?

Mongodb 是否仍应定期压缩封顶集合或具有TTL索引的集合?,mongodb,performance,database,nosql,Mongodb,Performance,Database,Nosql,我们有一个大量使用mongodb的工作流程。我们经常删除大部分数据。因为mongodb不会真正删除数据,除非您调用compact操作,所以我们有时会遇到磁盘内存问题 所以我的问题是,如果我要使用TTL索引或封顶集合,我仍然需要调用“compact”操作来清理空间,否则它会自动处理吗 对于capped collection compact来说没有意义,因为集合的大小是固定的。考虑到自然顺序,封顶集合中的文档不会移动,没有填充,也不会增大大小(事实上,文档可能增大的操作将失败),因此不会出现碎片 对

我们有一个大量使用mongodb的工作流程。我们经常删除大部分数据。因为mongodb不会真正删除数据,除非您调用
compact
操作,所以我们有时会遇到磁盘内存问题


所以我的问题是,如果我要使用TTL索引或封顶集合,我仍然需要调用“compact”操作来清理空间,否则它会自动处理吗

对于capped collection compact来说没有意义,因为集合的大小是固定的。考虑到自然顺序,封顶集合中的文档不会移动,没有填充,也不会增大大小(事实上,文档可能增大的操作将失败),因此不会出现碎片


对于具有TTL索引的集合,没有问题。事实上,这类集合中可能会出现更多碎片。

因此,对于使用TTL索引的集合,压缩仍然是必要的,对吗?是的,事实上,如果经常插入这些集合,并且文档在一段时间后被删除,则使用TTL索引压缩集合更为紧迫。