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)