Módulo 8 · Bases de datos/Lección 53
Migrar bases de datos: DMS y SCT
Llevar una base existente a AWS con poco tiempo fuera de servicio, aunque cambie el motor.
Mover una base de datos es más delicado que mover servidores. Mientras copias, la aplicación sigue escribiendo, así que la copia nace desactualizada. Y a veces no solo cambias de lugar sino de motor: de Oracle a PostgreSQL, por ejemplo. AWS tiene herramientas para las dos cosas.
Homogénea o heterogénea
| Criterio | Homogénea | Heterogénea |
|---|---|---|
| Qué cambia | El lugar, no el motor | El lugar y el motor |
| Ejemplos | MySQL local → RDS for MySQL; PostgreSQL → Aurora PostgreSQL | Oracle → Aurora PostgreSQL; SQL Server → RDS for MySQL |
| Esquema y código | Se mantienen | Hay que convertirlos: tipos de datos, procedimientos, funciones |
| Herramientas | Herramientas nativas del motor o AWS DMS | Conversión de esquema (DMS Schema Conversion o AWS SCT) y luego AWS DMS |
| Esfuerzo | Menor | Mayor: hay que probar la aplicación con el motor nuevo |
AWS DMS: copiar sin apagar
AWS Database Migration Service (DMS) es, en el fondo, un servidor en AWS que corre software de replicación. Le dices dónde está la base de origen y dónde la de destino, y él mueve los datos. Funciona en dos fases:
- Carga completa (full load): copia todos los datos existentes.
- Captura de cambios (CDC, change data capture): mientras tanto lee los cambios que siguen ocurriendo en el origen y los aplica en el destino, hasta que los dos quedan sincronizados.
La base de origen sigue funcionando durante toda la migración. El tiempo fuera de servicio se reduce al momento de cambiar la conexión de la aplicación. DMS sirve para migraciones homogéneas y heterogéneas, y también para destinos como Redshift, DynamoDB o S3.
Convertir el esquema: DMS Schema Conversion y AWS SCT
DMS mueve datos. No traduce un procedimiento almacenado de Oracle a PostgreSQL. Para eso hay dos herramientas que hacen lo mismo de dos formas:
DMS Schema Conversion
Integrada en la consola de DMS. Evalúa qué tan compleja es la migración y convierte esquemas, vistas, procedimientos y funciones al motor de destino.AWS Schema Conversion Tool (SCT)
La misma idea, como aplicación que instalas en tu computador. Genera un informe con lo que se convierte solo y lo que debes ajustar a mano.
Lo que no se puede convertir automáticamente queda marcado para que un desarrollador lo reescriba. Por eso una migración heterogénea siempre incluye pruebas de la aplicación.
Los pasos de una migración
- 1
Inventariar y evaluar
Qué bases hay, cuánto pesan, qué motor y versión usan, quién depende de ellas. - 2
Elegir el destino
Mismo motor en RDS o Aurora, o un motor distinto si quieres dejar licencias comerciales. - 3
Convertir el esquema
Solo si es heterogénea: DMS Schema Conversion o SCT, y ajustes manuales. - 4
Carga completa y CDC
DMS copia todo y mantiene el destino sincronizado mientras el origen sigue en uso. - 5
Validar
Comparar conteos y datos, y probar la aplicación contra la base nueva. - 6
Cambiar la conexión (cutover)
Detener las escrituras un momento, esperar a que CDC termine y apuntar la app al destino. - 7
Retirar el origen
Después de un tiempo prudente, con un respaldo final.
La replicación como estrategia
Lo que hace posible migrar con poco tiempo fuera de servicio es la replicación continua: tener el destino siempre al día y cambiar de un lado al otro en minutos. Puede hacerla DMS con CDC o la replicación nativa del motor (por ejemplo, la replicación de MySQL o PostgreSQL hacia RDS). Dentro de AWS hay atajos: puedes crear una réplica de Aurora a partir de una base RDS for MySQL o RDS for PostgreSQL y luego promoverla.
Mover una base al mismo motor pero administrada (por ejemplo, de MySQL en un servidor propio a RDS for MySQL) es el ejemplo típico de la estrategia replatform. Las siete estrategias se ven en Migrar a AWS.
Quiz
Pon a prueba lo que aprendiste
0 de 4 correctas · 4 sin responder
1.Una empresa quiere mover su base Oracle a Aurora PostgreSQL. ¿Qué tipo de migración es?
2.¿Qué servicio migra una base de datos a AWS mientras la base de origen sigue en funcionamiento?
3.En una migración de SQL Server a MySQL, ¿qué herramienta convierte los procedimientos almacenados?
4.¿Qué hace la captura de cambios (CDC) en AWS DMS?