hn.today

ExplainDB: A Database System Built for Understandability

github.com15 points0 comments
Screenshot of ExplainDB: A Database System Built for Understandability

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.

Read on github.com0 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Other

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.