A teaching-oriented, open-source database system and accompanying set of Jupyter notebooks designed around understandability rather than raw performance. It packages a didactic DBMS implemented in Python (system/), lecture materials (Database Systems 2024/25), and interactive notebooks grouped by topic that can be launched via Binder. Environment management uses uv to provision Python 3.12 and dependencies; instructions show cloning, uv sync, and running Jupyter, and unit tests run via unittest. Licensed under AGPL-3.0, the project lists several academic contributors led by Jens Dittrich and credits an AI coding assistant, Claude, as a co-author on commits.
The codebase exposes concrete implementations and visualizations of core DB concepts: a storage hierarchy with DRAM/cache/SSD/disk and RAID assignment plus a reliability/performance cost model; indexes including a B+‑tree, bitmap indexes with WAH compression, Bloom filters, radix tries and a buffered “Christmas tree,” and a Recursive-Model-Index (learned index); bit-sequence utilities; a versioned key-value store with MVCC and journaling; query-processing operators (scan, filter, hash join, semi-join, count), external merge sort and queues, and query-optimization modules (join-graph types, cardinality estimation, C_out cost, and DP-based plan enumeration like DPsize/DPsub/DPccp). Tests and API documentation are provided to support exploration and teaching.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.