# minikv

> A self-hosted, open-source distributed key-value and object store written in Rust that achieves strong consistency through Raft consensus and two-phase commit.

- **Category:** Databases
- **Licence:** MIT
- **Latest version:** v2.0.1
- **Open source:** oss
- **Languages:** Rust
- **Tags:** Distributed, Vector Search, S3 Compatible, Time-Series, Rust, Consensus, Raft, Key value store, Object Store, Two Phase Commit

## Description

minikv is a distributed key-value and object store built in Rust for strong consistency and durability. It uses a Raft consensus group of coordinator nodes to replicate metadata, with volume servers storing the actual data blobs. Writes go through a two-phase commit between the leader coordinator and volume servers, with BLAKE3 checksum verification. Reads are linearizable on any coordinator via ReadIndex. The system provides S3-compatible HTTP REST endpoints, WebSocket/SSE watch streams, time-series and vector similarity APIs, and building blocks for API keys, JWT, RBAC, encryption, and quotas (enforcement planned for v2.1.0). It runs as a cluster of coordinators (ports 5000/5001) and volume servers (ports 6000/6001), deployable via Docker Compose or built from source with cargo. Several administrative functions such as verification, repair, compaction, scaling, backup, restore, and TTL are not yet implemented and return 501 errors.

## Links

- [Homepage](https://github.com/whispem/minikv)
- [GitHub Repository](https://github.com/whispem/minikv)

---
Source: https://selfhost.directory/project/minikv