RocksDB vs TiKV
RocksDB
rocksdb.orgTiKV
tikv.orgSide by side
| Figure | RocksDB | TiKV |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | Yes | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Key-Value Databases | 8.1 (#5) | 7.5 (#18) |
| Integrations | The project documents a MyRocks database storage engine as one example of using RocksDB. | The maker lists TiDB, Zetta, Tidis, Titan, and JuiceFS among systems built with or using TiKV. |
| Scale | The project says multi-threaded compactions make RocksDB suitable for storing multiple terabytes in a single database. | The maker says TiKV supports petabyte-scale deployments spanning trillions of rows. |
| What it does | RocksDB is an embeddable, persistent key-value store for fast storage. | TiKV is a distributed transactional key-value database designed to serve as a unified distributed storage layer. |
Plans
In their own words
RocksDB
RocksDB is an embeddable, persistent key-value store for applications that need fast storage. It stores keys and values as arbitrary byte arrays, with ordering determined by a comparator chosen by the user. Its log-structured merge design allows configuration of tradeoffs among write, read, and space amplification, and the project describes it as optimized for low-latency storage on flash drives and high-speed disks. The C++ library supports opening and closing databases, reads and writes, merging, and compaction filters. Described uses include database storage engines, application data caches, and embedded workloads. Multi-threaded compactions support databases holding multiple terabytes; the project describes an audience of application servers storing up to a few terabytes on local or remote systems. RocksDB also has a Java wrapper, RocksJava, with artifacts published through Maven. It is free and open source under either GPLv2 or Apache 2.0, at the user's choice. Building requires GCC 11 or later or Clang 10 or later for C++20 support; values must be smaller than 4 GB.
TiKV
TiKV is a distributed transactional key-value database designed as a unified storage layer across nodes. It provides a raw key-value API and a transactional key-value API with ACID semantics, but those APIs cannot both be used on the same keyspace. The project says it can support petabyte-scale deployments spanning trillions of rows. Raft groups replicate data across nodes for fault tolerance, while horizontal scaling and rebalancing support changes in cluster capacity. RawKV also includes time-to-live expiration and compare-and-swap operations. The documentation lists Java, Go, Rust, Python, and C++ clients; Java and Go are marked stable, while the others are marked unstable. TiKV is self-hosted and Apache 2.0 licensed, with Linux, macOS, Windows, and API listed as platforms. Its documentation describes TLS for network connections and configurable encryption at rest, including AES methods. TiKV was originally created by PingCAP and is a Cloud Native Computing Foundation graduate project. The community page recommends Slack for general communication and provides a dedicated mailing list for security vulnerability reports.