docs: ridiculous chapters... unlikely to finish

Signed-off-by: Alex Chi <iskyzh@gmail.com>
This commit is contained in:
Alex Chi
2024-01-10 19:27:27 +08:00
parent a0aa06168f
commit 00ca505d95
7 changed files with 45 additions and 24 deletions

View File

@@ -27,24 +27,32 @@ We are working on a new version of the mini-lsm tutorial that is split into 3 we
* 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...)
| Week + Chapter | Topic | Solution | Starter Code | Writeup |
| ---- | ------------------ | --------------- | ----------------- | --------- |
| 1.1 | Block Format | ✅ | ✅ | ✅ |
| 1.2 | Table Format | ✅ | ✅ | ✅ | |
| 1.3 | Memtables | ✅ | ✅ | ✅ | |
| 1.4 | Merge Iterators | ✅ | ✅ | ✅ |
| 1.5 | Storage Engine - Read Path | ✅ | ✅ | ✅ |
| 1.6 | Storage Engine - Write Path | ✅ | ✅ | ✅ |
| 2.1 | Compaction Framework | ✅ | 🚧 | 🚧 |
| 2.2 | Compaction Strategy | 🚧 | | |
| 2.3 | Manifest | | | |
| 2.4 | Write-Ahead Log | | | |
| 2.5 | Bloom Filter and Key Compression | | | |
| 2.6 | Benchmarking | | | |
| 3.1 | Timestamp Encoding + Prefix Bloom Filter | | | |
| 3.2 | Snapshot Read | | | |
| 3.3 | Watermark and Garbage Collection | | | |
| 3.4 | Transactions | | | |
| 3.5 | Serializable Snapshot Isolation | | | |
| 3.6 | What's Next... | | | |
| Week + Chapter | Topic | Solution | Starter Code | Writeup |
| -------------- | ---------------------------------------- | -------- | ------------ | ------- |
| 1.1 | Block Format | ✅ | ✅ | ✅ |
| 1.2 | Table Format | ✅ | ✅ | ✅ |
| 1.3 | Memtables | ✅ | ✅ | ✅ |
| 1.4 | Merge Iterators | ✅ | ✅ | ✅ |
| 1.5 | Storage Engine - Read Path | ✅ | ✅ | ✅ |
| 1.6 | Storage Engine - Write Path | ✅ | ✅ | ✅ |
| 2.1 | Compaction Framework | ✅ | 🚧 | 🚧 |
| 2.2 | Compaction Strategy | 🚧 | | |
| 2.3 | Manifest | | | |
| 2.4 | Write-Ahead Log | | | |
| 2.5 | Bloom Filter and Key Compression | | | |
| 2.6 | Benchmarking | | | |
| 3.1 | Timestamp Encoding + Prefix Bloom Filter | | | |
| 3.2 | Snapshot Read | | | |
| 3.3 | Watermark and Garbage Collection | | | |
| 3.4 | Transactions | | | |
| 3.5 | Serializable Snapshot Isolation | | | |
| 3.6 | What's Next... | | | |
| 4.1 | Block Compression | | | |
| 4.2 | Rate Limiter and I/O Optimizations | | | |
| 4.3 | Build Your Own Block Cache | | | |
| 4.4 | Async Engine | | | |
| 4.5 | Key-Value Separation | | | |
| 4.6 | Column Families | | | |
| 4.7 | SQL over Mini-LSM | | | |

View File

@@ -0,0 +1 @@
# I/O Optimization

View File

@@ -0,0 +1 @@
# Block Compression

View File

@@ -0,0 +1 @@
# Async Engine

View File

@@ -0,0 +1 @@
# Serializable Snapshot Isolation

View File

@@ -0,0 +1 @@
# SQL over Mini LSM

View File

@@ -5,25 +5,33 @@
---
# Week 1 -- Storage Format
# Week 1: Storage Format
- [Blocks](./01-block.md)
- [Sorted String Table (SST)](./02-sst.md)
- [Merge Iterators](./03-memtable.md)
- [Storage Engine](./04-engine.md)
# Week 2 -- Compaction and Persistence
# Week 2: Compaction and Persistence
- [Compaction Task](./05-compaction.md)
- [Compaction Strategy](./06-compaction-strategy.md)
- [Write-Ahead Log (WAL)](./07-recovery.md)
- [Write-Ahead Log (WAL) and Manifest](./07-recovery.md)
- [Bloom Filter](./08-bloom-filter.md)
- [Key Compression](./09-key-compression.md)
# Week 3 -- Multi-Version Concurrency Control
# Week 3: MVCC
- [Encode the Timestamp](./10-ts.md)
- [Prefix Bloom Filter](./11-prefix-bloom-filter.md)
- [Read with Timestamp](./12-mvcc-read.md)
- [Snapshots and Watermark](./13-watermark.md)
- [Garbage Collection](./14-garbage-collection.md)
# The Rest of Your Life
- [I/O Optimization](./15-io-optimization.md)
- [Block Compression](./16-compression.md)
- [Async Engine](./17-async.md)
- [Serializable Snapshot Isolation](./18-serializable.md)
- [SQL over Mini LSM](./19-sql.md)