Embedded
pip install namidb. The “DuckDB for graphs” mode — your application
imports the library and talks to a bucket directly. Lowest latency,
no extra hop, no network boundary, no auth surface.
NamiDB is a graph database engine built from first principles for the era of object storage, columnar execution, and AI agents.
It is embedded like DuckDB, multi-tenant by namespace, and runs the same engine whether you import it as a library, run it as a daemon, or consume it on our hosted cloud. Object storage is the source of truth.
Three things changed. They changed everything.
If-Match / If-None-Match) — the last missing primitive. For the
first time, you can build a coordinated, durable system where object
storage is the database — no Raft, no ZooKeeper, no etcd.So we are building the database for that decade.
NamiDB is open under BSL 1.1 (converts to
Apache 2.0 after three years per release). The engine is open;
the cloud is the business — a hosted multi-tenant product on
namidb.com is the funding model that keeps
the engine moving.
NamiDB writes Cypher to your S3 bucket.
No control plane to provision. No Raft to tune. No etcd to babysit.
Conditional writes (If-Match / If-None-Match) on object storage
replace the consensus tier — the bucket itself is the source of truth.
Your graph database is just files in your bucket:
aws s3 syncThe engine is the same whether you run it as a library, as a Rust daemon over HTTP, or on our hosted multi-tenant cloud — and it works equally well against AWS S3, Cloudflare R2, GCS, Azure Blob, MinIO, or your local disk.
Embedded
pip install namidb. The “DuckDB for graphs” mode — your application
imports the library and talks to a bucket directly. Lowest latency,
no extra hop, no network boundary, no auth surface.
Server
namidb-server opens a namespace and exposes it over HTTP with
bearer-token auth. Right when the DB lives on a different machine
than the app, or you want a network boundary.
Cloud
Hosted multi-tenant SaaS on namidb.com with per-namespace
scale-to-zero, encrypted-at-rest tenants, and a managed control
plane. Closed beta — request access.
All three speak the same Cypher, return the same types, and write to the
same bucket layout. You can boot an embedded notebook against the same
s3://… URI a production daemon is serving.
CREATE, MERGE, SET, DELETE,
DETACH DELETE, REMOVE. Durable on commit_batch (WAL append +
manifest CAS).EXISTS
decorrelation), Parquet row-group pruning. EXPLAIN VERBOSE prints
the chosen plan with selectivity and cost annotations.AdjacencyCache, NodeViewCache,
and SstCache. Cross-snapshot reuse with Arc-shared, byte-budgeted
memory.memory://, file://, s3://, gs://,
az://, and any S3-compatible endpoint (R2, MinIO, Tigris, LocalStack).namidb-server HTTP daemon.30-second taste
Quickstart — six lines of Python, no credentials.
Your graph in S3
Your graph in S3 — point at an AWS bucket. Restart the process. The graph is still there.
Choose a deployment
Choose a deployment — Embedded vs Server vs Cloud, with a decision matrix.
Deep dive
The RFCs — 18 design documents covering the storage engine, SST format, optimizer, factorization, caches.