Migration de base de données à temps d'arrêt nul vérifiée avec PlusCal

2025-03-11

Cet article de blog détaille comment l'auteur a utilisé PlusCal, un DSL pour TLA+, et la vérification formelle pour garantir l'exactitude d'une migration de base de données à temps d'arrêt nul. Un modèle PlusCal a été construit simulant les opérations utilisateur Insérer, Supprimer et Obtenir sur une base de données, ainsi qu'un processus de migration en arrière-plan. En simulant un système sans migration et un avec migration, et en vérifiant la cohérence des résultats de l'opération Obtenir dans tous les états, l'auteur a garanti l'exactitude de l'algorithme de migration. La vérification formelle a aidé à la détection précoce des défauts, comme la gestion incorrecte des TOMBSTONES, et a mis en évidence l'importance des opérations atomiques, comme l'atomicité de la vérification et de l'insertion de données pendant la migration.

Développement