回看 RocksDB CompactionIterator 如何消费 internal key 流,并结合 snapshot、delete tombstone、single delete、merge、range tombstone 与 CompactionJob 输出链路决定新 SST 中最终保留什么。
对比 RocksDB 的 Level、Universal、FIFO 三种 compaction style,解释 tiering compaction 的含义,并从 ColumnFamilyData、WriteController、DBImpl 写路径和 RateLimiter 看 write stall 如何减速、停止和保护后台整理。
从 VersionStorageInfo 的 compaction score、ColumnFamilyData 的 picker、DBImpl 的后台调度、CompactionJob 的输出 SST 构建、以及 VersionEdit/LogAndApply 的提交链路出发,建立 RocksDB compaction 的基础机制与主流程。