Skip to content

jiangwel/bustub

Repository files navigation

Based on C++ Support for a Basic SQL Database Kernel Implementation

Project Description:

This project is an open project from CMU15445. The goal is to develop a database kernel supporting basic SQL using C++. It is divided into four labs and requires passing 96 test cases.

Project Contributions:

  • Implemented Buffer Pool Management:
    • Implemented the LRU-K algorithm as the page replacement strategy for the Buffer Pool.
  • Implemented B+ tree Index:
    • Used the crabbing protocol to achieve concurrent operations on the B+ tree.
  • Implemented a Volcano model-based query executor with TopN optimization:
    • Aggregation executor, Nested loop join executor, Nested index join executor, Sort executor.
  • Implemented a Lock Manager based on two-phase locking:
    • Supported three isolation levels: RR, RC, RU.
    • Supported five lock types at both table and row granularities.
    • Implemented deadlock detection and handling.

Result

lab1(100/100) lab2(95/100) lab3(100/100) lab4(100/100)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published