droid
Interactive Database Internals Curriculum

Don't Just Query.
Build the Engine.

A deep technical journey where you construct a full relational SQL storage engine from zero. Master lexical parsing, B-tree disk structures, buffer pools, WAL recovery, and query planners.

Implement in:
CC++RustZig
The Workflow

How the Curriculum Works

A battle-tested methodology inspired by industrial software systems.

01

Understand the Architecture

Each stage breaks down complex systems into clear conceptual diagrams and straightforward checklists.

02

Write the Systems Code

Write true bare-metal algorithms in C, C++, Rust, or Zig. You allocate memory, handle binary file offsets, and build data representations directly.

03

Pass Automated Contracts

Run our comprehensive integration test harness against your binary to verify byte-exact storage output and SQL correctness.

System Internals

What You Will Implement

Every layer of a production database, constructed piece by piece.

Custom Lexer & Parser

Write a character scanner and recursive descent AST builder from scratch without Yacc/Bison.

B-Tree Page Allocation

Master 4KB binary disk pages, byte serialization, cell offsets, and B-Tree node splits.

WAL & Crash Durability

Implement write-ahead logging and recovery algorithms to survive abrupt power losses.

Volcano Query Executor

Build a pull-based iterative relational operator pipeline for SeqScan, IndexScan, and Joins.

MVCC & Transactions

Handle multi-version concurrency control, transaction isolation, lock managers, and deadlocks.

Contract-Driven Tests

Validate your custom binary against comprehensive, language-agnostic integration test suites.

Roadmap & Progress

The Complete Curriculum

6 progressive stages from simple command loop to full concurrent DBMS.

Save Your Progress

Create a Free Account

Record completed stages, track test executions, and save your workspace across machines.