Skip to content

Commit

Permalink
docs: ridiculous chapters... unlikely to finish
Browse files Browse the repository at this point in the history
Signed-off-by: Alex Chi <[email protected]>
  • Loading branch information
skyzh committed Jan 10, 2024
1 parent a0aa061 commit 00ca505
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 25 deletions.
50 changes: 29 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

| 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... | | | |
* 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... | | | |
| 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 | | | |
1 change: 1 addition & 0 deletions mini-lsm-book-wip/src/15-io-optimization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# I/O Optimization
1 change: 1 addition & 0 deletions mini-lsm-book-wip/src/16-compression.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Block Compression
1 change: 1 addition & 0 deletions mini-lsm-book-wip/src/17-async.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Async Engine
1 change: 1 addition & 0 deletions mini-lsm-book-wip/src/18-serializable.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Serializable Snapshot Isolation
1 change: 1 addition & 0 deletions mini-lsm-book-wip/src/19-sql.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# SQL over Mini LSM
16 changes: 12 additions & 4 deletions mini-lsm-book-wip/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

0 comments on commit 00ca505

Please sign in to comment.