awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
boltdb avatar

boltdb/boltArchived

0
View on GitHub↗
14,642 estrellas·1,542 forks·Go·MIT·9 vistas

Bolt

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 advisory filesystem locking to prevent multiple processes from opening the same database file simultaneously.

The database provides hierarchical data organization through nested buckets and supports unique identifier generation for records. It includes capabilities for hot backups, batch write updates to reduce disk commit overhead, and cursor-based key seeking and iteration.

Operational telemetry is available via internal database performance metrics to track system activity.

Features

  • Key-Value Stores - Implements a high-performance, file-based key-value store embedded directly within Go applications.
  • Key-Value - Provides a persistent key-value store for Go applications using a B+tree for ordered data storage.
  • ACID Transactional Cores - Ensures data consistency through ACID-compliant read-only and read-write transactions.
  • Atomic Commit Logs - Implements an atomic commit log to ensure data integrity and recovery of the last consistent state after crashes.
  • Memory-Mapped File Access - Maps the database file directly into the process address space for fast random-access reads without system calls.
  • Database Transaction Management - Maintains data consistency across multiple simultaneous clients using thread-safe read and write operations.
  • Disk Synchronization - Writes modified memory data to physical storage to ensure durability and prevent data loss during crashes.
  • Sorted Indexing - Uses B+tree structures to maintain ordered data, enabling efficient range queries and sorted key retrieval.
  • Memory-Mapped Storage - Maps the database file directly into the process address space for fast random-access reads.
  • Multi-Version Concurrency Control - Provides a consistent snapshot of data to readers without blocking writers using multi-version concurrency control.
  • Multi-Version Concurrency Control - Uses lock-free multi-version concurrency control to allow simultaneous readers without blocking a writer.
  • Single-Writer Multi-Reader Locking - Ensures data consistency by allowing multiple simultaneous read-only transactions while permitting only one active writer.
  • B-Tree - Uses B+Tree structures to organize data on disk for efficient sorted key retrieval and range scans.
  • Transaction Managers - Provides atomic read and write operations to maintain data consistency and integrity within the local store.
  • Write Throughput Optimizations - Combines multiple write operations into single transactions to increase throughput and reduce disk commit overhead.
  • Data-Block Management - Reclaims unused data pages and organizes storage blocks to optimize the allocation of new data.
  • Database Backups - Writes consistent snapshots of the database to a file without blocking concurrent reads and writes.
  • Page-Based Storage - Tracks and reuses fixed-size pages of disk space to optimize allocation and reduce file fragmentation.
  • Key Seeking - Provides the ability to move a cursor to a specific key or the nearest succeeding key.
  • Key-Value Store Iterators - Traverses keys in byte-sorted order using a cursor for sequential, prefix-based, or range-based scans.
  • Nested Bucket Hierarchies - Organizes key-value pairs into a tree of nested buckets to provide logical namespaces and data isolation.
  • Nested Data Buckets - Allows organizing data collections into a hierarchy by placing buckets inside other buckets to group related information.
  • Persistent Application State - Ensures application state is persisted to disk to survive process restarts and system crashes.
  • Single-Node Databases - Operates as a self-contained database instance that persists all data to a single local file.
  • Bases de datos - Low-level embeddable key-value database.
  • Databases and Storage - Embedded key/value database.
  • Databases & Data - Embedded key/value database for simple storage needs.
  • Embedded Databases - Low-level key-value database for Go applications.
  • Key-Value Stores - Embedded key-value database for Go applications.

Historial de estrellas

Gráfico del historial de estrellas de boltdb/boltGráfico del historial de estrellas de boltdb/bolt

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace boltdb/bolt?

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.

¿Cuáles son las características principales de boltdb/bolt?

Las características principales de boltdb/bolt son: Key-Value Stores, Key-Value, ACID Transactional Cores, Atomic Commit Logs, Memory-Mapped File Access, Database Transaction Management, Disk Synchronization, Sorted Indexing.

¿Qué alternativas de código abierto existen para boltdb/bolt?

Las alternativas de código abierto para boltdb/bolt incluyen: dgraph-io/badger — Badger is an embeddable key-value store written in Go that provides persistent data storage for byte keys and values.… etcd-io/bbolt — bbolt is an ACID-compliant embedded key-value store for Go applications. It persists all data in a single… spacejam/sled — Sled is an embedded key-value store and ACID-compliant database designed for high-performance data persistence. It… cberner/redb — redb is an embedded key-value store and ACID-compliant storage engine. It functions as a persistent storage system for… erikgrinaker/toydb — ToyDB is a distributed SQL database that provides a system for storing and querying data across multiple nodes. It… jankotek/mapdb — MapDB is an embedded database engine and disk-backed collection library that stores Java collections on disk or…

Alternativas open-source a Bolt

Proyectos open-source similares, clasificados según cuántas características comparten con Bolt.
  • dgraph-io/badgerAvatar de dgraph-io

    dgraph-io/badger

    15,666Ver en 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
    Ver en GitHub↗15,666
  • etcd-io/bboltAvatar de etcd-io

    etcd-io/bbolt

    9,573Ver en GitHub↗

    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
    Ver en GitHub↗9,573
  • spacejam/sledAvatar de spacejam

    spacejam/sled

    8,928Ver en GitHub↗

    Sled is an embedded key-value store and ACID-compliant database designed for high-performance data persistence. It functions as a log-structured storage engine that organizes data using B+ trees to support efficient range queries and prefix scans. The engine implements a zero-copy data store model, utilizing epoch-based reclamation to provide direct references to cached values without memory allocations. It distinguishes itself through a combination of write-ahead logging, page cache optimizations to reduce write amplification on flash storage, and serializable transactions for atomic multi-k

    Rustb-plus-treeb-treeconcurrent
    Ver en GitHub↗8,928
  • cberner/redbAvatar de cberner

    cberner/redb

    4,248Ver en GitHub↗

    redb is an embedded key-value store and ACID-compliant storage engine. It functions as a persistent storage system for saving and retrieving data as key-value pairs within a tree structure. The engine is built as an MVCC transactional database, utilizing multi-version concurrency control to manage simultaneous reads and writes without blocking. It employs a single-writer multi-reader model to ensure data consistency while allowing multiple threads to access the store. The system provides persistent state management and atomic transaction management to prevent data corruption during crashes.

    Rustrust
    Ver en GitHub↗4,248
Ver las 30 alternativas a Bolt→