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
- π Columnar Storage β Column-oriented storage for analytics workloads with LZ4 compression and specialized indexes (Sorted, Hash, Bitmap, MinMax, Bloom)
- ποΈ 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
- π Common Table Expressions β WITH clauses for composable, reusable subqueries
- π¦ COLLECT AGGREGATE β GROUP BY with inline aggregations (COUNT, SUM, AVG, MIN, MAX)
- β‘ Prepared Statement Cache β Parse once, execute many with automatic LRU eviction
- β±οΈ Time Series β TIME_BUCKET function for grouping temporal data into intervals (seconds, minutes, hours, days)
- π Stream Processing β CREATE STREAM with tumbling/sliding WINDOW clauses for continuous aggregations
- π§ Vector Indexes β Create and query vector indexes for ML/AI workloads
- π Hybrid Search β Combined vector similarity + fulltext search in a single query
- π Vector Functions β VECTOR_DISTANCE, VECTOR_NORMALIZE, quantization/dequantization
- β‘ 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
- π Distributed Transactions β Two-phase commit (2PC) for ACID guarantees across shards
- π Replication Lag Metrics β Per-peer lag monitoring via Prometheus
- π OpenTelemetry Tracing β W3C traceparent propagation for distributed tracing
- β‘ Regex Caching β Compiled regex patterns cached globally (~8000x speedup on repeated patterns)
- π 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!