Conviene haber comprendido Concurrencia, aislamiento y MVCC.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Migraciones con Pruebas y resolver un caso nuevo.
Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.
Las primeras secciones se leen sin instalar nada. Para practicar SQL prepara PostgreSQL o un DBMS equivalente.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan Migraciones y Pruebas? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Aprenderás a cambiar una base en producción sin depender de la suerte: migraciones compatibles, pruebas de reglas y señales que permiten detectar y explicar degradaciones.
- Expandir, migrar y contraer reduce el riesgo de una migración
- Las restricciones protegen siempre y las pruebas comprueban escenarios
- Métricas, registros y trazas convierten una lentitud en una hipótesis
Expandir, migrar y contraer reduce el riesgo de una migración
Primero se añade una estructura compatible, luego la aplicación escribe o lee ambos formatos, se completa el historial y se verifica. Solo cuando nada depende del formato anterior se elimina.
Cada paso puede desplegarse y observarse por separado.
Los backfills avanzan por lotes y pueden reanudarse.
La reversión se diseña antes de ejecutar el cambio.
¿Por qué renombrar una columna directamente puede romper un despliegue gradual?
Mostrar respuesta +
Porque durante un tiempo convivirán versiones de la aplicación que esperan nombres distintos. La expansión mantiene compatibilidad mientras se realiza la transición.
Las restricciones protegen siempre y las pruebas comprueban escenarios
NOT NULL, claves, UNIQUE y CHECK impiden estados inválidos en todas las rutas. Las pruebas agregan casos de integración, datos de frontera, migraciones y propiedades que abarcan varias tablas.
Prueba la regla cerca de la base y desde la aplicación.
Usa datos pequeños cuyo resultado puedas calcular a mano.
Verifica tanto aceptación válida como rechazo inválido.
¿Por qué una prueba exitosa no sustituye una restricción declarativa?
Mostrar respuesta +
La prueba observa casos concretos; la restricción actúa sobre todas las escrituras, incluidas las que llegan por otra aplicación o herramienta.
Métricas, registros y trazas convierten una lentitud en una hipótesis
Se observan latencia, tasa de consultas, errores, conexiones, bloqueos, réplicas y uso de recursos. Los registros explican eventos y las trazas conectan una petición con sus consultas. Las alertas deben señalar impacto, no ruido.
Compara con una línea base y percentiles, no solo promedios.
Relaciona cambios recientes con el inicio del síntoma.
Después del incidente documenta causa y prevención.
¿Por qué alertar por CPU alta puede ser insuficiente?
Mostrar respuesta +
CPU alta puede ser trabajo útil o una consecuencia. Una alerta valiosa combina saturación con latencia, errores o impacto en el servicio.
Tu recorrido en tres ideas
- Expandir, migrar y contraer reduce el riesgo de una migración
- Las restricciones protegen siempre y las pruebas comprueban escenarios
- Métricas, registros y trazas convierten una lentitud en una hipótesis
Cambia una columna sin detener versiones antiguas
Conecta compatibilidad de esquema, migraciones graduales, pruebas de datos y señales operativas.
La aplicación debe separar nombre_completo en nombre y apellido mientras todavía existen servidores con la versión anterior.
Procedimiento
- Expande el esquema con campos compatibles y escritura dual observable.
- Migra datos en lotes reanudables y compara conteos y valores.
- Cambia lecturas, vigila errores y solo después contrae el campo anterior.
Evidencia mínima
- Porcentaje migrado y discrepancias.
- Errores y latencia por versión de aplicación.
- Plan de pausa y reversión antes de cada etapa.
Mostrar razonamiento modelo +
La solución evita un cambio destructivo inmediato. Durante la transición, ambas versiones deben poder operar. La contracción ocurre cuando las lecturas antiguas desaparecieron y la consistencia fue comprobada.
Para ir más lejos¿Qué ocurre con los respaldos tomados a mitad de la migración?
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Modificar una columna de forma incompatible durante un despliegue gradual.
Alertar por cada cambio de recurso sin conectarlo con impacto.
Ahora hazlo sin guía
Planifica una migración expandir-migrar-contraer y las señales para comprobarla en una tabla de clientes.
Mostrar pauta de corrección +
- Cada etapa mantiene compatibilidad.
- Incluye pruebas, backfill reanudable y reversión.
- Define métricas, registros y condición de detener.
