Mahdi Rizk

EECS 281, Data Structures and Algorithms

SillyQL Relational Database Engine

An in-memory relational database engine in C++ that runs a small SQL-like command language, with a top 10 runtime out of 1000+ submissions.

WhenWinter 2025
TypeCoursework
CourseEECS 281

What I built

  • Built an in-memory relational database engine in C++ with support for CREATE, INSERT, DELETE, PRINT, JOIN, and INDEX commands across typed columns (int, double, bool, string).
  • Used dual indexing with hash maps and BSTs, cutting conditional query time from O(n) scans to O(1) and O(log n) lookups.
  • Ranked in the top 10 for runtime among 1000+ submissions, thanks to the hashing and lookup work.
  • Handled JOIN operations with insertion-order stability and index-aware search to produce deterministic output.
  • Passed Valgrind leak checks and stress tests with zero memory violations under -O3 optimization.