Database systems

RookieDB

RookieDB
RookieDB

Summary

RookieDB is a database implementation that supports simple transactions in series.

Features that I added include:

  • Data structure for B+ Tree indices
  • Support for scans and bulk loading
  • Common join algorithms (nested loop, hash, external sort, sort merge)
  • A version of the Selinger optimizer (plan space search) based on System R
  • Lock types and queuing system for locks
  • Write-ahead logging, savepoints, rollbacks, ACID-compliant restart recovery