awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dgraph-io avatar

dgraph-io/badger

0
View on GitHub↗
15,666 Stars·1,297 Forks·Go·Apache-2.0·10 Aufrufedgraph-io.github.io/badger↗

Badger

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 high-throughput data ingestion, persistent data indexing, and crash recovery via write-ahead logging. It supports advanced data management such as asynchronous value merging, background compaction, and prefix-based data streaming. Monitoring and observability tools are included for data integrity validation and performance metrics.

The project includes command-line utilities for performing offline database backup and restoration of the database state.

Features

  • Tree-Based Storage - Utilizes a tiered Log-Structured Merge-Tree (LSM) architecture to optimize write throughput and read efficiency.
  • Key-Value - Implements a high-performance embeddable database for persisting byte keys and values.
  • ACID Transactional Cores - Provides a transactional core with serializable snapshot isolation to guarantee data integrity.
  • Log-Structured Merge-Trees - Uses a tiered LSM tree storage model to optimize disk storage and retrieval efficiency.
  • Compaction Strategies - Implements background compaction to merge sorted data levels and reclaim disk space.
  • Storage Compaction Utilities - Reorganizes and merges key-value ranges to optimize storage efficiency and reduce disk fragmentation.
  • Manifest-Based State Reconciliation - Reconciles on-disk table files with a manifest record to ensure data consistency and restore state.
  • Embeddable Databases - Provides a persistent embeddable database library with built-in crash recovery and write-ahead logging.
  • Sorted String Tables - Persists data using Sorted String Tables (SSTables) for efficient retrieval from immutable disk files.
  • Sorted Indexing - Organizes data into sorted ranges to enable fast point lookups and efficient prefix scanning.
  • Key-Value Persistence Stores - Provides a high-performance, embeddable Go library for persisting byte keys and values.
  • Value-Log Separation - Reduces write amplification by storing keys in sorted tables and larger values in separate append-only logs.
  • Multi-Version Concurrency Control - Implements MVCC to provide serializable snapshot isolation for concurrent read and write transactions.
  • Persistent Application State - Ensures application state is persisted to disk and remains consistent across system restarts.
  • Tiered Storage Strategies - Organizes data into multiple sorted levels to optimize storage and retrieval performance.
  • Transaction Management - Manages transaction lifecycles and isolation levels to ensure concurrent read/write consistency.
  • Write-Ahead Logging - Uses a write-ahead log to record changes for durability and crash recovery.
  • Encrypted Persistence - Secures stored information on disk using provided encryption keys with support for key rotation.
  • Encrypted Key Registries - Implements a persistent encrypted file for managing data keys with in-memory and read-only modes.
  • Parallel Snapshot Iteration - Enables concurrent iteration over database snapshots using multiple workers to batch filtered key-value pairs.
  • Point-In-Time Snapshots - Allows retrieving values using read-only transaction views to see data as it existed at a specific point in time.
  • Data Integrity and Validation - Implements internal checks to ensure key ordering and index consistency across storage levels.
  • Database Backups - Provides command-line utilities for performing offline database backups and restoration of state.
  • Atomic Key-Value Operations - Enables atomic updates by combining multiple values via user-defined functions, avoiding read-modify-write cycles.
  • High-Throughput Ingestion Pipelines - Optimizes high-throughput data ingestion using write-ahead logging and tiered LSM storage.
  • Asynchronous Value Merging - Combines multiple values for a single key via a custom function and collapses them in the background.
  • Prefix-Based Scanning - Supports reading key-value pairs filtered by specific key prefixes or selection functions.
  • Key-Value Store Iterators - Provides utilities for traversing sorted key-value pairs sequentially for efficient range scans.
  • Storage Engine Tuning - Provides settings to adjust memory table sizes and cache limits for optimized resource consumption.
  • Custom Value Merging - Provides custom-function value merging to efficiently combine multiple values for a single key.
  • Database Bootstrapping Streams - Accelerates restoration and replication by writing pre-sorted data streams directly to storage levels.
  • Value-Log Reclamation - Reclaims disk space by removing expired or obsolete data from value log files through a rewrite process.
  • Storage Integrity Verifiers - Validates checksums for entries in the value log and table blocks to detect data corruption.
  • Encrypted Key-Value Stores - Offers data-at-rest encryption and a managed encrypted key registry to secure stored information.
  • Database Performance Metrics - Exposes internal counters for read/write bytes and operation counts to monitor database health.
  • Database Engines - Fast key-value store in Go.
  • Database Systems - Listed in the “Database Systems” section of the Awesome Go awesome list.
  • Database Tools - KV database with ACID transactions.
  • Datenbanken - Fast, embedded key-value store.
  • Databases and Storage - Fast key-value database.
  • Databases & Data - High-performance embedded key/value store optimized for SSDs.
  • Key-Value Stores - Embeddable, persistent, and fast key-value database.

