DarkBird

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.

Key Features

  • 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.

Crate

To include DarkBird in your project, add the following to your Cargo.toml:

darkbird = "6.2.4"

Examples

  • Explore complete examples in the DarkBird repository.
  • Check out a movie store service using DarkBird with Actix-web here.

Useful Links

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.

Similar Projects