Crate aviladb

Crate aviladb 

Source
Expand description

AvilaDB - Globally distributed NoSQL database optimized for Brazil and LATAM

§Features

  • 4 MB documents (2x larger than DynamoDB)
  • Native vector search (HNSW index)
  • Multi-region writes (FREE)
  • 5-10ms latency in Brazil
  • Automatic compression via avila-compress

§Quick Start

use aviladb::{AvilaClient, Document};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = AvilaClient::connect("http://localhost:8000").await?;
    let db = client.database("gamedb").await?;
    let players = db.collection("players").await?;

    // Insert document
    let player = Document::new()
        .set("userId", "player123")
        .set("username", "CoolGamer")
        .set("level", 42);

    players.insert(player).await?;
    Ok(())
}

Re-exports§

pub use client::AvilaClient;
pub use collection::Collection;
pub use config::Config as AvilaConfig;
pub use database::Database;
pub use document::Document;
pub use error::AvilaError;
pub use error::Result as AvilaResult;
pub use query::Query;

Modules§

client
AvilaDB client implementation
collection
Collection operations
config
Configuration for AvilaDB
database
Database operations
document
Document type and operations
error
Error types for AvilaDB
query
Query operations
storage
Storage layer using Sled (Pure Rust embedded database)
vector
Vector search operations

Structs§

Config
Configuration for AvilaDB client
InsertResult
Insert result with document ID and metadata
QueryResult
Query result with documents and metadata

Enums§

Error
AvilaDB error types
StorageClass
Storage class for documents

Constants§

MAX_DOCUMENT_SIZE
Maximum document size in bytes (4 MB)
MAX_PARTITION_SIZE
Maximum partition size in bytes (50 GB)

Type Aliases§

Result