awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 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·5 vues

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.

Historique des stars

Graphique de l'historique des stars pour cockroachdb/pebbleGraphique de l'historique des stars pour cockroachdb/pebble

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait cockroachdb/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…

Quelles sont les fonctionnalités principales de cockroachdb/pebble ?

Les fonctionnalités principales de cockroachdb/pebble sont : 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.

Quelles sont les alternatives open-source à cockroachdb/pebble ?

Les alternatives open-source à cockroachdb/pebble incluent : 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…

Alternatives open source à Pebble

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Pebble.
  • syndtr/goleveldbAvatar de syndtr

    syndtr/goleveldb

    6,319Voir sur 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
    Voir sur GitHub↗6,319
  • facebook/rocksdbAvatar de facebook

    facebook/rocksdb

    31,767Voir sur 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
    Voir sur GitHub↗31,767
  • google/leveldbAvatar de google

    google/leveldb

    39,152Voir sur 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++
    Voir sur GitHub↗39,152
  • dgraph-io/badgerAvatar de dgraph-io

    dgraph-io/badger

    15,666Voir sur 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
    Voir sur GitHub↗15,666
Voir les 30 alternatives à Pebble→