Skip to content

Implementation of Bitcask, a high-performance key-value store, in C++ for efficient data storage and retrieval

Notifications You must be signed in to change notification settings

helios2003/FastCask-DB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastCask-DB

FastCask-DB is a naive implementation of Bitcask paper in pure C++.

Getting Started

  • Clone the repository using the following command
git clone https://github.com/helios2003/FastCask-DB.git
  • Change directory into the cloned folder and insert the following commands
 ./run.sh
  • You will enter the terminal for FastCask DB where you can type the commands
  • Press Ctrl + C for a forceful closure or type EXIT for a graceful closure.
  • Run make clean to remove the object files created.

Performance testing

  • The performance has been measured using Catch2. Follow the installation steps as given here.
  • After downloading and configuring Catch2 write the following command
cd benchmark
./test.sh

List of Commands Implemented

  • SET <key> <value> <expiry_time: optional>: Sets the key and corresponding value with an optional expiry time.
  • GET <key>: Gets the value associated with the key.
  • DELETE <key>: Deletes the key and the associated values
  • LIST: Lists all the keys.
  • SYNC: Restores the database if there was a forceful exit done earlier (i.e. will not work if you exited from the DB shell using the EXIT command).
  • EXIT: Graceful closure deleting all the data stored in memory and on the disk.

About

Implementation of Bitcask, a high-performance key-value store, in C++ for efficient data storage and retrieval

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages