A lightweight, high-performance multi-document database with live query and blob support, written in Rust.
video.mov
Full documentation available at: https://solidb.solisoft.net/docs/
- 🚀 Fast & Efficient — Built with Rust for maximum performance
- 📄 JSON Document Storage — Store and query JSON documents with ease
- 🗃️ Blob Storage — Native support for storing and retrieving binary files
- 💾 RocksDB Storage — Production-grade persistence with automatic crash recovery
- 🔍 SDBQL Query Language — Familiar query syntax inspired by ArangoDB
- 📊 Indexing — Hash, persistent, geo, and fulltext indexes
- 🌍 Geo Queries — Spatial indexes and distance functions
- 📝 Graph Traversals — Native graph queries and shortest path algorithms
- ⚡ Live Queries — Real-time subscriptions via WebSocket
- 🖥️ Lua Scripting — Server-side scripts for custom API endpoints
- ⏰ Background Jobs — Cron jobs and job queues with priorities and retries
- 🔄 Multi-Node Replication — Peer-to-peer replication with automatic sync
- 🧩 Sharding — Horizontal data partitioning with configurable shard count
- ⚖️ Auto-Rebalancing — Automatic data redistribution when nodes change
- ⚡ Hybrid Logical Clocks — Consistent ordering across distributed nodes
- 🔐 JWT Authentication — Secure API access with Bearer tokens
- 🔑 API Keys — Non-expiring keys for server-to-server communication
- 💳 Transactions — ACID transactions via X-Transaction-ID header
- 🖥️ Web Dashboard — Built-in admin UI for managing the database
SoliDB provides native client libraries for multiple languages. See Client Documentation for installation and usage details.
- Node.js (
solidb-client) - Python (
solidb) - Go (
solidb-go-client) - PHP (
solidb/php-client) - Ruby (
solidb) - Elixir (
solidb)
# Clone and build
git clone https://github.com/solisoft/solidb
cd solidb
cargo install --path .
# Start the server
solidbThe server starts on http://localhost:6745 with a web dashboard.
Note: A default admin user is created on startup with a randomly generated password displayed in the logs.
sudo apt-get install -y build-essential clang libclang-dev pkg-config libssl-dev libzstd-devsudo pacman -S base-devel clang gcc pkg-config openssl zstdVisit the full documentation for:
- Getting started guide
- API reference
- SDBQL query syntax
- Cluster setup
- Lua scripting
- And much more!