/kvrs

Primary LanguageRust

kvrs

Features

  • Persistent Key Value Store based on Bitcask Architecture
  • Basic Size-tiered Compaction
  • Server and CLI Client
  • Server with threadpool using Custom Thread Pool and Rayon
  • Raft Integration (using openraft) + Actix-web server
  • Benchmarks with Sled Engine (PS: Sled absolutely blows the custom KVstore out of the water)
  • Integrate with raft-rs instead of openraft (openraft seems to be breaking at high load, might not be using it correctly)
  • Benchmarks for Raft Integration using locust

Future Scope

  • Enhance docs with benchmarks and steps to run
  • Implement Lock-free KV Store
  • Bring in Async Rust
  • Multi-raft Support

Testing Raft

Follow the steps here - https://github.com/datafuselabs/openraft/tree/main/examples/raft-kv-memstore