Skip to content

Shivanii30/snapdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SnapDB

A lightweight persistent key-value store written in C++. Built as a systems programming project to explore storage engines and durability mechanisms.

Features

  • Key-value operations: PUT, GET, DELETE
  • Write-Ahead Logging (WAL) for durability
  • Crash recovery via WAL replay
  • B+ Tree based in-memory indexing
  • Batch operations support
  • WAL compaction
  • CLI interface
  • Benchmark tool for performance testing

Implementation

  • WAL logs every write before applying changes
  • _commit (Windows) used to ensure data is flushed to disk
  • In-memory index (B+ Tree) used for fast lookups
  • On startup, WAL is replayed to restore state
  • Batch operations reduce disk flush overhead

Build & Run

mkdir build
cd build
cmake ..
cmake --build . OR ninja

About

Lightweight persistent key-value store written in cpp.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors