One database.
Everything your data does.
Four products and six query modules on a single hash-keyed substrate. A write commits to every shape at once — rows, vectors, full-text, graph — so nothing you build on top can drift.
The platform, in four pieces.
The database itself, the storage underneath it, the access control inside it, and the replication ahead of it.
Rows, vector embeddings, full-text postings and graph edges land on the same write-ahead log in a single append — all shapes or none, by construction.
Every write on a durable log before it's acknowledged, snapshotted continuously, recoverable to any point in time — on a private instance per customer.
Row-level security and column masking live in the database, so "who sees what" is one policy that holds across every query shape and every connection.
A write is confirmed only once the cluster has accepted it; a machine dies and the survivors keep going — measured in fault drills, not just promised.
Six ways to ask. One store underneath.
Every module queries the same rows — there is no second cluster to provision and no sync job between them.
the SQL you'd write on paper — window functions, correlated subqueries, EXPLAIN ANALYZE
four distance metrics, HNSW to IVF-PQ, hybrid fusion in one request
fourteen graph methods shipped, per-hop EXPLAIN ANALYZE
BM25 relevance on the same write — 18-language stemming, UAX #29 + ICU tokenizers
plain-English questions, cost-informed plans, rows with the plan attached
reactive streams over every write
One write. Every module sees it.
Insert a row that carries an embedding, a full-text field and a typed relation, and all the updates land together. A query on another connection can never see a state where the row exists but the vector index hasn't caught up, the posting is missing, or the reverse edge isn't there yet.
A multi-engine stack can't guarantee this without a saga, a reconciler, and a worker that detects skew. On a single-engine design the drift is structurally impossible.
> INSERT INTO products (name, description, embedding, supplier_id) …
committed — one atomic write
row products row stored
vector embedding indexed
full-text description postings written
graph supplier edge + reverse edge
all shapes or none — no window where one shape is ahead