Skip to Content
Introduction

Welcome to RelataDB

RelataDB is a governed temporal knowledge database — policy, provenance, and bi-temporal history are in the query path, not bolted on top.

What makes it different

  • Bi-temporal rows — every record carries valid_from/to and system_from/to. Travel to any point in history with AS OF.
  • Identity resolution — cross-source entity matching built into the query language (LOOKUP_IDENTITY, RESOLVE_IDENTITIES, PATHS_BETWEEN).
  • Built-in governance — Cedar-inspired ABAC, cell masking, PURPOSE tracking, egress filtering, GDPR Art. 17 erasure.
  • Provenance on every row — PROV-O lineage + a tamper-evident audit hash chain, byte-identical exhibit replay.
  • Agent-native — 10 cognitive memory verbs over MCP and /memory/*, with a Memory client shipping in all four SDKs (Python, TypeScript, Go, Rust). Drop-in framework adapters (LangChain, LlamaIndex, CrewAI, AutoGen, LangGraph, Pydantic-AI, smolagents) are Python-only.
  • Universal protocols — speaks Postgres wire, gRPC, HTTP, MCP, Arrow Flight, SPARQL, plus S3, ClickHouse, Neo4j, Redis, and MongoDB doors. Bring your existing client.
  • Hybrid search — BM25 + custom HNSW vector + identity fusion with reciprocal-rank scoring in a single query.

Quick start

Pick the SDK that matches your stack — each takes under a minute. The server is one binary:

# Docker (recommended — no Rust required) docker run -d -p 9090:9090 ghcr.io/openworkbench-co/relatadb:latest # or from source cargo install --path crates/relata-cli --locked && relata serve
# pip install relata-sdk from relata import RelataClient with RelataClient("http://localhost:9090", purpose="analytics") as client: client.ingest("Person", [{"name": "Alice", "email": "alice@example.com"}]) for row in client.query("SELECT * FROM Person LIMIT 10"): print(row)
// npm install @relata/sdk import { createClient } from "@relata/sdk"; const relata = createClient("http://localhost:9090", { defaultPurpose: "analytics" }); const result = await relata.query("SELECT * FROM Person LIMIT 10"); console.log(result.rows);
# psql / pgvector / ClickHouse / Neo4j / Redis / Mongo / curl / S3 — all work too. curl -s http://localhost:9090/query \ -H 'Content-Type: application/json' \ -d '{"sql":"SELECT * FROM Person LIMIT 5"}'

Where to go next

What’s honestly shipping

RelataDB is on the path to 5.0 (epic #897). The governed core is real — bi-temporal store, planner with ACL + organisation isolation, provenance/audit hash chain, SmartIngest identity detection, and all ten protocol doors are implemented and smoke-tested. The honest gap list lives at Limits & Caveats; the design rationale lives in the ADR log  (101 ADRs).

Last updated on