EVERYTHING XIAOMI
Get listed

RocksDB

RocksDB is a free, embeddable C++ library that stores persistent key-value data.

Place
#5 of 31
Score
7.0
RocksDB's website

What RocksDB is

RocksDB is a free, embeddable C++ library that stores persistent key-value data. Keys and values are arbitrary byte arrays, and a comparator chosen by the user determines key order. Its log-structured merge design provides configurable tradeoffs among write, read, and space amplification. The project describes it as optimized for low-latency storage on flash drives and high-speed disks, with uses in database storage engines, application caches, and embedded workloads. Library operations include opening and closing a database, reads and writes, merging, and compaction filters. Multi-threaded compactions are described as suitable for databases holding multiple terabytes, including application-server workloads using local or remote storage. RocksDB also has a Java wrapper, RocksJava, with artifacts published through Maven. Optional compression libraries include zlib, bzip2, LZ4, Snappy, and Zstandard. It is dual-licensed under GPLv2 or Apache 2.0, at the user's option; building requires GCC 11 or later or Clang 10 or later for C++20 support.

Good

  • Free and open source under GPLv2 or Apache 2.0.
  • Supports configurable read, write, and space tradeoffs.
  • Includes a Java wrapper with Maven artifacts.
  • Multi-threaded compactions support multi-terabyte databases.

Watch out

  • Building requires GCC 11+ or Clang 10+.
  • Stored values must be smaller than 4 GB.
  • Data synchronization is not supported.

Who it suits

RocksDB suits developers embedding persistent key-value storage in database engines, caches, or other workloads. Its documented audience includes application servers storing up to a few terabytes on local or remote storage.

Verdict

RocksDB is a developer-oriented storage library with configurable log-structured merge behavior and several embedded use cases. Check the build requirements and value-size limit against your application before choosing it.

Plans and prices

From RocksDB's own pricing page, checked 4 Oct 2026.

All about pricing
PlanPriceWhat it gives you
RocksDBFreeOpen-source C++ library · Dual-licensed under GPLv2 or Apache 2.0

The facts

Each one read from RocksDB's own pages, with the date it was checked.

What it does

Build requirement
The project says it depends on GCC 11 or later or Clang 10 or later for C++20 support.checked 3 Oct 2026
Data model
Keys and values can be arbitrarily sized byte streams.checked 4 Oct 2026
Engine
RocksDB uses a log-structured merge database design with configurable tradeoffs among write, read, and space amplification.checked 3 Oct 2026
Integrations
The project documents a MyRocks database storage engine as one example of using RocksDB.checked 4 Oct 2026
Java support
RocksDB has a Java wrapper called RocksJava, and Java artifacts are published through Maven.checked 4 Oct 2026
Licensing
RocksDB is dual-licensed under GPLv2 and Apache 2.0, and users may choose either license.checked 4 Oct 2026
Notable limit
The basic operations documentation says value size must be smaller than 4 GB.checked 4 Oct 2026
Operations
It provides database open and close, read and write, merge, and compaction filter operations.checked 4 Oct 2026
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.checked 4 Oct 2026
Product
RocksDB is an embeddable persistent key-value store for fast storage.checked 3 Oct 2026
Scale
The project says multi-threaded compactions make RocksDB suitable for storing multiple terabytes in a single database.checked 3 Oct 2026
Scale and audience
The project describes RocksDB as designed for application servers storing up to a few terabytes on local or remote storage systems.checked 4 Oct 2026
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.checked 4 Oct 2026
Storage design
It uses a log-structured database engine written entirely in C++.checked 4 Oct 2026
Support
The project directs users to its Google Group or Facebook Group for general questions and reserves GitHub issues for bug reports.checked 4 Oct 2026
Use cases
The project describes use in database storage engines, application data caching, and embedded workloads.checked 4 Oct 2026
What it does
RocksDB is an embeddable, persistent key-value store for fast storage.checked 4 Oct 2026

Where it runs

Platforms
Build instructions cover Linux, macOS, FreeBSD, OpenBSD, iOS, Windows, AIX, and Solaris Sparc.checked 3 Oct 2026
Platform support
The platform requirements page lists Linux, macOS, and Windows build requirements.checked 4 Oct 2026
The full review of RocksDB

RocksDB is most compelling for developers embedding persistent key-value storage in database engines, caches, or other applications. Its configurable storage behavior and permissive choice of license are strengths; the native build requirements and low-level integration make it a poor fit for teams seeking a ready-made hosted database.

Overview

RocksDB stores arbitrary byte-array keys and values, ordering keys through a comparator supplied by the application. That flexible, low-level model suits software whose developers need storage to fit the application, but it does not provide a general-purpose query service.

Its log-structured merge engine lets developers adjust tradeoffs among write, read, and space amplification. This is useful when those tradeoffs are part of the system design, but it puts tuning decisions on the team rather than hiding them behind a managed service. RocksDB is optimized for low-latency media such as flash drives and high-speed disks. Multi-threaded compactions support databases of multiple terabytes, though values must remain smaller than 4 GB.

Key features

Embedded operations and tuning

The library handles database open and close, reads and writes, merging, and compaction filters. These building blocks are relevant to storage engines and application caches, but using them means integrating a library rather than adopting a turnkey database. The codebase is written in C++, and builds require GCC 11 or later or Clang 10 or later for C++20 support.

Compression and language access

