À propos du projet
Zova est une base de données embarquée open source qui utilise SQLite comme cœur relationnel, en stockant toutes les données dans des fichiers `.zova` locaux. Elle offre quatre paradigmes de stockage de premier ordre : les enregistrements relationnels standard (tables, index, vues, déclencheurs SQLite et prise en charge complète de SQL), les objets adressés par contenu (adressés via SHA-256 des octets complets, avec prise en charge de morceaux dédupliqués FastCDC-v1 ou de morceaux en flux fixe de 1 MiB, ainsi que des lectures par plage et des lecteurs séquentiels à mémoire bornée), les collections vectorielles nommées (recherche plate exacte, prise en charge des métriques de distance cosinus, L2 et produit scalaire, et des types d'éléments f32, f16, i8 avec des tables virtuelles de recherche vectorielle natives SQL), et les relations de graphe (ID de nœuds stables fournis par l'application, arêtes dirigées et tables virtuelles de parcours natives SQL pour les requêtes de voisinage et de marche bornée).
Le projet est en version stable 1.0.0, avec la version 11 du format de stockage `.zova` actuel, et prend en charge une migration ascendante explicite depuis les bases aux formats 9 et 10, sans mutation silencieuse ni rétrogradation non prise en charge. Il intègre SQLite 3.53.4, donc aucune installation système de SQLite n'est requise, et inclut la prise en charge de la recherche en texte intégral FTS5 ainsi que la table virtuelle en lecture seule `dbstat` pour les diagnostics.
Zova fournit des liaisons officielles pour Rust, Python, Go, JavaScript/TypeScript, C ABI et Zig, ainsi qu'un outil CLI pour des opérations telles que l'inspection de base de données, les diagnostics, la récupération, la sauvegarde, la copie compacte et la restauration. Il propose également une prise en charge expérimentale des navigateurs via `zova-wasm` avec persistance OPFS. Des stockages liés optionnels d'objets, de vecteurs et de graphes permettent aux utilisateurs de décharger de gros octets d'objets, des lignes vectorielles ou la topologie de graphe vers des fichiers `.zova` séparés tout en conservant les métadonnées applicatives dans la base principale, avec des opérations explicites de liaison/déliaison/fractionnement et des contrôles de cohérence tenant compte des transactions. Les fonctionnalités supplémentaires incluent des événements d'application intra-processus pour les notifications de flux de travail de stockage, la prise en charge de l'hébergement d'extensions et le verrouillage hors ligne pour les flux de travail de migration.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.