awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
cockroachdb avatar

cockroachdb/pebble

0
View on GitHub↗
5,777 stars·540 forks·Go·bsd-3-clause·27 views

Pebble

Pebble is an embedded key-value storage engine written in Go, designed as a library that provides durable, write-optimized data persistence directly within applications. It organizes data using a log-structured merge-tree (LSM-tree) structure, where writes are first buffered in an in-memory skiplist memtable and persisted to a write-ahead log before being flushed to block-based SSTable files on disk. The engine supports atomic batch commits, configurable write synchronization, and automatic background compaction that merges and rewrites sorted runs to reclaim space and maintain read performance.

The storage engine distinguishes itself through support for range keys, which allow key-value pairs to apply to contiguous ranges of keyspace and be interleaved with point keys during iteration. It also includes property-based filtering, where user-defined key-value properties attached to SSTable blocks and files enable iteration to skip irrelevant data blocks and entire files during scans. Pebble provides a storage format migrator that can upgrade on-disk database files to newer physical formats at runtime, using either background or blocking compaction to apply the change.

The engine offers comprehensive key-value operations including point lookups, range scans in both forward and reverse directions, and batch write operations that group multiple mutations into a single atomic commit. It includes built-in benchmarking tools for measuring read, write, and mixed workload throughput and latency under realistic access patterns, using configurable key distributions and value sizes.

Features

  • Embedded Database Engines - Provides an embedded key-value storage engine that runs directly within applications without external server processes.
  • Log-Structured Merge-Trees - Organizes data using a log-structured merge-tree with writes buffered in memory and flushed to sorted immutable files.
  • Key-Value Stores - Reads stored values by key, returning the associated data and a handle for resource cleanup.
  • LSM-Tree Batch Commits - Provides atomic batch commits that group mutations into a single unit applied to the memtable and WAL.
  • LSM-Tree Batch Writes - Atomically groups multiple mutations into a single commit to reduce write amplification in the LSM-tree.
  • Write-Optimized Storage Engines - Designed for high write throughput using batched atomic commits and background compaction to reduce write amplification.
  • Automatic Background Compactions - Automatically merges and rewrites sorted runs in the background to reclaim space and maintain read performance.
  • Block-Based SSTable Formats - Implements a block-based SSTable format with index and bloom filter blocks for efficient point lookups and range scans.
  • Level-Based Compaction Strategies - Automatically merges and rewrites sorted runs across multiple levels in the background to reclaim space.
  • Skiplist Memtables - Uses an in-memory concurrent skiplist memtable to buffer recent writes before flushing to disk.
  • Compaction Management - Automatically merges and rewrites sorted runs in the background to reclaim space and maintain read performance.
  • Key-Value - Persists key-value data to disk using an LSM-tree structure with atomic writes and configurable sync behavior.
  • Embedded Key-Value Stores - Provides an embedded key-value storage engine with LSM-tree organization, atomic batch writes, and configurable durability.
  • LSM-Tree Key-Value Stores - Implements a full LSM-tree key-value store with atomic batch commits, write-ahead logging, and background compaction.
  • Write-Ahead Logging - Persists every write to an append-only log before applying it to the memtable for durability and crash recovery.
  • Indexed Batch Writes - Combines multiple mutations into a single indexed batch for efficient, concurrent commit processing.
  • Storage Engine Benchmarks - Ships built-in benchmarking tools for measuring read, write, and mixed workload performance under configurable key distributions.
  • Physical Format Migrations - Upgrades a database to newer physical file formats at runtime using background or blocking compaction.
  • Range Key Managers - Defines key-value pairs over a range of keyspace with custom semantics, interleaving them during iteration.
  • Range Key Iteration - Defines and iterates over key-value pairs that apply to a range of keyspace with custom semantics and interleaved iteration.
  • Range Key Iterators - Supports range keys that apply to contiguous key ranges and interleaves them with point keys during iteration.
  • Reverse Key Iterators - Traverses key-value pairs in descending order using backward links in the memtable's skiplist.
  • Property-Based Filtering - Attaches user-defined key-value properties to SSTable blocks and files to skip irrelevant data during iteration.
  • SSTable Block Filters - Implements property-based filtering that skips irrelevant SSTable blocks and files during iteration to accelerate queries.
  • Runtime Storage Format Upgrades - Migrates a database to newer physical file formats at runtime using background or blocking compaction.
  • Caching Libraries - KV storage engine.
  • Database Engines - RocksDB/LevelDB-inspired key-value database.
  • Database Systems - Listed in the “Database Systems” section of the Awesome Go awesome list.
  • Storage Systems - Key-value store optimized for high-performance database engines.

