最近的文章

RocksDB 学习笔记 Day 017:Column Family
·8468 字·17 分钟
从 ColumnFamilyHandle、ColumnFamilyData、ColumnFamilySet 和读写路径入手,解释 RocksDB 如何在一个 DB 内维护多套逻辑 LSM 状态,以及哪些资源按 Column Family 隔离、哪些资源仍由 DB 共享。

RocksDB 学习笔记 Day 016:Block Cache / Bloom Filter / Prefix Bloom / Partitioned Index
·19737 字·40 分钟
沿着 RocksDB BlockBasedTable 读路径,解释 Block Cache、Bloom Filter、Prefix Bloom、Partitioned Index/Filter 如何减少读放大,并从构建端和读取端源码串起 filter、index、data block 与缓存的关系。

RocksDB 学习笔记 Day 015:CompactionIterator Revisit
回看 RocksDB CompactionIterator 如何消费 internal key 流,并结合 snapshot、delete tombstone、single delete、merge、range tombstone 与 CompactionJob 输出链路决定新 SST 中最终保留什么。

RocksDB 学习笔记 Day 014:Compaction 策略与 Write Stall
·16356 字·33 分钟
对比 RocksDB 的 Level、Universal、FIFO 三种 compaction style,解释 tiering compaction 的含义,并从 ColumnFamilyData、WriteController、DBImpl 写路径和 RateLimiter 看 write stall 如何减速、停止和保护后台整理。

RocksDB 学习笔记 Day 013:Compaction 基础机制与主流程
从 VersionStorageInfo 的 compaction score、ColumnFamilyData 的 picker、DBImpl 的后台调度、CompactionJob 的输出 SST 构建、以及 VersionEdit/LogAndApply 的提交链路出发,建立 RocksDB compaction 的基础机制与主流程。


