TinyKV 阅读清单:存储、Raft、分片和事务

来源:本地 doc/reading_list.md。这份清单来自 TinyKV 项目,我按 Lab 学习顺序补了一层中文导读。

TinyKV 阅读清单按系统层次排列
阅读材料可以按系统层次放回去:本地存储、复制一致性、分片调度、事务、测试。

这份阅读清单不适合从第一条一直啃到最后一条。更好的办法是跟着 Lab 走:Lab1 读存储引擎,Lab2 读 Raft 和一致性,Lab3 读分片和调度,Lab4 再读事务。遇到面试追问,再往对应主题里补论文或博客。

我会怎么读

阶段 先看什么 用来解释什么
Lab1 前后 Disk I/O、LSM、Badger/WiscKey Badger 为什么适合做底层 KV,引擎层有哪些读写放大
Lab2 前后 Quorum、Raft、复制一致性 选主、日志复制、commit、snapshot 的系统背景
Lab3 前后 Range sharding、Multi-Raft、split/balance Region 为什么按 range 切,Scheduler 为什么需要 heartbeat
Lab4 前后 ACID、Isolation、Percolator MVCC、2PC、锁清理、事务恢复
全程 Benchmark、Chaos、linearizability 怎么证明系统不只是能跑,还能在故障下保持语义

原始清单