Star history

Star history chart for cockroachdb/pebbleStar history chart for cockroachdb/pebble

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Pebble

These projects share indexed features with Pebble. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • syndtr/goleveldbsyndtr avatar

    syndtr/goleveldb

    6,319View on GitHub↗

    goleveldb is an embedded key-value storage database for Go. It provides local data persistence and indexing, allowing applications to store and retrieve information using unique keys without requiring a separate server. The database organizes data using a log-structured merge-tree and persistent indexing in lexicographical order. This structure supports efficient range scans and prefix-based searches. The system includes capabilities for atomic batch writes to ensure data consistency and avoid partial updates. Performance is managed through write-ahead logging, memory-based buffering, and bl

    Godatabasegoleveldb
    View on GitHub↗6,319
  • facebook/rocksdbfacebook avatar

    facebook/rocksdb

    31,767View on GitHub↗

    RocksDB is a high-performance, embeddable persistent key-value library and storage engine based on Log-Structured Merge-trees. It is designed to provide durable storage for large-scale datasets, integrating directly into applications to manage data on flash and RAM-based hardware. The engine is distinguished by its focus on minimizing read and write amplification through multi-threaded compaction and custom memory allocators. It features specialized optimizations for flash storage, including support for zoned block devices, and provides the ability to extend store behavior via external plugin

    C++databasestorage-engine
    View on GitHub↗31,767
  • google/leveldbgoogle avatar

    google/leveldb

    39,152View on GitHub↗

    LevelDB is an embedded database library and persistent storage engine that provides a sorted key-value store. It uses a log-structured merge-tree architecture to map byte arrays to values, running directly within a process to provide storage without the need for a separate server process. The system is distinguished by its use of custom comparison functions to define key ordering, enabling efficient range scans and sequenced lookups. It ensures data reliability through atomic batch execution, consistent snapshot generation, and log-based recovery after failures. The engine covers broad capab

    C++
    View on GitHub↗39,152
  • dgraph-io/badgerdgraph-io avatar

    dgraph-io/badger

    15,666View on GitHub↗

    Badger is an embeddable key-value store written in Go that provides persistent data storage for byte keys and values. It is a persistent database that utilizes a tiered LSM tree storage model to optimize disk storage and retrieval efficiency. The system features an ACID transaction engine that ensures data integrity through serializable snapshot isolation and multi-version concurrency control. It also provides an encrypted key-value store with data-at-rest encryption and a managed encrypted key registry to secure stored information. The engine covers a broad set of capabilities including hig

    Godatabasedocument-databasego
    View on GitHub↗15,666
Compare all 30 related projects→

Frequently asked questions

What does cockroachdb/pebble do?

Pebble is an embedded key-value storage engine written in Go, designed as a library that provides durable, write-optimized data persistence directly within applications. It organizes data using a log-structured merge-tree (LSM-tree) structure, where writes are first buffered in an in-memory skiplist memtable and persisted to a write-ahead log before being flushed to block-based SSTable files on disk. The engine supports atomic batch commits, configurable write…

What are the main features of cockroachdb/pebble?

The main features of cockroachdb/pebble are: Embedded Database Engines, Log-Structured Merge-Trees, Key-Value Stores, LSM-Tree Batch Commits, LSM-Tree Batch Writes, Write-Optimized Storage Engines, Automatic Background Compactions, Block-Based SSTable Formats.

Which projects share features with cockroachdb/pebble?

Projects with overlapping indexed features include: syndtr/goleveldb — goleveldb is an embedded key-value storage database for Go. It provides local data persistence and indexing, allowing… facebook/rocksdb — RocksDB is a high-performance, embeddable persistent key-value library and storage engine based on Log-Structured… google/leveldb — LevelDB is an embedded database library and persistent storage engine that provides a sorted key-value store. It uses… dgraph-io/badger — Badger is an embeddable key-value store written in Go that provides persistent data storage for byte keys and values.… slatedb/slatedb — SlateDB is a cloud-native key-value store and distributed database engine that utilizes a log-structured merge-tree… roseduan/rosedb — RoseDB is an embedded key-value database and log-structured storage engine. It functions as a library-based database…