Star-Verlauf

Star-Verlauf für dgraph-io/badgerStar-Verlauf für dgraph-io/badger

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht dgraph-io/badger?

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.

Was sind die Hauptfunktionen von dgraph-io/badger?

Die Hauptfunktionen von dgraph-io/badger sind: Tree-Based Storage, Key-Value, ACID Transactional Cores, Log-Structured Merge-Trees, Compaction Strategies, Storage Compaction Utilities, Manifest-Based State Reconciliation, Embeddable Databases.

Welche Open-Source-Alternativen gibt es zu dgraph-io/badger?

Open-Source-Alternativen zu dgraph-io/badger sind unter anderem: boltdb/bolt — Bolt is a single-file embedded key-value store for Go applications. It is an ACID transactional database that… facebook/rocksdb — RocksDB is a high-performance, embeddable persistent key-value library and storage engine based on Log-Structured… etcd-io/bbolt — bbolt is an ACID-compliant embedded key-value store for Go applications. It persists all data in a single… google/leveldb — LevelDB is an embedded database library and persistent storage engine that provides a sorted key-value store. It uses… spacejam/sled — Sled is an embedded key-value store and ACID-compliant database designed for high-performance data persistence. It… syndtr/goleveldb — goleveldb is an embedded key-value storage database for Go. It provides local data persistence and indexing, allowing…

Open-Source-Alternativen zu Badger

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Badger.
  • boltdb/boltAvatar von boltdb

    boltdb/bolt

    14,642Auf GitHub ansehen↗

    Bolt is a single-file embedded key-value store for Go applications. It is an ACID transactional database that organizes data in B+trees on disk to provide efficient sorted key retrieval and range scans. The system uses a memory-mapped model to map the database file directly into the process address space for fast random-access reads. The project distinguishes itself through a multi-version concurrency control architecture that allows multiple simultaneous readers to access a consistent snapshot of data without blocking a writer. It employs a single-writer multi-reader locking model and uses a

    Go
    Auf GitHub ansehen↗14,642
  • facebook/rocksdbAvatar von facebook

    facebook/rocksdb

    31,767Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗31,767
  • etcd-io/bboltAvatar von etcd-io

    etcd-io/bbolt

    9,573Auf GitHub ansehen↗

    bbolt is an ACID-compliant embedded key-value store for Go applications. It persists all data in a single memory-mapped file on disk, organizing information using B+ trees to facilitate sorted key iteration and efficient range queries. The project distinguishes itself through a hierarchical data organization model, allowing buckets to be nested within other buckets to create a tree-like structure. It employs a single-writer, multi-reader locking mechanism and copy-on-write transactions to ensure serializable isolation and data integrity. The system includes comprehensive data management capa

    Go
    Auf GitHub ansehen↗9,573
  • google/leveldbAvatar von google

    google/leveldb

    39,152Auf GitHub ansehen↗

    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++
    Auf GitHub ansehen↗39,152
  • Alle 30 Alternativen zu Badger anzeigen→