Build instructions offer optional support for zlib, bzip2, LZ4, Snappy, and Zstandard, giving teams choices when configuring compression. Java developers can use RocksJava, with artifacts published through Maven. RocksDB is available under either GPLv2 or Apache 2.0, at the user's option; teams should choose the license that fits their distribution and compliance needs.

Pricing

RocksDB — free: the open-source C++ library is dual-licensed under GPLv2 or Apache 2.0. There is no paid plan or free trial. This is a strong fit for teams prepared to build and operate the storage within their applications; the tradeoff is that the software is a library, not a hosted service with managed operations.

For bugs and feature requests, the project directs users to GitHub issues; questions and discussion go to its Facebook group. Security issues should instead be reported through Meta's Bug Bounty program, not public GitHub issues or pull requests.

Platforms

RocksDB supports Linux, macOS, Windows, iOS, FreeBSD, OpenBSD, AIX, and Solaris. The project provides build requirements for Linux, macOS, and Windows. Its API-based interface and encryption support suit software integrating storage directly, while the absence of data synchronization means it is not a built-in choice for keeping records synchronized across installations.

Who it's for

Choose RocksDB when building a database storage engine, an application cache, or another embedded workload that benefits from persistent key-value storage and workload-specific control over read, write, and space tradeoffs. Its scale and support for low-latency storage suit application servers with substantial data needs. Look elsewhere if your application cannot accommodate the C++ build requirements, needs values of 4 GB or more, or depends on a managed database service or built-in synchronization.

Pros and cons

  • Configurable LSM behavior: lets developers balance read, write, and space amplification for their workload, but requires them to make those design choices.
  • Terabyte-scale design: multi-threaded compactions support multiple terabytes in one database, though individual values must be smaller than 4 GB.
  • Broad platform range: supports several desktop and server operating systems as well as iOS, while the stated build requirements demand modern C++20-capable compilers.
  • Free with license choice: users can select GPLv2 or Apache 2.0, but still need to account for the chosen license in their own distribution.
  • Java wrapper: RocksJava and Maven artifacts extend access beyond C++, though the underlying library remains a native-build dependency.

Alternatives

Key-Value Databases and Embedded Databases are useful directories for comparing software in RocksDB's categories.

  • Amazon DynamoDB is worth considering for a service-oriented option with a free tier; its stated allowance is 25 WCUs, 25 RCUs, 25 GB storage, and 25 replicated WCUs per region, per-payer account basis.
  • Riak KV is another free key-value option, with an open-source edition that includes masterless built-in replication and HTTP and Protocol Buffers APIs.
  • Redis Insight is a free alternative for readers considering software described as 100% free.
  • Aerospike Database offers a Community Edition described for 8 nodes, 2.5 TB of data, and 2 namespaces; consider it when those stated limits fit your deployment.
  • etcd is a free, Apache 2.0-licensed self-hosted option.
  • Google Cloud Bigtable is a paid cloud alternative with Enterprise and Enterprise Plus editions and a Data Boost option.
  • TiKV is another free software option for readers comparing database products.
  • Upstash Redis offers a free plan capped at 256 MB of data, 10 GB monthly bandwidth, and 500K monthly commands, suiting readers whose workload fits those quotas.

Verdict

RocksDB is a strong choice for developers who want persistent, embedded key-value storage and the freedom to tune LSM behavior, especially for storage engines and caches. Choose it for that control and its no-cost license options; look elsewhere if you need hosted convenience, data synchronization, or to store values at least 4 GB in size.

Getting started

  1. Open the RocksDB website
  2. Choose a supported platform such as Linux, macOS, Windows, or iOS
  3. Build the C++ library with GCC 11 or later or Clang 10 or later for C++20 support
  4. Add optional compression libraries such as zlib, bzip2, LZ4, Snappy, or Zstandard
  5. Use RocksJava through its Maven-published Java artifacts if developing in Java

Limits worth knowing

Each stored value must be smaller than 4 GB. RocksDB does not provide data synchronization.

Questions

Is RocksDB free?

Yes. The RocksDB plan costs nothing, and the project is open source.

Which licenses apply?

You can use RocksDB under either GPLv2 or Apache 2.0, at your option.

Which platforms are supported?

Supported platforms include Linux, macOS, Windows, iOS, FreeBSD, OpenBSD, AIX, and Solaris.

Does RocksDB support Java?

Yes. RocksJava is a Java wrapper, and Java artifacts are published through Maven.

What compression integrations are available?

Build instructions list optional zlib, bzip2, LZ4, Snappy, and Zstandard libraries.

Does it synchronize data?

No. Data synchronization is not supported.

Alternatives to RocksDB

All alternatives
  1. 1Aerospike Database logo

    Aerospike Database

    Free planOpen sourceWebAPILinuxmacOS
    7.8Free plan
  2. 2Amazon DynamoDB logo

    Amazon DynamoDB

    Free planAndroidiOSWebAPI
    7.8Free plan
  3. 3Apache Ignite logo

    Apache Ignite

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.4Free plan
  4. 4Upstash Redis logo

    Upstash Redis

    Free planWebAPI
    7.3From $10 a month
  5. 5Google Cloud Bigtable logo

    Google Cloud Bigtable

    Free planWebAPI
    6.8From $0.03 a month
  6. 6Redis Insight logo

    Redis Insight

    Free planWebLinuxmacOSSelf-hosted
    6.7Free plan