v0.28.18 · durable Raft state · 1M-record cluster verified

OxiDB

A fast, versatile document database.

JSON & SQL queries. ACID transactions. Full-text & vector search. S3-compatible blob storage. Sharded routing via oxipool. Raft replication with persistent state. Encryption at rest.

~5 MB binary · zero dependencies · embed or run as a server

Install OxiDB in 60 seconds

From zero to a running server. Single static binary, no dependencies, no installer.

1. Download the server

# Linux (x86_64)
curl -LO https://github.com/parisxmas/OxiDB/releases/download/v0.28.18/oxidb-server-v0.28.18-linux-amd64.tar.gz
tar xzf oxidb-server-v0.28.18-linux-amd64.tar.gz

# macOS (Apple Silicon)
curl -LO https://github.com/parisxmas/OxiDB/releases/download/v0.28.18/oxidb-server-v0.28.18-darwin-arm64.tar.gz
tar xzf oxidb-server-v0.28.18-darwin-arm64.tar.gz

# Windows: download oxidb-server-v0.28.18-windows-amd64.zip from /downloads/

2. Start the server

# Listens on 127.0.0.1:4444 by default; data goes to ./oxidb_data
./oxidb-server

# Or override with env vars:
OXIDB_ADDR=0.0.0.0:4444 OXIDB_DATA=/var/lib/oxidb ./oxidb-server

3. Connect and run your first query

# Download the CLI
curl -LO https://github.com/parisxmas/OxiDB/releases/download/v0.28.18/oxidb-cli-v0.28.18-linux-amd64.tar.gz
tar xzf oxidb-cli-v0.28.18-linux-amd64.tar.gz

# Open the REPL against the running server
./oxidb --host 127.0.0.1 --port 4444

oxidb> insert users {"name": "Alice", "age": 30}
oxidb> find users {"age": {"$gte": 18}}
oxidb> update users {"name": "Alice"} {"$inc": {"age": 1}}

Prefer to embed instead of running a server?

# Rust
cargo add oxidb

# Python (TCP client / embedded)
pip install oxidb
pip install oxidb-embedded

# Go
go get oxidb

# .NET
dotnet add package OxiDb.Client.Tcp

Need a different platform, source build, or the WebAssembly bundle? See Downloads · Full Quick Start · All clients.

Why OxiDB

Fast

2-3x faster than MongoDB on indexed queries at 1M docs, 2189x faster on indexed counts. Bytes-first wire path and direct JSONB→OxiWire converter eliminate the Value-tree intermediate.

Flexible Deployment

Embed as a Rust library with zero network overhead, or run as a TCP server with auth, TLS, and RBAC.

JSON + SQL

MongoDB-style JSON queries with $eq, $gt, $in, $regex, $or. Or use standard SQL with JOINs and GROUP BY.

ACID Transactions

Multi-collection OCC transactions. 3-phase commit with WAL. Crash recovery with CRC32 checksums.

Full-Text & Vector Search

TF-IDF ranked search across 8 document formats. HNSW vector index with cosine, euclidean, and dot product.

Sharding + Raft Replication

Horizontal sharding via oxipool (CRC32 routing, scatter-gather) on top of per-shard Raft groups. Persistent log survives container restarts. Verified at 1M records under mid-stream failover.

Document Indexing

Full-text index PDF, DOCX, XLSX, HTML, XML, JSON, and images (OCR). Search across all your documents with TF-IDF ranking.

S3 Blob Storage

S3-style bucket and object API for binary data. Store files alongside documents with CRC32 integrity checks.

Multi-Language

Official clients for Rust, Python, Go, .NET (TCP + Embedded + EF Core), Julia, and Swift.