Skip to content

Rachelz1231/Key-Value-Database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Database System

Group Project by Jonathan Lam, Ching Hui, Yuchen Zeng

This project involved the development of a comprehensive database management system that was implemented in stages. Initially, it featured an in-memory data structure (Memtable) using an AVL tree for efficient data management and operations like insertions and queries. This was expanded to include a durable component with Sorted String Tables (SSTs) for data persistence. In subsequent phases, the system incorporated advanced features such as a buffer pool for caching and faster data retrieval, static B-Trees for structured storage, and Bloom filters within an LSM-tree structure to enhance performance by minimizing unnecessary disk accesses. Each stage of development included rigorous testing and performance analysis, ensuring the system's functionality and efficiency in handling large datasets and complex operations like scans, updates, and deletions.

To compile code run: make

To run executable run: make run

To remove executable run: make clean

The unittests for all tests will be located in tests/tests run it by executing ./tests/tests

To make a unittest, create the file in the tests folder and follow the strucutre the other test files have. Then add that file to the main_test.cc file to run all tests.

About

Implemented a key-value database system.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors