Storage Engines & Indexing

Storage engines decide how data is laid out on disk and found again. These lessons build B-trees, LSM trees, write-ahead logs, compaction and secondary indexes from first principles.

38 lessons across 15 courses

Start free

Storage Engines & Indexing lessons by course

Hands-On Distributed Systems Engineering in Go

View course →
  1. Day 30: Module Project: The “TurboShard” Index
  2. Day 54: Raft Log Compaction and Snapshots
  3. Day 61: The Write-Ahead Log (WAL) Internals
  4. Day 62: Log-Structured Merge (LSM) Trees
  5. Day 63: Memtables and SSTables
  6. Day 64: Bloom Filters for Faster SSTable Reads
  7. Day 65: Compaction Strategies: Size-Tiered vs. Leveled
  8. Day 71: Sparse Indexes for SSTables

The Relic Browser: A Production-Honest DSA Course

View course →
  1. Day 4: Corrupt the Index File with Random Bit Flips — and Recover State using CRC32 Checksums
  2. Day 7: Merge the Search Index with the Graph Ranker — and Profile Stack Overflows under Concurrent Query Load
  3. Day 8: Crash the Graph Engine Mid-Update — and Restore Consistency with a Write-Ahead Journal
  4. Day 9: The Tension: If your application crashes or the power cuts out while you are updating your search index or graph structure, you will be left with a partially written, corrupted file. To guarantee durability, you must write changes to a append-only log before modifying the main database files.
  5. Day 10: The Hands-on Task: Implement a Write-Ahead Journal (WAJ) for your graph update operations. Before modifying the adjacency list on disk, write the intended changes to an append-only journal file and call fsync. Write a test that forcibly terminates your process mid-transaction, restarts it, parses the journal, and rolls back or completes the interrupted transaction to restore 100% consistency.

Distributed Key Value Store : DurableKV

View course →
  1. Day 3: Persist Data to Disk with a Write-Ahead Log — and Corrupt ItFREE
  2. Day 8: Replicate Writes Asynchronously to Multiple Nodes with a WAL Stream — and Accept Divergence
  3. Day 12: Replicate the Write-Ahead Log to a Second Node — and Watch It Fall Behind
  4. Day 23: Implement Snapshotting and Compacting the Write-Ahead Log — and Limit Disk Usage and Recovery Time

Building a Geospatial Data Warehouse with PostgreSQL & PostGIS

View course →
  1. Day 13: Forcing the Planner: Diagnosing ignored indexes.
  2. Day 16: BRIN (Block Range Index) for massive append-only logs
  3. Day 17: PostgreSQL 17 Parallel Index Creation.
  4. Day 18: Index Bloat: Why high-churn tables degrade performance

Mastering Core Java & JVM Mechanics and Systems Engineering: Building AstraKV

View course →
  1. Day 16: Build a Concurrent Write-Ahead Log Using Virtual Threads and ExecutorServices
  2. Day 18: Integrate the Concurrent Write-Ahead Log with the In-Memory Index

SQL & Relational Databases for Beginners: Building a Resilient Retail Catalog

View course →
  1. Day 4: Break a Query with a Missing Index & Delete Data Accidentally — Then Recover from a Bad DELETE with a Transaction Rollback.
  2. Day 7: Crash the Database Mid-Transaction & Witness Write-Ahead Log Recovery — Then Restore from a Full Backup.

Testing & TDD: Building Resilient Distributed Systems

View course →
  1. Day 2: Persist the Key-Value Store with a Write-Ahead Log — and Fake the DiskFREE
  2. Day 5: Replicate the Write-Ahead Log to a Second Node — and Watch It Fall Behind

Advanced Java for Banking and Ledger Systems

View course →
  1. Day 28: Write Ahead Logging WAL
  2. Day 75: Shenandoah Concurrent Compaction

Hands On Kafka Course

View course →
  1. Lesson 6 : Schema Evolution, Serialization & Log Compaction

MLOps Engineering – From Training to Automated Production

View course →
  1. Day 53: The Population Stability Index (PSI) Deep Dive: Implementation and Interpretation

Hands-On Distributed Systems Engineering in Java

View course →
  1. Day 40: Database Performance Modeling – B-Trees and Disk I/O

Designing and Building a High-Scale PHP Content Management System

View course →
  1. Day 24 : Index Optimization: Implementing GIN and expression indexes.

C++ Real-Time Rendering – From Fundamentals to Production Engines

View course →
  1. Day 10: Index Buffers and Reuse

MongoDB 8: From Basics to Scalable Architecture

View course →
  1. Day 8: Configuring Clustered Index Persistence.

System Design with Data Structures & Algorithms

View course →
  1. Day 4 : CRUD operations for problem management with efficient indexing.

Related topics