1. Preface
  2. Mini-LSM Overview
  3. Environment Setup
  4. Week 1 Overview: Mini-LSM
    1. Memtable
    2. Merge Iterator
    3. Block
    4. Sorted String Table (SST)
    5. Read Path
    6. Write Path
    7. Snack Time: SST Optimizations
  5. Week 2 Overview: Compaction + Persistence
    1. Compaction Implementation
    2. Simple Compaction Strategy
    3. Tiered Compaction Strategy
    4. Leveled Compaction Strategy
    5. Manifest
    6. Write-Ahead Log (WAL)
    7. Snack Time: Batch Write and Checksums
  6. Week 3 Overview: MVCC
    1. Timestamp Encoding + Refactor
    2. Snapshots - Memtables and Timestamps
    3. Snapshots - Transaction API
    4. Watermark and GC
    5. Transaction and OCC
    6. Serializable Snapshot Isolation
    7. Snack Time: Compaction Filters
  7. The Rest of Your Life (TBD)
  8. DEPRECATED Mini-LSM v1
  9. Overview
    1. Store key-value pairs in little blocks
    2. And make them into an SST
    3. Now it's time to merge everything
    4. The engine is on fire
    5. Let's do something in the background
    6. Be careful when the system crashes
    7. A good bloom filter makes life easier
    8. Save some space, hopefully
    9. What's next