LatticeDB: base de datos de grafos embebida con búsqueda vectorial y full-text en un único archivo

Fuentes: LatticeDB: an embedded single-file graph database with vector and full-text search

LatticeDB es una base de datos de grafos embebida y de archivo único pensada para ejecutarse en local sin servidor ni configuración. Su propuesta de valor central es unificar tres capacidades —recorrido de grafos de propiedades, búsqueda por similitud vectorial (HNSW) e indexación full-text con BM25— bajo un mismo motor y un único lenguaje de consulta, lo que elimina la necesidad de combinar varias bases de datos especializadas.

El sistema está orientado a cargas de trabajo con relaciones densas en una sola máquina, siguiendo un modelo local-first con un único escritor y durabilidad respaldada por WAL. Toda la información (grafo, vectores, texto y un log de eventos durable con changefeed de grafos) se almacena en un único archivo portable. Según las cifras publicadas en el repositorio, las búsquedas de nodos se resuelven en 0,13 μs y la búsqueda vectorial sobre 1 millón de vectores tarda 0,83 ms manteniendo un recall del 100%, medidas tomadas en un Apple M1 con buffer pool auto-escalado.

LatticeDB se presenta como un motor genérico sobre el que se construyen casos de uso como Graph RAG, memoria de agentes o herramientas de conocimiento local, no como una librería acoplada a esos escenarios. Ofrece SDK oficiales para Python (pip install latticedb), TypeScript/Node.js (@hajewski/latticedb) y bindings en Go vía cgo, además de una CLI instalable mediante un script curl. Los wheels y paquetes publicados incluyen la biblioteca nativa liblattice en las plataformas soportadas, y los builds desde fuente permiten empaquetar la biblioteca con la variable LATTICE_BUNDLE_LIB_DIR.

El repositorio incluye una guía de inicio rápido para los cuatro lenguajes, ejemplos de recuperación combinada grafo/vector/texto y un documento de migración de la API de cliente tras recientes refactorizaciones de la superficie de bindings.