Sobre el proyecto
Zova es una base de datos embebida de código abierto que usa SQLite como núcleo relacional y almacena todos los datos en archivos locales .zova. Ofrece cuatro paradigmas de almacenamiento de primera clase: registros relacionales estándar (tablas, índices, vistas, triggers y soporte SQL completo de SQLite), objetos direccionados por contenido (direccionados mediante SHA-256 de los bytes completos, con soporte para chunks deduplicados FastCDC-v1 o chunks de streaming fijos de 1MiB, además de lecturas por rango y lectores secuenciales con memoria acotada), colecciones vectoriales con nombre (búsqueda plana exacta, soporte para métricas de distancia coseno, L2 y producto punto, y tipos de elemento f32, f16 e i8 con tablas virtuales de búsqueda vectorial nativas de SQL), y relaciones de grafo (IDs de nodo estables proporcionados por la aplicación, aristas dirigidas y tablas virtuales de recorrido nativas de SQL para consultas de vecinos y recorridos acotados).
El proyecto está en la versión estable 1.0.0, con la versión actual del formato de almacenamiento .zova 11, y admite migración explícita hacia adelante desde bases de datos de formato 9 y 10 sin mutación silenciosa ni degradaciones no soportadas. Incorpora SQLite 3.53.4, por lo que no se requiere una instalación de SQLite en el sistema, e incluye soporte para búsqueda de texto completo FTS5 y la tabla virtual dbstat de solo lectura para diagnóstico.
Zova proporciona bindings oficiales para Rust, Python, Go, JavaScript/TypeScript, C ABI y Zig, además de una herramienta CLI para operaciones como inspección de bases de datos, diagnóstico, rescate, copia de seguridad, copia compacta y restauración. También ofrece soporte experimental para navegador mediante zova-wasm con persistencia OPFS. Los almacenes vinculados opcionales de objetos, vectores y grafos permiten a los usuarios externalizar bytes de objetos grandes, filas vectoriales o topología de grafo a archivos .zova separados mientras se mantienen los metadatos de la aplicación en la base de datos principal, con operaciones explícitas de vinculación, desvinculación y división, y comprobaciones de consistencia conscientes de transacciones. Las funciones adicionales incluyen eventos de aplicación en el mismo proceso para notificaciones de flujos de trabajo de almacenamiento, soporte para alojar extensiones y bloqueo sin conexión para flujos de trabajo de migración.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.