Vista general de AWS DMS
Para realizar una migración de base de datos, AWS DMS se conecta con el almacén de datos de origen, lee los datos de origen y formatea los datos para que el almacén de datos de destino pueda consumirlos. A continuación, carga los datos en el almacén de datos de destino. La mayor parte de este proceso tiene lugar en la memoria, aunque es posible que las transacciones grandes necesiten almacenamiento en búfer en el disco. Las transacciones almacenadas en caché y los archivos de registro también se escriben en el disco.
A grandes rasgos, cuando utiliza AWS DMS, hace lo siguiente:
-
Descubra las bases de datos del entorno de red que sean buenas candidatas para la migración.
-
Convierta automáticamente los esquemas de la base de datos de origen y la mayoría de los objetos de código de la base de datos a un formato compatible con la base de datos de destino.
-
Crear un servidor de replicación.
Crear los puntos de enlace de origen y de destino que tienen información de conexión sobre sus almacenes de datos.
-
Crear una o varias tareas de migración para migrar datos entre los almacenes de datos de origen y de destino.
Una tarea puede estar compuesta por tres fases principales:
Migración de datos existentes (carga completa)
La aplicación de cambios en la memoria caché
Replicación continua (Captura de datos de cambios)
Durante una migración de carga completa, en la que los datos existentes desde el origen se trasladan al destino, AWS DMS carga los datos de tablas en el almacén de datos de origen a tablas del almacén de datos de destino. Mientras se efectúa la carga completa, los cambios realizados en las tablas que se están cargando se almacenan en caché en el servidor de replicación. Estos son los cambios almacenados en caché. Es importante tener en cuenta que AWS DMS no captura cambios de una tabla determinada hasta que haya comenzado la carga completa de esa tabla. En otras palabras, el punto en el que comienza la captura de cambios es diferente para cada tabla.
Cuando se ha terminado de cargar completamente una tabla determinada, AWS DMS comienza de inmediato a aplicar los cambios en la memoria caché para esa tabla. Una vez cargada la tabla y aplicados los cambios en caché, AWS DMS comienza a recopilar los cambios como transacciones para la fase de replicación en curso. Si una transacción tiene tablas que aún no están completamente cargadas, los cambios se almacenan localmente en la instancia de replicación. Una vez que AWS DMS aplique todos los cambios en caché a todas las tablas, estas serán coherentes desde el punto de vista transaccional. En este punto, AWS DMS pasa a la fase de replicación continua, en la que se aplican los cambios como transacciones.
Al iniciarse la fase de replicación continua, habrá transacciones pendientes que causarán por lo general cierto desfase entre la base de datos de origen y la de destino. La migración alcanzará finalmente un estado estable después de procesar la acumulación de transacciones pendientes. En ese punto, puede cerrar las aplicaciones, dejar que se apliquen al destino las transacciones restantes y abrir de nuevo las aplicaciones, que entonces apuntarán a la base de datos de destino.
AWS DMS crea los objetos del esquema de destino necesarios para realizar una migración de datos. Puede utilizar AWS DMS para adoptar un enfoque minimalista y crea solo los objetos necesarios para migrar de manera eficiente los datos. Con este enfoque, AWS DMS crea tablas, claves principales y, en algunos casos, índices únicos, pero no crea ningún otro objeto que no se necesite para migrar eficientemente los datos desde el origen.
Otra opción, puede usar la conversión de esquemas del DMS dentro de AWS DMS para convertir automáticamente los esquemas de la base de datos de origen y la mayoría de los objetos de código de la base de datos a un formato compatible con la base de datos de destino. Esta conversión incluye tablas, vistas, procedimientos almacenados, funciones, tipos de datos, sinónimos, etc. Los objetos que la conversión de esquemas del DMS no pueda convertir automáticamente están marcados claramente. Para completar la migración, puede convertir estos objetos manualmente.