The leaderless, shared-nothing distributed database built on Rust 2024. Combines ACID-compliant key-value storage with full-text search in a single binary.
# 1. Standard Search curl -X POST http://localhost:9480/api/books/search \ -H "Content-Type: application/json" \ -d '{ "query": "science fiction space", "limit": 10 }' # 2. Streaming Search (NDJSON) curl -X POST http://localhost:9480/api/books/stream \ -H "Content-Type: application/json" \ -d '{"query": "fantasy adventure"}' \ --no-buffer # Output: # {"_score": 3.2, "id": "123", "title": "The Hobbit"} # {"_score": 2.8, "id": "456", "title": "Dune"}
# 1. Direct Search (Scatter-Gather) async with CameoClient() as client: query = 'description:"distributed" AND stars: >500' results = await client.search("packages", query) print(f"Found {results.total} hits across cluster") # 2. Targeted Put (Unicast via Consistent Hash) await client.put("packages", { "id": "pkg_123", "routing_key": "python-lib", # Target specific shard "body": { "name": "cameodb", "tags": ["asyncio", "tantivy"] } }) # Data is now durably in Redb & indexed in Tantivy
// 1. Direct Search (Scatter-Gather) let query = "description:\"distributed\" AND stars: >500"; let results = client.search("packages", query).await?; println!("Found {} hits across cluster", results.total); // 2. Targeted Put (Unicast via Consistent Hash) client.put("packages", Document { id: "pkg_123", routing_key: Some("rust-lang"), // Target specific shard body: json!({ "name": "cameodb", "tags": ["actor", "tantivy"] }) }).await?;
We combine the durability of a Key-Value store with the power of FullText and Vector Indices. Every shard is an atomic unit of storage and search.
Data is committed to Redb for ACID guarantees, then immediately available in Tantivy for full-text search. No external sync required.
Nodes are self-sovereign. We use Consistent Hashing rings and DHT gossip for topology. No master node, no single point of failure.
Complete index isolation. Scale to thousands of indices with dynamic schema evolution and type validation built-in.
High-throughput bulk processing. Writes across multiple documents are atomic and durable, ensuring data integrity at scale.
Built on Kameo. Orchestrators manage Microshards as independent actors, ensuring strict async/sync isolation.
Blocking storage ops are strictly isolated via spawn_blocking, keeping the Axum/Actor async runtime lightning fast.
A look inside a CameoDB Node (`server` crate).
Handles incoming HTTP/Axum requests.
We stand on the shoulders of giants. By leveraging battle-tested libraries like Redb, Tantivy, and Tokio, CameoDB delivers enterprise-grade performance with a minimal footprint.
Deploy instantly with our optimized Docker images. Supports both single-node development and multi-node HA clusters out of the box.
We use a balanced licensing model inspired by Sentry. Core components are fully open, while the server product protects against cloud-hosting competition.
Join the innovators defining the future of data interaction.
Experience the momentum of a native, integrated search and database engine built for the modern era.
Open source. Free for development and use.