Skip to content

Latest commit

 

History

History
40 lines (24 loc) · 1.52 KB

File metadata and controls

40 lines (24 loc) · 1.52 KB

Database Management System

This repo contains a bare-bones database implementation, which supports executing simple transactions in series. It contains support for B+ tree indices, efficient join algorithms, query optimization, multigranularity locking to support concurrent execution of transactions, and database recovery.

Overview

This database management system project contains four major topics:

In this project, I implemented B+ tree indices.


In this project, I implemented some join algorithms: block nested loop join, sort merge, and grace hash join. Also, a piece of a relational query optimizer: Plan space search.


In this project, I implemented the bottom layer (LockManager) and lock types, the middle and top layer (LockContext and LockUtil) of multigranuarlarity locking.


In this project, I implemented write-ahead logging and support for savepoints, rollbacks, and ACID compliant restart recovery.

Configuration and files explanation

Look at here for configuration and files explanation.