Implementing the DBMS Buffer Manager
About
In this project, I implemented a database buffer manager using C++. The in-memory pages and the page-tables were implemented using arrays and the disk accesses were simulated using file I/O’s. I developed various page replacement strategies like Least Recently Used (LRU), Most Recently Used (MRU) and the Clock approach. I also compared the performance of these approaches for JOIN and SELECT queries.
Code
Source code of the project: Github Repository