An embedded key-value database for Elixir, designed for robustness and minimal resource usage.
CubDB is an embedded key-value database for Elixir, designed for robustness and minimal resource usage. It provides ACID transactions, multi-version concurrency control (MVCC), and ensures data integrity through an immutable, append-only B-tree structure. It solves the need for a reliable, lightweight database that can handle any Elixir term as keys and values.
Elixir developers needing a lightweight, embedded key-value store with ACID guarantees and crash resilience for applications like configuration storage, caching, or local data persistence.
Developers choose CubDB for its simplicity, robustness, and efficient handling of concurrent reads and writes without blocking, all while ensuring data integrity even after crashes. Its ability to store any Elixir term and provide zero-cost snapshots makes it uniquely flexible for Elixir ecosystems.
Elixir embedded key/value database
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows any Elixir term as keys and values, eliminating serialization needs for complex data structures as highlighted in the README's 'Any Elixir Term' feature.
Provides full ACID transactions ensuring data integrity during concurrent operations and crashes, a core feature emphasized for reliability.
Implements multi-version concurrency control so reads and writes proceed concurrently without blocking, enabling high concurrency in read-heavy workloads.
Uses an immutable, append-only B-tree to prevent data corruption on unexpected shutdowns, ensuring atomicity and durability as per the philosophy.
Limited to key-value operations and range selects, lacking support for complex queries, indexes, or aggregations, which restricts analytical use cases.
Relies on manual or automatic compaction to reclaim space from the append-only log, adding maintenance complexity and risk of bloat if neglected.
Designed as a single-node embedded database without built-in replication or clustering, making it unsuitable for scalable, high-availability systems.