Back to Attic
Storage EnginesC++Algorithms

Write a Relational Database System from scratch

Ever wondered how `SELECT * FROM users` actually works? We'll build a relational database engine from the ground up. You'll deal with page-based storage, B+ Tree indexing, a buffer pool manager for caching, and a simple SQL execution engine.

Implementation Roadmap

01Page Layout

Define a fixed-size page structure (e.g., 4KB) for storing tuples and headers.

02Buffer Pool Manager

Implement an LRU cache to manage in-memory pages and disk I/O.

03B+ Tree Index

Build a B+ Tree for efficient range scans and point lookups on your pages.

04SQL Parser

Write a lexer and parser to convert simple SQL queries into an execution plan.

05Query Executor

Implement the iterators (SeqScan, IndexScan) to execute the plan and return rows.

Module Status: Upcoming

The interactive modules for this challenge are currently being finalized.

(Detailed coursework and verification systems are in development)