EduDB is an educational open source Java based database management system. The project was started back in 2010 as a series of small assignments given to students in an undergraduate advanced database course. While MySQL and PostgreSQL are open source and often used in assignments, their shear size (e.g. MySQL is 1.5Mn LOCs) overwhelms students and is a barrier for learning. To overcome this problem, lecturers often create assignments built on modifying just a handful of modules which in turn limits the student learning experience.

The goal of EduDB is to provide an educational tool which students can use to learn how a sophisticated database engine is built and how it works. EduDB is designed from the ground up to enable learning, experimentation and exploration of database engines. Lecturers are welcome to assign EduDB tasks as assignments to their students. Have fun!

Wael Aboulsaadat.


EduDB is not limited to relational centralized database management systems. The project aims to be a platform for learning technologies used to store, manipulate and query data - be it relational, multidimensional, or NoSQL. In addition, the project will include support for distributed databases.
Being educational in nature, EduDB will feature special tools that aid learning and understanding of database engines.


EduDB is made available under the OSI-approved MIT license. Click here for the license text.

Latest Version