StackMap
Subscribe

latticedb vs turbovec

Embedded single-file graph database in Zig: graph traversal, HNSW vector search and BM25 full-text in one query language, plus a durable event log — built for Graph RAG and local agent memory. — versus — Rust vector index with Python bindings built on Google's TurboQuant: no training step, online ingest, hand-written SIMD kernels — 10M x 1536 vectors in ~4 GB, with allowlist-filtered search.

The curated verdict

Both embed search with no server to run. LatticeDB fuses graph traversal, HNSW and BM25 into one query language in a single file; turbovec does one thing — quantized dense search — and expects another system to handle the rest.

latticedbturbovec
Stars61417k
Forks281.4k
LanguageZigRust
LicenseMITMIT
Last activity2 days ago10 days ago
Topicsknowledge-graphs, rag, localrag, local, storage
Curated connections45

latticedb — the curator's take

SQLite's shape applied to the three retrieval modes agents actually need. One file, no server, one query layer where a Cypher-style MATCH can filter on vector distance and a full-text match in the same statement, and one WAL that graph writes and named event streams share — so your changefeed is transactional with the graph. Quoted 0.13µs node lookups and 0.83ms vector search at 1M vectors, with CLI, Python, TypeScript, Java and Go bindings. Reach for it when relationships are the point and you were about to bolt a vector DB onto a graph DB. Do not reach for it for multi-writer or multi-machine work: it is explicitly single-writer, one owning process, one machine. Also young — Zig, 567 stars, bundled native libs per platform, and the built-in `hash_embed` helper is a deterministic placeholder, not an embedding model.

turbovec — the curator's take

Use it when the vector index is a component, not a product: you already have Postgres or BM25 doing the filtering and just need dense rerank that fits in RAM and accepts writes without a rebuild. The data-oblivious quantizer is the real ergonomic win — no train step, no parameter tuning, no reindex as the corpus grows, which is exactly the FAISS ritual people hate. It is an index, not a database: no metadata, no replication, no server, no hybrid scoring, bring your own storage and ID mapping. And it is quantized, so measure recall on your own corpus before you trust it over exact search.