FoundationDB vs RocksDB
FoundationDB
foundationdb.orgRocksDB
rocksdb.orgSide by side
| Figure | FoundationDB | RocksDB |
|---|---|---|
| Price from | — | Free |
| Free plan | — | 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 | 0 | 1 |
| Spec score · Key-Value Databases | 7.8 (#10) | 8.1 (#5) |
| Performance | The documentation describes FoundationDB as suited to read/write workloads and also performant for write-intensive workloads. | 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. |
| Product | FoundationDB is a distributed database that stores structured data across clusters of commodity servers as an ordered key-value store. | RocksDB is an embeddable persistent key-value store for fast storage. |
| Support | The project provides community forums for technical and user discussions. | The project directs users to its Google Group or Facebook Group for general questions and reserves GitHub issues for bug reports. |
| What it does | FoundationDB is a distributed database that organizes structured data as an ordered key-value store. | RocksDB is an embeddable, persistent key-value store for fast storage. |
Plans
In their own words
FoundationDB
FoundationDB has no write-up on Specifiction yet; its figures are above.
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.