Migración de base de datos con tiempo de inactividad cero verificada con PlusCal

2025-03-11

Esta publicación de blog detalla cómo el autor usó PlusCal, un DSL para TLA+, y la verificación formal para garantizar la corrección de una migración de base de datos con tiempo de inactividad cero. Se construyó un modelo PlusCal que simulaba las operaciones de usuario Insertar, Eliminar y Obtener en una base de datos, junto con un proceso de migración en segundo plano. Al simular un sistema sin migración y uno con migración, y verificar la consistencia de los resultados de la operación Obtener en todos los estados, el autor garantizó la corrección del algoritmo de migración. La verificación formal ayudó en la detección temprana de fallas, como el manejo inadecuado de TOMBSTONES, y destacó la importancia de las operaciones atómicas, como la atomicidad de la verificación e inserción de datos durante la migración.

Desarrollo