- 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 - - - LSM-Tree - Reading Materials - Database Internals: 7. Log-Structured Storage - Reference - - - - B-Tree vs LSM-tree - - LSM-Tree Evolution - Wisckey - - HashKV (Optional) - - Monkey (Optional) - - Reference - - - Serializing & RPC - Protocol Buffer - Reading Materials - - Reference - - - 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 - - Consensus - Quorum - - Paxos (Optional) - Reading Materials - Database Internals: 14. Consensus @ Paxos - Reference - - Raft - Reading Materials - Database Internals: 14. Consensus @ Raft - Reference - - - Scale & Balance - Multi-Raft - - Split & Merge - - Balance - - Distributed Transactions - Reading Materials - Database Internals: 5. Transaction Processing and Recovery - Database Internals: 13. Distributed Transactions - ACID - - Isolation (Optional) - - (Chinese) - Spanner (Optional) - - (Chinese) - Percolator - - - Coprocessor (Optional) - - (Chinese) - Benchmark & Testing - sysbench (Optional) - - - (Chinese) - go-tpc (Optional) - - go-ycsb - - - (Chinese) - Chaos - - -