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
- Insert
Result - Insert result with document ID and metadata
- Query
Result - Query result with documents and metadata
Enums§
- Error
- AvilaDB error types
- Storage
Class - 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)