rocksdb-doc-cn

这里我们将解释一下子压缩过程,他被用于Leveled和universal风格压缩。

目标

自压缩的目标是通过分片到多个线程,来加速一个压缩任务。

何时?

当下面的条件中的一个成立的时候会发生:

注意:自压缩过程如果没有从目标Level Lo的文件需要合并,就不会启动。参考Compaction::ShouldFormSubcompactions了解更多

如何?

目前一个基于启发式的实现,运行良好。启发式可以再许多方向上进行改善。

选择基于输入文件/层的自然边界 的 边界。

使用Versions::ApproximateSize 来估算每个边界内的数据大小。

合并边界来估计空的和小于平均的范围。

看到这里或许你有建议或者疑问或者指出错误,请留言评论! 多谢! 你的评论非常重要!也可以帮忙点赞收藏转发!多谢支持! 觉得写的不错那就给点吧, 在线乞讨 微信转账