Badger vs RocksDB
Badger: Pure-Go LSM key-value store that separates keys from values to cut write amplification. RocksDB: Meta's embeddable LSM-tree key-value engine, the storage layer under dozens of databases.
key differences
- Only Badger has pub/sub, in-memory, encryption at rest, time travel.
choose badger for
- +Storage layer for Go databases and services
- +Embedded state for Go daemons and CLIs
- +Write-heavy local key-value workloads with medium-to-large values
best at · Embedded, OLTP, Metadata
choose rocksdb for
- +Storage engine for a custom database or service
- +Stream-processing state stores (Kafka Streams, Flink)
- +MySQL storage engine via MyRocks
- +Write-heavy local indexes and caches on SSD
best at · Embedded, OLTP, Streaming
Badger vs RocksDB: FAQ
What is the difference between Badger and RocksDB?
Badger: Pure-Go LSM key-value store that separates keys from values to cut write amplification. RocksDB: Meta's embeddable LSM-tree key-value engine, the storage layer under dozens of databases. Only Badger has pub/sub, in-memory, encryption at rest, time travel.
When should I choose Badger over RocksDB?
Choose Badger for storage layer for Go databases and services; embedded state for Go daemons and CLIs; and write-heavy local key-value workloads with medium-to-large values. Choose RocksDB for storage engine for a custom database or service; stream-processing state stores (Kafka Streams, Flink); and MySQL storage engine via MyRocks.
Is Badger or RocksDB more popular?
RocksDB ranks #30 on the WhichDB Score (48.2/100) and Badger ranks #294 (10.7/100). Popularity is not fit: check the requirements that matter for your project.
Are Badger and RocksDB open source?
Yes. Badger is open source. License: Apache License 2.0. Yes. RocksDB is open source. License: Apache License 2.0 or GPL-2.0 (dual).