【问题标题】:Should capped collection or collection with TTL indexes still be compacted regularly?是否应该定期压缩上限集合或带有 TTL 索引的集合?
【发布时间】:2014-01-15 15:22:50
【问题描述】:

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

所以我的问题如下 - 如果我将使用 TTL 索引或上限集合 - 我仍然需要调用“紧凑”操作来真正清理空间,或者它会自动处理这个?

【问题讨论】:

    标签: mongodb performance database nosql


    【解决方案1】:

    对于有上限的集合,紧凑是没有意义的,因为集合是固定大小的。还要考虑到自然顺序,封顶集合中的文档不会移动,没有填充并且不能增大大小(实际上,文档可能会增长的此类操作会失败),因此没有碎片。

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

    【讨论】:

    • 那么对于带有 TTL 索引压缩的集合来说仍然是必要的,对吧?
    • 是的,事实上,如果经常插入带有 TTL 索引的集合,并且文档会在一段时间后被删除,那么压缩集合会更加紧迫。
    猜你喜欢
    • 1970-01-01
    • 2013-05-29
    • 2013-02-25
    • 2015-04-16
    • 2013-09-04
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 2016-06-22
    相关资源
    最近更新 更多