Apache Kvrocks
activeby Apache Software Foundation · since 2019 · also known as Kvrocks
A Redis-protocol database on RocksDB that trades a little latency for disk-sized capacity.
Overview
Kvrocks implements the Redis protocol on top of RocksDB, so data lives on SSD with RAM used for caching rather than holding the full dataset. Originally built at Meitu and now an Apache top-level project, it supports most Redis data types, Lua, transactions, namespaces and a cluster mode managed by a controller. Recent versions add a search engine over JSON and hashes. It fits workloads that outgrew Redis's memory budget but still want the Redis API, at the cost of disk-bound latency.
Strengths & trade-offs
Strengths
- +Stores far more data than RAM by keeping it in RocksDB on SSD
- +Redis protocol compatibility for most data types and Lua
- +Apache governance and permissive license
- +Namespaces give lightweight multi-tenancy
Trade-offs
- −Higher and less predictable latency than in-memory Redis
- −RocksDB compaction tuning becomes your problem
- −Some Redis commands and modules unsupported
- −No vendor-backed managed service
Great for
- +Large Redis datasets that are too expensive to keep in RAM
- +Persistent key-value storage with a Redis API
- +Feature and profile stores accessed by key
Think twice for
- −Strict sub-millisecond latency caches
- −Teams without RocksDB operational experience
Capabilities
Native or official first-party support · 10 of 25 tracked
Scale & consistency
- Comfortable data size
- Medium · ≤ 10 TB
- Horizontal scaling
- Native
- Multi-region
- No
- Transactions
- Limited ACID
- Consistency
- Eventual
- Schema
- Schemaless
- Architecture
- Primary replica, Distributed, Client server
- Query languages
- Redis commands (RESP), Lua
Datasets sized by disk rather than RAM; cluster mode uses Redis Cluster slots coordinated by kvrocks-controller.
Deployment
Ecosystem
Alternatives to Apache Kvrocks
Qihoo 360's Redis-compatible, RocksDB-backed store for datasets too big for memory.
apache-kvrocks vs pika →The in-memory data structure server that became the default cache, now with search, JSON and vectors built in.
apache-kvrocks vs redis →The Linux Foundation's BSD-licensed fork of Redis, now the default engine on AWS and Google Cloud.
apache-kvrocks vs valkey →Microsoft Research's .NET cache-store that speaks RESP and scales across cores and storage tiers.
apache-kvrocks vs garnet →In-memory database and Lua application server in one process, with an optional disk engine.
apache-kvrocks vs tarantool →A native .NET distributed cache and data grid for Windows and Linux, with an Apache-licensed edition.
apache-kvrocks vs ncache →Apache Kvrocks FAQ
What is Apache Kvrocks?
Apache Kvrocks is a key-value database by Apache Software Foundation, first released in 2019. Kvrocks implements the Redis protocol on top of RocksDB, so data lives on SSD with RAM used for caching rather than holding the full dataset. Originally built at Meitu and now an Apache top-level project, it supports most Redis data types, Lua, transactions, namespaces and a cluster mode managed by a controller. Recent versions add a search engine over JSON and hashes. It fits workloads that outgrew Redis's memory budget but still want the Redis API, at the cost of disk-bound latency.
Is Apache Kvrocks open source?
Yes. Apache Kvrocks is open source. License: Apache License 2.0.
Does Apache Kvrocks support ACID transactions?
Partly. Apache Kvrocks offers limited ACID guarantees (for example, single-record or single-partition transactions), with eventual consistency.
Does Apache Kvrocks scale horizontally?
Apache Kvrocks scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at medium scale (≤ 10 TB).
How can I run Apache Kvrocks?
You can self-host it.
What is Apache Kvrocks best for?
Apache Kvrocks is a strong fit for large Redis datasets that are too expensive to keep in RAM; persistent key-value storage with a Redis API; and feature and profile stores accessed by key. Think twice for strict sub-millisecond latency caches.
What are the best alternatives to Apache Kvrocks?
Common alternatives to Apache Kvrocks include Pika, Redis, Valkey, Microsoft Garnet and Tarantool. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is Apache Kvrocks?
Apache Kvrocks ranks #299 of 844 databases on the WhichDB Score (10.3/100), and #40 among key-value databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.