- Notifications
You must be signed in to change notification settings - Fork9
In-memory database inspired by erlang mnesia
License
NotificationsYou must be signed in to change notification settings
Rustixir/darkbird
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
DarkBird is adocument-oriented,in-memory database solution optimized forfast real-time data searches.
- Database level: darkbird was storage, but from ( vsn 5.0.3 ) is full-featured databasebecause provide Schema for building database and all operation do with database layer
- Persistent: Uses anon-blocking write-ahead-logging engine for data persistence, storing data to multiple pages.
- In-memory: Data is stored in memory, with two modes (DiskCopies,RamCopies), the first persisting data to disk and reloading the data into memory after restart.
- Concurrency: Uses a high-concurrent HashMap (DashMap) and doesn't require Mutex/RwLock for thread synchronization.
- Vector: darkbird provide a vector engine for storing and searching vectors
- Indexing: Supports indexing, allowing for dynamic decision-making about which document fields to index.
- Full-text search: Supports full-text search operations since version 3.5.0.
- Materialized view: Supports materialized view
- Tagging: Each document can have multiple tags, and one tag can refer to many documents, making it great for indexing groups of documents for fast retrieval by key.
- Expiration: from vsn 6.0.0 support key expiry.
- Atomic Operation: from vsn 6.0.0 support Atomic Operation (just like redis setNx)
- Migration: The storage model is (Key, Document), and you can use
migration
to change the existing (Key, Document) data on disk before opening the storage. - Backup / Restore from vsn-6.1.0 support Backup/Restore
- External database support: Supports Copy storage data to Postgres/Cassandra/Scylla and load from it.
- Event handling: Subscribe to darkbird reporter to receive events.
darkbird = "6.2.4"
- 2.0.0: Improvedperformance and addedpersistent copy of whole data to a database.
- 3.0.0: Implementedindexing,tagging, andrange queries.Document model must implement tree trait from this version
- 3.5.0: Added full-text search API
- 4.0.0: Addedmaterialized view support. Document models must implement the MaterializedView trait, and API is provided to fetch view models. Uses
&str
instead of&String
for better performance and API compatibility. All examples are updated. - 5.0.1: migrated from Storage to Database world with Schema builderand Database layer to do all operation also is compatible with older version
- 5.0.2: fixedbug persist indexing and changed fullText search api for a bugall examples updates
- 5.0.3: fixedbug loader
- 6.0.0: added another storage Engine for supporting:atomic operation (just like redis setNx), expiration and simpler api
- 6.0.1: Backup/Restore _ new migration component (recover self if occure error)
- 6.2.0: Vector Engine
About
In-memory database inspired by erlang mnesia
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.