DarkBird is a high-performance, document-oriented, in-memory database solution optimized for fast real-time data searches. It offers a rich set of features designed to handle a variety of use cases, ensuring efficiency and flexibility in data management.
Database Level Operations: From version 5.0.3, DarkBird is a full-featured database with schema support for building databases and performing operations at the database layer.
Persistence: Utilizes a non-blocking write-ahead-logging engine to ensure data persistence. Data is stored across multiple pages, providing reliability and consistency.
In-Memory Storage: Offers two modes: DiskCopies, which persists data to disk and reloads it into memory upon restart, and RamCopies, which keeps data purely in memory.
Concurrency: Employs a high-concurrent HashMap (DashMap) for thread-safe operations without needing Mutex/RwLock, allowing for efficient and concurrent access to data.
Vector Engine: Supports storing and searching vectors, enhancing its capability for handling complex data types.
Indexing: Provides dynamic indexing options, allowing users to decide which document fields to index for optimal query performance.
Full-Text Search: Integrated full-text search capabilities since version 3.5.0, enabling efficient text-based queries.
Materialized Views: Supports materialized views for faster query performance by storing the results of complex queries.
Tagging: Allows tagging of documents, facilitating quick retrieval of grouped documents by key.
Expiration: Introduces key expiry functionality from version 6.0.0, enabling automatic data cleanup.
Atomic Operations: Supports atomic operations similar to Redis's setNx from version 6.0.0.
Migration: Features a migration tool to transform existing (Key, Document) data on disk before storage opening.
Backup and Restore: Provides backup and restore capabilities from version 6.1.0, ensuring data safety and recoverability.
External Database Support: Enables copying storage data to external databases like Postgres, Cassandra, and Scylla, and loading data from them.
Event Handling: Allows subscription to DarkBird reporter for receiving events, useful for monitoring and logging.
DarkBird is an excellent choice for developers looking for a fast, reliable, and feature-rich in-memory database solution with extensive support for various advanced data operations and real-time data search capabilities.