Pebble is a key-value store written in Go and developed by Cockroach Labs. It is based on an unfinished Go port of LevelDB. Furthermore, additional features and optimizations are inspired by parts of RocksDB. Pebble is specifically created to suit the needs of CockroachDB, and has unique features that neither LevelDB nor RocksDB have.
- Source Code
- https://github.com/petermattis/pebble[01]
- Developer
- Country of Origin
- US
- Start Year
- 2018 [03]
- Project Type
- Open Source
- Written in
- Go
- Supported Languages
- Go
- License
- BSD License
Pebble is a key-value store written in Go and developed by Cockroach Labs. It is based on an unfinished Go port of LevelDB. Furthermore, additional features and optimizations are inspired by parts of RocksDB. Pebble is specifically created to suit the needs of CockroachDB, and has unique features that neither LevelDB nor RocksDB have.
Indexes
Pebble uses a LSM tree to store writes. All records are stored in batches, which in turn are stored in in-memory memtables and sstables. There is a separate skiplist implementation which contains offsets of the records within their batch in order to perform reads.
Citations
3 sources- https://github.com/petermattis/pebble github.com
- https://github.com/petermattis/pebble/tree/master/docs github.com
- Initial fork (leveldb -> pebble) github.com