Educational Database Prototype: the Simplest of All
Yi Lyu, Yiyin Shen, Takashi Matsuzawa
TL;DR
EduDB addresses the gap in undergraduate DBMS education by providing a minimal, executable prototype that exposes core DB internals with a clean interface. It emphasizes constructivist, project-based learning and offers an integrative platform for student-implemented optimizations, excluding full optimizers, recovery, and indexing to stay approachable. The architecture is decomposed into Parser, Query Executor, Buffer/File/Concurrency/Transaction Managers, plus a simple join operation, enabling hands-on exploration of serializable execution. A benchmark-driven leaderboard and a join-project workflow provide a practical path from implementation to evaluation, making EduDB a usable scaffold for CS564 and similar courses.
Abstract
Database Management System (DBMS) is designed to help store and process large collections of data, and is incredibly flexible to perform various kinds of optimizations as long as it achieves serializability with a high-level interface available. The current undergraduate level DBMS course in UW-Madison (i.e., CS564) involves implementing specific modules of DB architecture, including B+ tree, but students may end up spending numerous amounts of effort on corner cases and not gaining a more comprehensive understanding of the internal design. Thus, we present EduDB, a simple database prototype for educational purposes that provides students a clean, concise, and comprehensive overview of the database system. We also attempt to develop an integrative series of course projects based on EduDB, which offers a platform for students to perform any optimization learned during the semester.
