【发布时间】:2014-01-15 15:22:50
【问题描述】:
我们有一个使用 mongodb 处理的繁重的工作流程。而且我们经常删除大部分数据。因为 mongodb 不会真正删除数据,除非您调用 compact 操作我们有时会遇到磁盘内存问题。
所以我的问题如下 - 如果我将使用 TTL 索引或上限集合 - 我仍然需要调用“紧凑”操作来真正清理空间,或者它会自动处理这个?
【问题讨论】:
标签: mongodb performance database nosql
我们有一个使用 mongodb 处理的繁重的工作流程。而且我们经常删除大部分数据。因为 mongodb 不会真正删除数据,除非您调用 compact 操作我们有时会遇到磁盘内存问题。
所以我的问题如下 - 如果我将使用 TTL 索引或上限集合 - 我仍然需要调用“紧凑”操作来真正清理空间,或者它会自动处理这个?
【问题讨论】:
标签: mongodb performance database nosql
对于有上限的集合,紧凑是没有意义的,因为集合是固定大小的。还要考虑到自然顺序,封顶集合中的文档不会移动,没有填充并且不能增大大小(实际上,文档可能会增长的此类操作会失败),因此没有碎片。
对于带有 TTL 索引的集合,没问题。事实上,这样的集合中会出现更多的碎片。
【讨论】: