Aurora DB
A hybrid embedded document database with key-value storage and document collections.
Features
- Hybrid Storage: In-memory cache + persistent disk storage
- Document Collections: Schema-flexible JSON-like documents
- Advanced Queries: Rich filtering, sorting and indexing
- Blob Storage: Efficient handling of binary objects
- Async API: High-performance operations with async/await support
- Durability: Write-ahead logging for crash recovery
- Network Support: Optional HTTP JSON and high-performance binary servers
Library Usage
To use Aurora DB as an embedded library in your Rust project, add it to your Cargo.toml:
[]
= "0.1.0"
= { = "1", = ["full"] }
Basic Example
use ;
async
Running as a Server
Aurora DB can also run as a standalone server, accessible over the network. The server is provided as a separate binary within the crate, enabled by feature flags.
Server Features
http: Enables the Actix-powered HTTP/JSON REST API.binary: Enables the high-performance Bincode-based TCP server.full: Enables both servers.
Running the Server
To run the server binary, use the --features flag with Cargo:
# Run the HTTP server on port 7879
# Run the binary server on port 7878
# Run both servers simultaneously
Documentation
See the docs directory for detailed guides on CRUD operations, querying, and schema management.
Performance
Aurora DB delivers fast performance across various operations:
Operation 'Database initialization' took: 103.54ms
Operation 'Basic KV operations' took: 307.40µs
Operation 'Collection setup' took: 3.25ms
Operation 'Query books by Author' took: 759.70µs
Status
Currently in beta. Core functionality is stable and actively developed.
License
MIT License