diff --git a/README.md b/README.md index 0ea5d97..bc09a1c 100644 --- a/README.md +++ b/README.md @@ -48,54 +48,6 @@ And we have a compaction simulator to experiment with your compaction algorithm cargo run --bin compaction-simulator-ref ``` -## Progress - -We are working on a new version of the mini-lsm tutorial that is split into 3 weeks. - -* Week 1: Storage Format + Engine Skeleton -* Week 2: Compaction and Persistence -* Week 3: Multi-Version Concurrency Control -* The Extra Week / Rest of Your Life: Optimizations (unlikely to be available in 2024...) - -✅: finished \ -🚧: WIP and will likely be available soon - -| Week + Chapter | Topic | Solution | Starter Code | Writeup | -| -------------- | ----------------------------------------------- | -------- | ------------ | ------- | -| 1.1 | Memtables | ✅ | ✅ | ✅ | -| 1.2 | Merge Iterators | ✅ | ✅ | ✅ | -| 1.3 | Block Format | ✅ | ✅ | ✅ | -| 1.4 | Table Format | ✅ | ✅ | ✅ | -| 1.5 | Storage Engine - Read Path | ✅ | ✅ | ✅ | -| 1.6 | Storage Engine - Write Path | ✅ | ✅ | ✅ | -| 1.7 | Bloom Filter and Key Compression | ✅ | ✅ | ✅ | -| 2.1 | Compaction Implementation | ✅ | ✅ | ✅ | -| 2.2 | Compaction Strategy - Simple | ✅ | ✅ | ✅ | -| 2.3 | Compaction Strategy - Tiered | ✅ | ✅ | ✅ | -| 2.4 | Compaction Strategy - Leveled | ✅ | ✅ | ✅ | -| 2.5 | Manifest | ✅ | ✅ | ✅ | -| 2.6 | Write-Ahead Log | ✅ | ✅ | ✅ | -| 2.7 | Batch Write + Checksum | | | | -| 3.1 | Timestamp Key Encoding + New Block Format | | | | -| 3.2 | Prefix Bloom Filter | | | | -| 3.3 | Snapshot Read | | | | -| 3.4 | Watermark and Garbage Collection | | | | -| 3.5 | Transactions and Optimistic Concurrency Control | | | | -| 3.6 | Serializable Snapshot Isolation | | | | -| 3.7 | TTL (Time-to-Live) Entries | | | | -| 4.1 | Benchmarking | | | | -| 4.2 | Block Compression | | | | -| 4.3 | Trivial Move and Parallel Compaction | | | | -| 4.4 | Alternative Block Encodings | | | | -| 4.5 | Rate Limiter and I/O Optimizations | | | | -| 4.6 | Build Your Own Block Cache | | | | -| 4.7 | Build Your Own SkipList | | | | -| 4.8 | Async Engine | | | | -| 4.9 | Key-Value Separation | | | | -| 4.10 | Column Families | | | | -| 4.11 | Sharding | | | | -| 4.12 | SQL over Mini-LSM | | | | - ## License The Mini-LSM starter code and solution are under Apache 2.0 license. The author reserves the full copyright of the tutorial materials (markdown files and figures). diff --git a/mini-lsm-book/src/week4-overview.md b/mini-lsm-book/src/week4-overview.md index b230401..e4e4eaf 100644 --- a/mini-lsm-book/src/week4-overview.md +++ b/mini-lsm-book/src/week4-overview.md @@ -12,7 +12,8 @@ This is an advanced part that deep dives into optimizations and applications of | 4.6 | Build Your Own Block Cache | | | | | 4.7 | Build Your Own SkipList | | | | | 4.8 | Async Engine | | | | -| 4.9 | Key-Value Separation | | | | -| 4.10 | Column Families | | | | -| 4.11 | Sharding | | | | -| 4.12 | SQL over Mini-LSM | | | | +| 4.9 | IO-uring-based I/O engine | | | | +| 4.10 | Key-Value Separation | | | | +| 4.11 | Column Families | | | | +| 4.12 | Sharding | | | | +| 4.13 | SQL over Mini-LSM | | | |