Blog
All articles. All pillars. All authors.
Intégration temporelle : des bugs à 100 % de couverture de tests
Le récit honnête de huit sessions de débogage, d'audit et de corrections qui ont porté le modèle temporel de FLIN d'un stub cassé à 100 % de couverture de tests.
Destroy et Restore : la suppression douce bien faite
Comment FLIN implémente trois niveaux de suppression de données -- suppression douce, suppression dure (destroy) et restauration -- avec la conformité RGPD intégrée au langage.
Filtrage et tri temporels
Comment nous avons ajouté le filtrage et le tri aux requêtes d'historique temporel de FLIN -- de la décision de conception d'éviter les lambdas à l'implémentation VM de ListFilterField et ListOrderBy.
Fonctions de comparaison temporelle
Comment nous avons construit six fonctions natives de comparaison temporelle dans FLIN -- field_changed, calculate_delta, percent_change, changed_from, value_changed et field_history.
Contraintes et validation dans FlinDB
Comment FlinDB applique l'intégrité des données avec des contraintes déclaratives -- unique, required, check, pattern, immutable et plus -- le tout sans écrire un seul trigger SQL.
Relations et chargement Eager/Lazy
Comment FlinDB gère les relations entre entités avec le chargement eager, la résolution lazy, les requêtes inverses et l'auto-indexation -- le tout sans jointures SQL.
Transactions et sauvegarde continue
Comment nous avons implémenté les transactions ACID avec points de sauvegarde, les sauvegardes complètes et incrémentales avec compression Zstd, le streaming WAL continu et la rotation programmée des sauvegardes dans FlinDB.
Requêtes graphe et recherche sémantique
Comment FlinDB implémente des algorithmes de traversée de graphe et une recherche sémantique alimentée par l'IA avec BM25, similarité vectorielle et fusion hybride par rang réciproque -- le tout intégré dans une seule base de données embarquée.
Le modèle de stockage EAVT
Comment le modèle d'event sourcing Entité-Attribut-Valeur-Temps de FlinDB fournit des pistes d'audit complètes, des requêtes temporelles et le rejeu d'entités -- inspiré par Datomic et construit en Rust.
Des entités, pas des tables : comment FlinDB pense les données
Pourquoi FlinDB utilise une conception centrée sur les entités plutôt que des schémas SQL centrés sur les tables -- et comment ce changement fondamental transforme tout dans le développement d'applications.
CRUD sans SQL
Comment FlinDB implémente les opérations de création, lecture, mise à jour et suppression sans une seule ligne de SQL -- et l'implémentation de la session 160 qui a rendu cela possible.
Agrégations et analytique
Comment nous avons ajouté les fonctions d'agrégation, GROUP BY, DISTINCT et les opérateurs IN/NOT IN à FlinDB en une seule session -- rendant l'analytique embarquée possible sans SQL.