What is KuzuDB?
KuzuDB was DuckDB for graphs before the term existed: an embedded, columnar, Cypher-queryable graph database born from university research — with 10+ enterprise users, VLDB publications, and then an Apple acquisition that froze it.
The origin: research → product
Kuzu (KuzuDB) grew out of graph data-management research at the University of Waterloo. The core insight, published at CIDR/VLDB 2023 (Jin et al. — read the paper), was that analytical graph workloads benefit enormously from columnar storage + vectorized (batch) execution — the same ideas that made DuckDB dominant for tables. A second VLDB paper followed in 2025: NaviX — a native vector index for graph DBMSs with robust predicate-agnostic search (Sehgal & Salihoglu), proposing a disk-based HNSW index with adaptive prefiltering so filtered kNN search stays fast at any selectivity.
📚 Two VLDB papers — and NaviX finished in LadybugDB
- Kuzu architecture (CIDR/VLDB 2023, Jin et al.): columnar + vectorized execution for property graphs — the "DuckDB for graphs" blueprint.
- NaviX (VLDB 2025, Sehgal & Salihoglu — arXiv:2506.23397): native HNSW vector index with predicate-agnostic prefiltering for filtered vector search inside the graph engine.
NaviX was only partially implemented when Kuzu was archived — the paper outlived the code. LadybugDB completed the NaviX implementation this year, shipping the native vector index the research promised: filtered kNN that evaluates the selection sub-query first and adapts its heuristic per vector, robust across selectivities. The lineage is now complete — architecture and vector search, paper to production.
In-process library (C++, Python, Node, Rust). No server to operate — pip install kuzu and go.
Compressed columns, morsel-driven parallelism. Scans & aggregations fly.
openCypher dialect. MATCH (a)-[e]->(b) with explain & profiling.
Why developers loved it
- Zero-ops: a file on disk, queryable from Python in 3 lines. Perfect for notebooks, edge agents, CI.
- Permissive MIT license: safe for highly regulated industries and commercial embedding.
- Real analytics: aggregations, window functions, and large multi-hop joins that row-store graph DBs struggle with.
- Small, hackable core: C++ engine with clean bindings — easy to extend and audit.
# Kuzu (and LadybugDB) — Python in 3 lines
import kuzu
db = kuzu.Database("./mydb")
conn = kuzu.Connection(db)
conn.execute("MATCH (a:Person)-[:KNOWS]->(b) RETURN a.name, b.name LIMIT 10")
What happened: the Apple acquisition
KuzuDB's team was acquired by Apple. Open-source commits stopped, issues went unanswered, and the roadmap froze. For the 10+ enterprise teams running Kuzu in production — especially agentic AI in legal, medical, and finance — that meant security risk + migration urgency: no patches, no features, no support.
LadybugDB: the active KuzuDB successor
LadybugDB carries the same philosophy forward — embedded + columnar + Cypher + MIT — with active development and an AI-agent-first surface area:
| KuzuDB (frozen) | LadybugDB (active) | |
|---|---|---|
| License | MIT | MIT, forever |
| Engine | Embedded, columnar, Cypher | Embedded, columnar, Cypher ✓ |
| Maintenance | Halted (Apple acquisition) | Active development + releases |
| Agent surface | SDKs only | SDKs + OpenAPI + MCP server |
| Support | None | Community + enterprise contracts |
Migration is one command on each side: EXPORT DATABASE in Kuzu, IMPORT DATABASE in LadybugDB — no CSV round-trip. Migration guide →
On Kuzu? Move to its maintained successor.
LadybugDB installs in one command. MIT open source, Cypher-compatible.