Skip to content

RedDB navigation

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
red://ask · connected

$ red server --http-bind 127.0.0.1:5055 --path ./data.rdb

INSERT INTO hosts (ip, os) VALUES ('10.0.0.1', 'linux');

SEARCH SIMILAR TEXT 'suspicious login' COLLECTION logs;

ASK 'who owns passport AB1234567 and what services do they use?'

grounded answer

Owner: Alice Costa. Services: billing, admin-console, vpn. Related records were found across table rows, vector matches, graph edges and KV config.

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.

  1. users table rows
    INSERT INTO users (name, email) VALUES ('Alice', 'alice@co.com')
  2. events documents
    INSERT INTO events DOCUMENT (body) VALUES ({"level":"warn"})
  3. identity graph edges
    INSERT INTO identity EDGE (label, from, to) VALUES ('OWNS', 'alice', 'passport:AB1234567')
  4. notes vectors
    INSERT INTO notes (body) VALUES ('suspicious login') WITH AUTO EMBED (body) USING openai
  5. settings key-value
    SET CONFIG acme.risk_threshold = 'high';

cross-model context · actual primitives

compact JSON preview
{
  "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" }
}
SEARCH CONTEXT shape
BucketCollectionKindNote
tablesuserstableindexed passport match
graph.edgesidentitygraph_edgeOWNS passport edge
vectorsnotesvector0.91 semantic similarity
documentslogsdocumentwarning login payload
key_valuesconfigkvrisk_threshold=high

Why this matters

The app asks one question. RedDB builds one context set from user rows, evidence documents, graph relationships, semantic matches, configuration state and pending workflow records.

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 guide
  • Documents

    JSON records with optional schema, when structure is partial.

  • Graphs

    Edges and traversals — context expansion for ASK without a sidecar.

  • Vectors

    Auto-embed on insert, similarity search, no vector DB to sync.

  • Key-Value

    Configuration, feature flags, hot keys — millisecond reads.

    fast state Key-Value guide
  • Cache

    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 guide
  • Time-series

    Retention, downsampling, native window queries.

  • Queues

    FIFO, priority, consumer groups — durable workflow primitives.

    workflows Queues guide
  • Probabilistic

    HyperLogLog, Count-Min Sketch, Cuckoo Filter — bounded-memory analytics.

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.

  1. embedded
    file://./data.rdb

    Use it like SQLite inside a Rust app, CLI or local tool. No daemon.

  2. server
    red server --http :5055 --grpc :5555

    Expose query, admin, backup and operational APIs over HTTP and gRPC.

  3. agent
    red mcp --stdio

    Let 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

Shell
$ 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:latest

The questions you actually have.

Still uncertain? Email hello@reddb.io or jump on GitHub Discussions.

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.