RedDB Database · Cloud + self-host
One engine for every data model.
Postgres, Mongo, Redis, Pinecone, Neo4j, Influx, RabbitMQ — replaced by one engine that also answers natural-language questions across your data. For startups that can't afford a 5-person infra team.
Or self-host with npm i @reddb/cli
BSL 1.1 self-host Free nano database No credit card
- 7→1
- databases consolidated
- <1ms
- cache-hit latency
- fsync+WAL
- durable on every commit
- BSL 1.1
- every line auditable
- 241K/s
- bulk insert
- <1ms
- cache hit
- 11
- providers
The stack problem
Your app should not need seven databases to answer one question.
Most startups end up paying five vendors and writing the glue between them. RedDB makes the data model a query capability instead of a separate product to deploy, sync, observe and recover.
Fragmented stack
- Postgres
- rows
- Mongo
- docs
- Neo4j
- graphs
- Pinecone
- vectors
- Redis
- kv + cache
- Influx
- metrics
- RabbitMQ
- queues
RedDB
- Collections
- one engine
- ASK
- cross-model context
- Drivers
- Rust · JS · Python
One query surface
Insert anything. Select across everything.
RedDB lets collections carry different data semantics without forcing your app to stitch together separate APIs for every model.
Mental model
Collections are where data lives. Models are how you use it.
In RedDB, a collection is a named logical container. A collection can behave like a table, document store, graph, vector index, key-value namespace, time-series series or queue depending on what you write into it.
- users table rows
INSERT INTO users (name, email) VALUES ('Alice', 'alice@co.com') - events documents
INSERT INTO events DOCUMENT (body) VALUES ({"level":"warn"}) - identity graph edges
INSERT INTO identity EDGE (label, from, to) VALUES ('OWNS', 'alice', 'passport:AB1234567') - notes vectors
INSERT INTO notes (body) VALUES ('suspicious login') WITH AUTO EMBED (body) USING openai - settings key-value
SET CONFIG acme.risk_threshold = 'high';
cross-model context · actual primitives
SEARCH CONTEXT 'passport:AB1234567' DEPTH 2;
ASK 'who owns passport AB1234567 and what services do they use?';{
"ok": true,
"query": "ASK 'who owns passport AB1234567 and what services do they use?'",
"mode": "sql",
"capability": "table",
"statement": "ask",
"engine": "runtime-ai",
"record_count": 1,
"result": {
"columns": ["answer", "provider", "model", "prompt_tokens", "completion_tokens", "sources_count"],
"records": [{
"values": {
"answer": "Alice Costa owns passport AB1234567. The answer is based on the users collection, the identity graph edge, the logs document, the notes vector match and config key risk_threshold=high.",
"provider": "groq",
"model": "llama-3.3-70b-versatile",
"prompt_tokens": 1834,
"completion_tokens": 74,
"sources_count": 5
},
"nodes": {}, "edges": {}, "paths": [], "vector_results": []
}],
"stats": { "nodes_scanned": 0, "edges_scanned": 0, "rows_scanned": 0, "exec_time_us": 0 }
},
"selection": { "scope": "any" }
}| Bucket | Collection | Kind | Note |
|---|---|---|---|
| tables | users | table | indexed passport match |
| graph.edges | identity | graph_edge | OWNS passport edge |
| vectors | notes | vector | 0.91 semantic similarity |
| documents | logs | document | warning login payload |
| key_values | config | kv | risk_threshold=high |
Why this matters
9 models, 1 engine
Stop shipping a database zoo.
One storage format, one query surface. Each collection behaves like the model your workload needs — click a card for the full surface area on its own page.
Tables
SQL rows, joins and indexes — Postgres-wire compatible.
relational Tables guideDocuments
JSON records with optional schema, when structure is partial.
json Documents guideGraphs
Edges and traversals — context expansion for ASK without a sidecar.
edges Graphs guideVectors
Auto-embed on insert, similarity search, no vector DB to sync.
semantic Vectors guideKey-Value
Configuration, feature flags, hot keys — millisecond reads.
fast state Key-Value guideCache
Tiered blob cache built into the engine: L1 memory + L2 durable, prefix and tag invalidation. Existing Redis keys port over without a rewrite.
tiered TTL Cache guideTime-series
Retention, downsampling, native window queries.
metrics Time-series guideQueues
FIFO, priority, consumer groups — durable workflow primitives.
workflows Queues guideProbabilistic
HyperLogLog, Count-Min Sketch, Cuckoo Filter — bounded-memory analytics.
sketches Probabilistic guide
Drivers
Speak the language you already write in.
First-class drivers for the languages teams ship in production. Postgres-wire on top means anything that talks to Postgres talks to RedDB.
- TS
JavaScript / TypeScript
stable
- Py
Python
stable
- Rs
Rust
stable
- Jv
Java
beta
- Kt
Kotlin
beta
- C++
C++
beta
- PG
Postgres-wire
stable
- Go
Go
planned
Support levels and install commands: driver catalogue
Deploy modes
Start local. Scale out. Give agents memory.
- embedded
file://./data.rdbUse it like SQLite inside a Rust app, CLI or local tool. No daemon.
- server
red server --http :5055 --grpc :5555Expose query, admin, backup and operational APIs over HTTP and gRPC.
- agent
red mcp --stdioLet AI agents read and write durable state directly via the Model Context Protocol.
AI providers
Swap models without rewriting your app.
- OpenAI
- Anthropic
- Groq
- OpenRouter
- Together
- Venice
- DeepSeek
- Ollama
self-host quick start · 3 paths
$ curl -fsSL https://raw.githubusercontent.com/reddb-io/reddb/main/install.sh | bash
$ npx reddb-cli@latest server --http --bind 127.0.0.1:5055
$ docker run --rm -p 5055:5055 ghcr.io/reddb-io/reddb:latestThe questions you actually have.
Still uncertain? Email hello@reddb.io or jump on GitHub Discussions.
You can — it works until you also need graphs, time-series with retention, queues with consumer groups, geo, and a RAG pipeline. Then you are wiring five services and writing the glue. RedDB collapses that surface area into one engine and keeps SQL for the workload that wants SQL.
The engine is in production with design partners but the public surface (HTTP, gRPC, file format) can change at minor versions. Use it where moving fast matters more than locking the API. We document every breaking change in the CHANGELOG and ship migration scripts. Read more
Yes. RedDB is source-available under the Business Source License 1.1, and you can self-host it for free as the database behind your own product — including your customers' data — as long as your customers use your product, not RedDB. A commercial license is only needed to offer database functionality to others: a DBaaS, a backend-as-a-service, or letting your customers define their own schemas or run their own queries against RedDB. Internal tools, development, testing and research are free too. The license converts to AGPL-3.0 on June 22, 2030. Edge case? Email hello@reddb.io.
RedDB speaks the Postgres wire protocol, so existing clients (psql, pgx, JDBC, Prisma) connect without changes. Document import is a single CLI command per collection. Vector backfill streams from any OpenAI-compatible embedding API while the new collection is being populated.
Same engine, same file format. Self-host means you run the binary, manage backups, scale yourself. Cloud is the same binary plus a control plane that handles deploys, backups, metrics and updates. There is no Cloud-only feature in the engine.
Self-host: continuous backup hooks for major object-storage providers plus WAL archiving for point-in-time recovery. Cloud: managed backups, scheduled snapshots and (on the Scale tier) read replicas across regions.
Cloud writes the same .rdb file format as self-host and exports continuous backups to a bucket you own. The CLI imports those backups directly. Worst case: you keep running the self-hosted build with no migration.
SurrealDB and EdgeDB are multi-model engines but neither ships native ASK / RAG. Supabase is managed Postgres with extensions — great if Postgres is enough for you. RedDB's differentiation is the cross-model ASK plus the nine first-class data models (tables, documents, graphs, vectors, KV, cache, time-series, queues, probabilistic) in one engine, with both managed and embedded distribution.
Cache-hit reads land under 1ms. Bulk insert via gRPC sustains roughly 241k ops/sec on commodity hardware. OLAP-heavy GROUP BY work is currently 2–5× behind ClickHouse. Benchmarks and methodology live in the repo. Read more
Self-host: GitHub Issues and the community Discord. Cloud Starter: email with a 24h response target. Cloud Scale: a dedicated Slack/Teams channel and a 99.9% SLA.
60 seconds to first query
Merge the stack. Ship the next thing.
curl | bash for the self-hosted build, or claim your free nano database on Cloud — no credit card, no sales call.
Or self-host with npm i @reddb/cli