https://github.com/leonwind/lsm-tree
A proof of concept implementation of a Key Value Store using an LSM-Tree with benchmarks against RocksDB.
https://github.com/leonwind/lsm-tree
key-value-store kv-store lsm-tree red-black-tree
Last synced: 5 months ago
JSON representation
A proof of concept implementation of a Key Value Store using an LSM-Tree with benchmarks against RocksDB.
- Host: GitHub
- URL: https://github.com/leonwind/lsm-tree
- Owner: leonwind
- Created: 2022-03-21T10:31:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-19T19:39:09.000Z (over 3 years ago)
- Last Synced: 2025-03-30T19:22:51.446Z (6 months ago)
- Topics: key-value-store, kv-store, lsm-tree, red-black-tree
- Language: C++
- Homepage:
- Size: 156 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LSM-Tree
Implementation of a simplistic Key-Value Store using a [Log-structured Merge-tree (LSM-Tree)](https://en.wikipedia.org/wiki/Log-structured_merge-tree) as its underlying datastructure with a Red-Black Tree for the Memtable and the Sparse Index of the SSTs.## Usage
```
cd build/
cmake ..
make
./kv_store
```## Benchmarks
The LSM-Tree got benchmarked against [RocksDB](https://github.com/facebook/rocksdb) by Facebook. You can run the benchmarks your self after compiling under `./build/benchmark/run_benchmarks`.
The results are also visualized in [benchmark.ipynb](https://github.com/leonwind/LSM-Tree/blob/main/benchmark/benchmarks.ipynb).