NeyDB is a distributed Key-Value Store that was inspired by Cassandra's architecture. I decided to build this project in order to solidifiy my understanding of Distributed Systems by building an actual project.
Not very sure why I wanna build this but
- Optimized for Writes
- DataTypes
- Data Access Mechanism
This application persists data in the File System.
This application stores data in multiple nodes.
This application is fault tolerant and the failure of one Node doesn't affect the others.
You can interact with NeyDB via the following interfaces
Allows you to insert items into the database.
Allows you to read items from the database.
File System is used to store data.
Communication is enabled via a REST interface.
gRPC to be added in the near future.
This application's Architecture is publicly available at.
Disk Storage
Hash Tables
- Rust
- REST
- MacOS
- Linux
Have Rust installed.
I wouldn't have been able to build this application without these amazing resources.
- Some Notes on Distributed Key Stores
- Implementing a Key-Value Store
- The Rust Book
- Key Value Stores: A Practical Overview
- Siddon Tang - TiKV - building a distributed key-value store with Rust
- Rust at speed — building a fast concurrent database
- The NoSQL Ecosystem
- Building a Distributed Fault-Tolerant Key-Value Store
- Design a Key-Value Store (Part I)
- An Approach to Designing a Distributed, Fault-Tolerant, Horizontally Scalable Event Scheduler
For contributions, please checkout the contributions.md
file for guides and code of conduct.