RocksDB
rocksdb.org
What it is
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.
Spec sheet
- What it does
- RocksDB is an embeddable, persistent key-value store for fast storage.Read 4 Oct 2026 · rocksdb.org
- Product
- RocksDB is an embeddable persistent key-value store for fast storage.Read 3 Oct 2026 · rocksdb.org
- Platforms
- Build instructions cover Linux, macOS, FreeBSD, OpenBSD, iOS, Windows, AIX, and Solaris Sparc.Read 3 Oct 2026 · github.com
- Integrations
- The project documents a MyRocks database storage engine as one example of using RocksDB.Read 4 Oct 2026 · rocksdb.org
- Support
- The project directs users to its Google Group or Facebook Group for general questions and reserves GitHub issues for bug reports.Read 4 Oct 2026 · github.com
- Build requirement
- The project says it depends on GCC 11 or later or Clang 10 or later for C++20 support.Read 3 Oct 2026 · github.com
- Data model
- Keys and values can be arbitrarily sized byte streams.Read 4 Oct 2026 · rocksdb.org
- Engine
- RocksDB uses a log-structured merge database design with configurable tradeoffs among write, read, and space amplification.Read 3 Oct 2026 · github.com
- Java support
- RocksDB has a Java wrapper called RocksJava, and Java artifacts are published through Maven.Read 4 Oct 2026 · github.com
- Licensing
- RocksDB is dual-licensed under GPLv2 and Apache 2.0, and users may choose either license.Read 4 Oct 2026 · github.com
- Notable limit
- The basic operations documentation says value size must be smaller than 4 GB.Read 4 Oct 2026 · github.com
- Operations
- It provides database open and close, read and write, merge, and compaction filter operations.Read 4 Oct 2026 · rocksdb.org
- Performance
- It is optimized for low-latency storage such as flash and high-speed disk drives, and can use read/write rates offered by flash or RAM.Read 4 Oct 2026 · rocksdb.org
- Platform support
- The platform requirements page lists Linux, macOS, and Windows build requirements.Read 4 Oct 2026 · github.com
- Scale
- The project says multi-threaded compactions make RocksDB suitable for storing multiple terabytes in a single database.Read 3 Oct 2026 · github.com
- Scale and audience
- The project describes RocksDB as designed for application servers storing up to a few terabytes on local or remote storage systems.Read 4 Oct 2026 · github.com
- Security reporting
- The security policy asks users to report security issues through Meta's Bug Bounty program instead of public GitHub issues or pull requests.Read 4 Oct 2026 · github.com
- Storage design
- It uses a log-structured database engine written entirely in C++.Read 4 Oct 2026 · rocksdb.org
- Use cases
- The project describes use in database storage engines, application data caching, and embedded workloads.Read 4 Oct 2026 · rocksdb.org
Plans and prices
Strong points and limits
Strong points
- Keys and values can be arbitrary byte arrays
- Configurable read, write, and space tradeoffs
- Multi-threaded compactions support multiple terabytes
- Java wrapper available through RocksJava
Limits
- Values must be smaller than 4 GB
- Building requires GCC 11+ or Clang 10+
- No data synchronization
Who it suits
RocksDB suits developers building database storage engines, application caches, or other embedded workloads that need persistent key-value storage. It is aimed at application-server use, including databases of up to a few terabytes.
Verdict
RocksDB offers a configurable embedded store with a documented range of operations and a Java wrapper. Its C++20 build-toolchain requirement and sub-4 GB value limit are worth checking before adoption.
Where Specifiction places it
- Key-Value Databases#5 of 318.1
- Embedded Databases#11 of 308.0