Durabilité et journal Write-Ahead Log
Statut documentaire : architecture — voir Maturité et preuves.
L'hypergraphe persistant utilise un journal write-ahead afin de séparer la production des modifications de leur application durable. Le moteur actuel contient un cache de journal à double entrée et un coordinateur conscient des transactions.
Lots de commit
Pendant une transaction, les changements de nœuds et de clés sont stagés par identifiant de transaction. Au commit, l'écrivain du journal émet le lot stagé entre des bornes explicites pending/commit tout en conservant une section d'écriture unique.
changements de transaction
-> staging des derniers enregistrements nœud/clé
-> demande de commit
-> début du lot journalisé
-> écriture des enregistrements stagés
-> fin du lot journalisé
-> libération du staging de transaction
Le staging permet aussi à une modification plus récente du même nœud ou de la même clé dans une transaction de remplacer un enregistrement stagé plus ancien avant l'écriture du lot validé.
Cache de journal à double entrée
Le cache sépare un côté écriture d'un côté lecture/snapshot. Un swap fait passer l'écrivain courant en position lecteur et ouvre une nouvelle cible d'écriture. Les opérations write/flush et le swap sont sérialisés afin qu'une rotation ne s'intercale pas au milieu d'une opération producteur.
Cette architecture permet la consommation asynchrone de lots journalisés stables pendant que les nouvelles écritures continuent sur l'écrivain suivant.
Tags et enregistrements logiques
Les blocs du journal peuvent porter des tags 64 bits. Le moteur utilise des tags et types de blocs pour distinguer les frontières transactionnelles et les catégories de données persistées. Leurs valeurs numériques et formats binaires restent des détails privés ; une intégration publique ne doit pas les parser directement.
Prudence opérationnelle
Un WAL est un mécanisme de durabilité, mais sa présence ne suffit pas à établir une garantie publique complète de reprise après crash. Tant que la reprise/relecture n'est pas certifiée comme contrat public, les opérateurs doivent utiliser les procédures Runtime supportées de sauvegarde, arrêt, redémarrage et health checks plutôt qu'interpréter directement les fichiers de journal.