Freedom251 › Embedded Databases
Pebble

What Pebble is
Pebble is a free, open-source Go key-value store for self-hosted applications, built around the performance and storage needs of CockroachDB. Its listed capabilities include checkpoints, indexed batches, snapshots, SSTable ingestion, prefix iteration, range-deletion tombstones, and level-based or manual compaction. The project describes faster reverse iteration and a quicker commit pipeline with improved concurrency compared with RocksDB. Pebble became CockroachDB’s default storage engine in v20.2, released in November 2020, and the README says it is used in production at scale. Its scope intentionally follows CockroachDB’s needs instead of implementing every RocksDB feature. Missing features include backups, column families, transactions, and universal compaction. Compatibility requires care: unsupported RocksDB features may cause silent corruption or incorrect behavior. Pebble v1 may open RocksDB 6.2.1 databases under documented caveats; Pebble v2 and newer cannot open RocksDB-generated databases. Major format upgrades are permanent. The repository uses a BSD-3-Clause license and provides a Go opening example.
Who it suits
It suits Go developers building self-hosted key-value storage around Pebble’s defined feature set. Teams considering RocksDB compatibility should review the unsupported-feature and format-version limits first.
What it does well
- Open-source BSD-3-Clause license
- Go key-value store for self-hosting
- Checkpoints, snapshots, batches, and compaction
- Used as CockroachDB’s default storage engine
- Production use described at scale
What to know first
- No backups, column families, or transactions
- No universal compaction
- RocksDB compatibility has version limits
- Unsupported RocksDB features may corrupt data
Verdict
Pebble offers a focused Go storage engine with a substantial listed feature set and CockroachDB production history. It is most appropriate when its narrower scope and compatibility rules match the application.
Facts from Pebble's own pages
- Compatibility caution
- The README warns Pebble may silently corrupt data or behave incorrectly when used with a RocksDB database that relies on unsupported features. · github.com, 9 Oct 2026
- Compatibility warning
- The README warns that using Pebble with a RocksDB database that relies on unsupported features may silently corrupt data or behave incorrectly. · github.com, 4 Oct 2026
- Core features
- Its listed features include checkpoints, indexed batches, level-based and manual compaction, snapshots, SSTable ingestion, and range deletion tombstones. · github.com, 9 Oct 2026
- Features
- The project lists checkpoints, indexed batches, level-based and manual compaction, snapshots, SSTable ingestion, prefix iteration, and range deletion tombstones among its features. · github.com, 4 Oct 2026
- Format upgrades
- Pebble format-major-version upgrades are permanent, and newer versions may refuse to open databases in unsupported older formats. · github.com, 9 Oct 2026
- Founded
- Cockroach Labs says it was founded in 2015. · cockroachlabs.com, 9 Oct 2026
- Integration
- The README gives a Go import path of github.com/cockroachdb/pebble and demonstrates opening a database, writing a key, and reading it. · github.com, 9 Oct 2026
- Intended use
- Pebble targets the use case and feature set CockroachDB needs rather than aiming to include every RocksDB feature. · github.com, 4 Oct 2026
- License
- The GitHub repository identifies its license as BSD-3-Clause. · github.com, 9 Oct 2026
- Limitations
- Pebble does not implement several RocksDB features, including backups, column families, transactions, and universal compaction. · github.com, 9 Oct 2026
- Maker
- Cockroach Labs is the company behind CockroachDB and is headquartered in New York City. · cockroachlabs.com, 9 Oct 2026
- Performance
- The project describes faster reverse iteration, a faster commit pipeline, and concurrent compactions as improvements over RocksDB. · github.com, 9 Oct 2026
- Product
- Pebble is a LevelDB/RocksDB-inspired key-value store written in Go, focused on performance and internal use by CockroachDB. · github.com, 9 Oct 2026
- Production status
- The README says Pebble has been used in CockroachDB production since 2020 and is considered stable and production ready. · github.com, 9 Oct 2026
- Production use
- The README says Pebble became CockroachDB’s default storage engine in CockroachDB v20.2, released in November 2020, and is used in production at scale. · github.com, 4 Oct 2026
- RocksDB compatibility
- Pebble v1 may open databases generated by RocksDB 6.2.1 subject to listed compatibility caveats; Pebble v2 and newer do not support opening RocksDB-generated databases. · github.com, 9 Oct 2026
- Security and support
- The repository README does not state security certifications or a support offering. · github.com, 4 Oct 2026
- Use case
- Pebble targets the use case and feature set needed by CockroachDB. · github.com, 9 Oct 2026
Where Pebble stands on Freedom251
- Embedded Databases#24 of 30