JC01111 / Database-Management-System

Database Management System including indices, Joins and Query Optimization, Concurrency, and Recovery

Repository from Github https://github.comJC01111/Database-Management-SystemRepository from Github https://github.comJC01111/Database-Management-System

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.

About

Database Management System including indices, Joins and Query Optimization, Concurrency, and Recovery


Languages

Language:Java 99.6%Language:Python 0.3%Language:Shell 0.0%