TinyKV 阅读清单:存储、Raft、分片和事务
来源:本地
doc/reading_list.md。这份清单来自 TinyKV 项目,我按 Lab 学习顺序补了一层中文导读。
这份阅读清单不适合从第一条一直啃到最后一条。更好的办法是跟着 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 | 怎么证明系统不只是能跑,还能在故障下保持语义 |
原始清单
- Storage Engine
- Disk I/O
- Flavors of I/O
- Amplification and RUM
- B-Tree (Optional)
- Reading Materials
- Database Internals: 2. B-Tree Basics
- Database Internals: 3. File Formats
- Database Internals: 4. Implementing B-Trees
- Reference
- Reading Materials
- LSM-Tree
- Reading Materials
- Database Internals: 7. Log-Structured Storage
- Reference
- B-Tree vs LSM-tree
- Reading Materials
- LSM-Tree Evolution
- Wisckey
- HashKV (Optional)
- Monkey (Optional)
- Reference
- Disk I/O
- Serializing & RPC
- Protocol Buffer
- gRPC
- Reading Materials
- Reference
- Data Partitioning
- Range vs Hash
- Partitioning of DynamoDB (Optional)
- Partitioning of TiKV
- Replication & Consistency
- Reading Materials
- Database Internals: 11. Replication and Consistency
- CAP vs PACELE
- Clock and Time
- Consistency
- Reading Materials
- Consensus
- Quorum
- Paxos (Optional)
- Reading Materials
- Database Internals: 14. Consensus @ Paxos
- Reference
- Reading Materials
- Raft
- Reading Materials
- Database Internals: 14. Consensus @ Raft
- Reference
- Reading Materials
- Scale & Balance
- Distributed Transactions
- Reading Materials
- Database Internals: 5. Transaction Processing and Recovery
- Database Internals: 13. Distributed Transactions
- ACID
- Isolation (Optional)
- Spanner (Optional)
- Percolator
- Reading Materials
- Coprocessor (Optional)
- Benchmark & Testing
- sysbench (Optional)
- go-tpc (Optional)
- go-ycsb
- Chaos