🧪 Problem-Driven Systems Lab

🛠️ Opciones de solución#

OpciónQué resuelveQué cuesta
Expand-contract en 4 fasesLa app nunca espera más que un loteCuatro despliegues en vez de uno, y convivir un tiempo con dos columnas
Backfill por lotes con pausaEl motor recupera aire entre lote y loteLa migración tarda más en total — y está bien que así sea
Feature flag para el switchVolver atrás es un toggle, no otra migraciónCódigo que lee de las dos columnas mientras dure la transición
DDL online del motor (CONCURRENTLY, pt-online-schema-change)Evita el lock largo sin cambiar la aplicaciónDepende del motor y de la operación; no todas lo soportan
Ventana de mantenimientoSimple y honesto con el usuarioDowntime programado, que para muchos negocios no es una opción

Las tres primeras son el patrón que este caso ejecuta. La cuarta lo complementa; la quinta es lo que se hace cuando ninguna de las otras está disponible.


Caso 17 · Migración de esquema sin downtime⬅️ README del caso · ⚖️ Comparativa de los 7 stacks

🗺️ Contexto · 🩺 Síntomas · 🔍 Diagnóstico · 🧠 Causas raíz · 🛠️ Opciones de solución · ⚖️ Trade-offs · 💼 Valor de negocio · 🚨 Postmortem

Ver esta carpeta en GitHub ↗