Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. NoKV

NoKV

Apache-2.0Gov0.9.0

A Go-native distributed key-value storage system with LSM tree, MVCC, and Redis compatibility, supporting seamless migration from embedded to multi-Raft cluster.

Visit WebsiteGitHubGitHub
385 stars40 forks0 contributors

What is NoKV?

NoKV is a Go-native distributed key-value storage system built on an LSM tree with a ValueLog for large values. It solves the problem of scalable, durable storage by providing a single substrate that can be embedded locally or expanded into a multi-Raft cluster without changing the data plane. It includes features like MVCC, Redis compatibility, and explicit migration protocols.

Target Audience

Developers and engineers building scalable backend services, distributed systems, or data-intensive applications that require a reliable, high-performance key-value store with flexible deployment options.

Value Proposition

Developers choose NoKV for its coherent architecture that unifies embedded and distributed modes, its focus on correctness and testability, and its built-in observability tools. It offers a clear migration path from standalone to clustered deployment without the complexity of separate engines.

Overview

Native metadata service for distributed filesystems, object storage, and AI dataset workloads.

Use Cases

Best For

  • Building scalable backend services that need a durable key-value store
  • Migrating from an embedded database to a distributed cluster without data migration
  • Implementing Redis-compatible storage with strong consistency guarantees
  • Developing distributed systems that require MVCC and transactional support
  • Running high-performance storage workloads with LSM tree efficiency
  • Self-hosting a customizable key-value store with full control over deployment

Not Ideal For

  • Teams needing a simple, plug-and-play database with minimal configuration and management overhead
  • Applications requiring advanced query languages, full-text search, or complex relational data models
  • Projects where deployment must integrate seamlessly with non-Go ecosystems without additional gateway layers

Pros & Cons

Pros

Seamless Migration Path

Allows starting with an embedded engine and migrating the same workdir to a distributed cluster without data movement, as emphasized in the standalone to cluster feature.

Strong Correctness Guarantees

Implements mode gates, logical region snapshots, and local recovery metadata to ensure data integrity, especially in distributed transactions via Percolator-style 2PC.

Built-in Observability

Provides CLI tools and expvar metrics for stats, hot key tracking, and recovery forensics, making system monitoring and debugging straightforward.

Redis Compatibility

Exposes a RESP-compatible gateway, enabling standard Redis clients to interact with the cluster, simplifying integration for existing applications.

Cons

Configuration Complexity

Requires detailed JSON configuration files and script management (e.g., raft_config.example.json and cluster.sh), which can be error-prone and daunting for newcomers.

API Nuances and Overhead

The README notes careful handling of entry references (e.g., Get vs GetInternalEntry with DecrRef calls), adding cognitive load and potential for bugs in application code.

Limited Ecosystem and Maturity

As a newer project, it lacks the extensive tooling, community support, and production hardening of established systems like etcd or Redis, posing risks for critical deployments.

Frequently Asked Questions

Quick Stats

Stars385
Forks40
Contributors0
Open Issues25
Last commit2 days ago
CreatedSince 2024

Tags

#kv-store#database#raft-consensus#high-performance#redis#distributed-storage#embedded#lsm-tree#distributed-systems#mvcc#key-value-store#embedded-database#golang#redis-compatible#go#self-hosted#raft

Built With

G
Go
R
Raft
D
Docker
L
LSM-tree

Links & Resources

Website

Included in

Go169.1k
Auto-fetched 1 day ago

Related Projects

Prometheus.ioPrometheus.io

The Prometheus monitoring system and time series database.

Stars64,138
Forks10,421
Last commit1 day ago
MilvusMilvus

Milvus is a high-performance, cloud-native vector database built for scalable vector ANN search

Stars44,409
Forks4,017
Last commit2 days ago
TiDBTiDB

TiDB is built for agentic workloads that grow unpredictably, with ACID guarantees and native support for transactions, analytics, and vector search. No data silos. No noisy neighbors. No infrastructure ceiling.

Stars40,120
Forks6,186
Last commit1 day ago
cockroachcockroach

CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement.

Stars32,172
Forks4,124
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub