Software · Team project
The Not-so-Simple DBMS.
A database project that grew from a minimal engine into a system with more efficient indexing, larger documents, and replicated storage.
Try a small example
A collection of projects.
3 records
| Name | Category | Actions |
|---|---|---|
| Microreactor | Engineering | — |
| Book club | Community | — |
| Ultrasound | Research | — |
Add a record, change it, or remove it.
This small example runs in your browser and resets on reload. It illustrates record operations; the original database engine and replication system are described below.
The project
What happens behind a simple table?
A small table is straightforward to use. The interesting problems emerge underneath it: how to find a record efficiently, store something larger than a disk block, reclaim unused space, or keep copies consistent across servers.
Our team built on a minimal database system over two semesters. The report covers B-tree indexing improvements, binary data, document references, large documents, compaction, and replication.
Replication
Keeping several copies consistent.
The replication component uses Raft. In the intended design, a leader coordinates updates across a cluster, while the other servers maintain copies of the data. Elections allow the cluster to choose a leader, and replicated logs help nodes agree on changes.
A write therefore involves more than changing one table: the servers need to agree on the sequence of updates, including when a server becomes unavailable.
Project context
A team effort.
Completed with Muzaffer Cesur, Tristan Hilven, Willem Nuyens, Tibo Theys, Ward Van Laer, Yana Van Lommel, and Casper Vanwalleghem for P&O Computer Science at KU Leuven.
Source: our May 2025 “SimpleDBMS Report”. The system’s 1 TB capacity was a design target; full-scale testing with all extensions was noted as future work.
