Since this survey (checked 2026-10-01)

Built as read-only, embedded sources: SQLite (rusqlite), DuckDB, LadybugDB (lbug 0.21, Linux only — P-144), Turso (turso 0.7), redb 4, RocksDB 0.25, HelixDB embedded (git dependency, spec 002). Not started: Postgres/Supabase, Redis/Dragonfly, TypeDB, FalkorDB. The same crates are now also candidates for Moonkale’s own state: Internal State.

Verified on crates.io at time of writing. Re-verify before implementation.

TargetCrateVersionMaturityNotes
Postgres / Supabasesqlx (postgres)0.9highasync, pure Rust; pgvector via pgvector crate. Supabase REST is a browser-capable alternative (deferred).
SQLitesqlx (sqlite) / rusqlite0.9 / —highrusqlite if we need extensions (sqlite-vec).
DuckDBduckdb1.xhighbundled build; columnar; single writer. Also powers “folder of CSV/parquet as tables”.
Turso / libSQLlibsql0.10-premediumembedded replicas + remote.
TypeDBtypedb-driver3.12high (official)TypeQL; strongly typed schema.
LadybugDBlbug0.20.4high (official, docs.rs)Formerly Kuzu. Embedded, Cypher, FTS + vector indices. Build: downloads a prebuilt static liblbug, else compiles C++ via cmake (LBUG_SHARED, LBUG_LIBRARY_DIR, LBUG_INCLUDE_DIR, LBUG_BUILD_FROM_SOURCE). Extensions need extra linker flags in binaries. Sync API → spawn_blocking. Also has Wasm bindings (browser-direct embedded graph DB is conceivable later). Best first graph backend.
HelixDBhelix-db (features = ["embedded"])3.0mediumTwo modes: embedded (Client::open(HelixDbSource::Disk{root,database}).await; also Memory / S3-compatible) and server (helix init local --name dev && helix start dev → POST http://localhost:6969/v2/query, operation-tree body). Same request contract in both. Server mode is plain HTTP → usable from the browser build directly. Graph+vector in one — candidate RAG index backend. (helix-rs 0.0.0 is a dead placeholder.)
FalkorDBfalkordb0.10medium (official)RESP protocol; Cypher. Shares plumbing with Redis.
Redis / Dragonflyredis1.7highkeyspace notifications for events.

Implications

  • Embedded engines (SQLite, DuckDB, Ladybug) give a no-server local-first experience — implement first.
  • All four graph DBs now have usable Rust paths; lbug and helix-db embedded both compile native C/C++ or storage engines, so keep them behind features to protect build times.
  • HelixDB server mode is the first candidate for a browser-direct source (no api proxy needed).
  • All are native-only → ADR-0006 Native drivers only on native targets.

Also considered

  • lancedb 0.38 / usearch 2.26 for vectors (Indexing).
  • tantivy 0.26 for full-text.
  • recoco 0.2 (Rust-only CocoIndex fork) for the indexing pipeline.