A document-oriented in-memory database optimized for fast real-time data searches, inspired by Erlang Mnesia.
DarkBird is a document-oriented, in-memory database designed for high-performance real-time data operations. It provides a full-featured database layer with persistence, concurrency, and advanced search capabilities, solving the need for rapid data access and manipulation in applications.
Rust developers building applications that require fast, in-memory data operations with persistence, such as real-time analytics platforms, caching layers, or services needing vector similarity search and full-text search.
Developers choose DarkBird for its combination of in-memory speed with robust persistence via non-blocking write-ahead logging, high concurrency without Mutex/RwLock overhead using DashMap, and integrated features like vector search, full-text search, and materialized views not typically found together in similar solutions.
In-memory database inspired by erlang mnesia
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses DashMap for thread synchronization without Mutex/RwLock, enabling efficient concurrent access as highlighted in the features.
Combines full-text search, vector similarity search, and indexing in one database, providing versatile real-time query capabilities since versions 3.5.0 and 6.2.0.
Implements non-blocking write-ahead-logging for data persistence, ensuring durability with minimal performance overhead as described in the persistent storage feature.
Supports document-oriented data with tagging, materialized views, and dynamic indexing for efficient retrieval and aggregation, as noted in the key features.
Available only as a Rust crate, limiting its use to Rust-based projects and reducing interoperability with other programming languages.
As an in-memory database, it requires substantial RAM for large datasets, which can be a scalability and cost concern, especially in resource-constrained environments.
The README notes significant API changes between versions, such as requiring Document models to implement traits from version 3.0.0, which can complicate upgrades and migration.