AWS Database Migration Service

Servicio para migrar bases de datos desde on-premises u otras nubes a AWS, compatible con migraciones entre motores homogéneos y heterogéneos y replicación continua

Descripción general

AWS Database Migration Service (DMS) es un servicio para migrar bases de datos relacionales, bases de datos NoSQL y data warehouses a AWS con un tiempo de inactividad mínimo. Soporta migraciones entre motores homogéneos (por ejemplo, Oracle a Oracle) y heterogéneos (por ejemplo, Oracle a Aurora PostgreSQL), y la función de replicación continua mediante CDC (Change Data Capture) permite mantener sincronizadas la base de datos de origen y destino durante la migración, logrando una transición con tiempo de inactividad prácticamente nulo.

Principio de migración con tiempo de inactividad cero mediante Full Load + CDC

La migración con DMS se ejecuta en dos fases: Full Load y CDC. En la fase de Full Load, todos los datos existentes en la base de datos de origen se copian en bloque al destino. Durante esta fase, la base de datos de origen continúa operando normalmente y las aplicaciones pueden seguir leyendo y escribiendo. En la fase de CDC que sigue, los cambios (INSERT, UPDATE, DELETE) que ocurrieron en el origen durante y después del Full Load se capturan en tiempo real y se replican en el destino. Cuando la latencia de replicación se reduce a unos pocos segundos, se puede realizar el corte (cutover) al destino. El procedimiento de cutover consiste en detener las escrituras de la aplicación al origen, esperar a que la replicación CDC se complete, cambiar la cadena de conexión de la aplicación al destino y reanudar las operaciones. Este tiempo de inactividad es típicamente de unos pocos minutos. Para migraciones de bases de datos de gran tamaño (varios TB), se puede acelerar el Full Load configurando múltiples tareas de migración en paralelo, divididas por tabla o rango de particiones.

Migración entre motores heterogéneos y práctica con Schema Conversion Tool

Cuando se migra entre motores diferentes (por ejemplo, de Oracle a Aurora PostgreSQL), es necesario convertir el esquema de la base de datos. AWS Schema Conversion Tool (SCT) analiza el esquema del origen y genera automáticamente el DDL equivalente para el motor de destino. Los procedimientos almacenados, triggers y vistas que no pueden convertirse automáticamente se marcan como elementos de acción, y el desarrollador los reescribe manualmente. El flujo de trabajo típico es: ejecutar SCT para convertir el esquema → aplicar el esquema en el destino → ejecutar DMS para migrar los datos. SCT también proporciona un informe de evaluación de migración que estima el esfuerzo de conversión como porcentaje, siendo útil para la planificación del proyecto de migración. Para migraciones de Oracle a PostgreSQL, las funciones específicas de Oracle (CONNECT BY, paquetes PL/SQL, tipos de datos propietarios) requieren reescritura, y SCT indica alternativas para cada una.

Dimensionamiento de instancias de replicación y optimización del rendimiento de migración

La instancia de replicación de DMS es el recurso de cómputo que ejecuta las tareas de migración, y su dimensionamiento impacta directamente en el rendimiento de la migración. Para migraciones de gran tamaño se recomienda dms.r5.2xlarge o superior, y para migraciones pequeñas dms.t3.medium es suficiente. Los factores que afectan el rendimiento incluyen: el ancho de banda de red entre origen y destino, el rendimiento de I/O de la instancia de replicación, la presencia de LOBs (Large Objects) y la complejidad de las transformaciones. Las columnas LOB degradan significativamente el rendimiento de la migración, por lo que se recomienda usar el modo LOB limitado (Limited LOB mode) para migrar solo hasta un tamaño máximo especificado. La ejecución paralela de múltiples tareas de migración puede mejorar el throughput, pero es necesario tener cuidado de no sobrecargar la base de datos de origen. Las métricas de CloudWatch (CDCLatencySource, CDCLatencyTarget, FullLoadThroughputRowsSource) permiten monitorear el progreso de la migración en tiempo real y detectar cuellos de botella.

共有するXB!