Skip to main content

Crate aurora_db

Crate aurora_db 

Source
Expand description

§Aurora Database

Aurora is an embedded document database with tiered storage architecture. It provides document storage, querying, indexing, and search capabilities while optimizing for both performance and durability.

§Key Features

  • Tiered Storage: Hot in-memory cache + persistent cold storage
  • Document Model: Schema-flexible JSON-like document storage
  • Querying: Rich query capabilities with filtering and sorting
  • Full-text Search: Built-in search engine with relevance ranking
  • Transactions: ACID-compliant transaction support

§Quick Start

use aurora_db::{Aurora, Value, FieldType};

#tokio::main async fn main() -> Result<(), Box> { // Open a database let db = Aurora::open(“my_app.db”)?;

// Create a collection db.new_collection(“users”, vec![ (“name”, FieldType::String, false), (“email”, FieldType::String, true), // unique field (“age”, FieldType::Int, false), ]).await?;

// Insert data let user_id = db.insert_into(“users”, vec![ (“name”, Value::String(“Jane Doe”.to_string())), (“email”, Value::String(“jane@example.com”.to_string())), (“age”, Value::Int(28)), ]).await?;

// Query data let users = db.query(“users”) .filter(|f| f.gt(“age”, 21)) .collect() .await?;

§Ok(())

§}

Re-exports§

pub use crate::db::Aurora;
pub use crate::db::DataInfo;
pub use crate::error::AqlError;
pub use crate::error::Result;
pub use crate::query::QueryBuilder;
pub use crate::query::SearchBuilder;
pub use types::AuroraConfig;
pub use types::ColdStoreMode;
pub use types::Collection;
pub use types::Document;
pub use types::DurabilityMode;
pub use types::FieldDefinition;
pub use types::FieldType;
pub use types::Value;
pub use crate::parser::validator::ErrorCode;
pub use crate::parser::validator::InMemorySchema;
pub use crate::parser::validator::SchemaProvider;
pub use crate::parser::validator::ValidationError;
pub use crate::parser::validator::ValidationResult;
pub use crate::parser::validator::validate_document;
pub use storage::EvictionPolicy;
pub use storage::HotStore;
pub use pubsub::ChangeEvent;
pub use pubsub::ChangeListener;
pub use pubsub::ChangeType;
pub use workers::Job;
pub use workers::JobPriority;
pub use workers::JobStatus;
pub use transaction::TransactionBuffer;
pub use transaction::TransactionId;

Modules§

audit
client
computed
db
Aurora Database
error
index
network
parser
Aurora Query Language (AQL) Parser
pubsub
query
Aurora Query System
reactive
search
Aurora Full-Text Search Engine
storage
transaction
types
wal
workers