Learning track · Roadmap

Storage Engines & Data Modeling — Learning Track (Part 3)

B-treesLSMIndexesCompaction

Published

Your map for Part 3 of the series. Part 1 was Distributed Systems; Part 2 was Transactions & Isolation. This part goes one layer down: how a database actually stores bytes on disk and finds them fast, and how to model data.


Where you are now

StatusAll 9 lessons built ✅ — read as one comprehensive page + deep-dive supplements
Read itbook-3-storage-engines-fundamentals.epub (send to Kindle) · or storage-engines-fundamentals.md
How to work itRead in order; do each self-check from memory before peeking
Deep divelsm-compaction-deep-dive.epub — a go-deeper supplement to Lessons 3–4 (STCS vs LCS · the RUM trade-off · tombstone resurrection · L0 write stalls)

The 9-lesson path

#LessonThe single winStatus
1How a Database Stores BytesThe log + index, and the read/write tension✅ Built
2B-Trees: The DefaultThe read-optimized workhorse✅ Built
3LSM-Trees: Write-OptimizedMemtable, SSTables, compaction✅ Built
4B-Tree vs LSMThe amplification trade-off✅ Built
5Indexes: Finding Data FastClustered vs secondary, the write cost✅ Built
6Data ModelsRelational, document, graph✅ Built
7Schema DesignNormalization vs denormalization✅ Built
8Encoding & EvolutionForward/backward compatibility✅ Built
9OLTP vs OLAP & Column StorageRow vs column, by workload✅ Built

How every lesson is built: prose → a structural diagram → a self-check → an expert corner.


Progress checklist

Tick each box as you finish its self-check; tell me where you want to go deeper.


Files in this folder

README.md                                  ← index + roadmap + tracker
storage-engines-fundamentals.md            ← full source (includes the glossary)
book-3-storage-engines-fundamentals.epub          ← lean Kindle build (glossary excluded)
diagrams/
  00-cover.svg / .png                        ← series cover (Part 3)
  01-log-hash-index.svg / .png               ← Lesson 1
  02-btree.svg / .png                        ← Lesson 2
  03-lsm-tree.svg / .png                     ← Lesson 3
  04-amplification.svg / .png                ← Lesson 4
  05-secondary-index.svg / .png              ← Lesson 5
  06-data-models.svg / .png                  ← Lesson 6
  07-normalization.svg / .png                ← Lesson 7
  08-schema-evolution.svg / .png             ← Lesson 8
  09-row-vs-column.svg / .png                ← Lesson 9

Next in the series

Part 4 — Streaming & Event-Driven Architecture (Kafka, the log as source of truth, event sourcing, CQRS, stream processing, exactly-once in streams). Then Applied Systems Design.