Skip to content
SPECIFICTION
Get listed

RocksDB

rocksdb.org

Free plan WindowsmacOSLinuxiOSAPISelf-hosted
Visit rocksdb.org
Spec score 8.1 #5 of 31 in Key-Value Databases

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

RocksDB Free Open-source C++ library · Dual-licensed under GPLv2 or Apache 2.0 Read 4 Oct 2026 · github.com

Every RocksDB plan and price →

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

Alternatives to RocksDBAll alternatives →