Este artículo es el primero de una serie de artículos relacionados con Migración de Base de Datos y AWS, por lo que vamos a empezar explicando, qué es Migración de Base de Datos y las herramientas que AWS nos provee para aplicarlo en su plataforma.
La información de este artículo ha sido extraída de la documentación oficial de AWS y dejaremos los enlaces oficiales en el apartado de referencias.
En el proceso de la Transformación Digital que un gran número de empresas han emprendido en los últimos años, uno de los cambios más importantes es lo que se ha denominado como el “Viaje al Cloud”, en este sentido las migraciones de bases de datos a la nube se han convertido en una prioridad en muchas empresas, impulsadas en gran medida por factores como:
Migrar una base de datos es un proceso complejo por eso se hace necesario tener en cuenta una serie de aspectos que permitan poder definir la estrategia de migración más adecuada permitiendo garantizar que sea un éxito.
En términos generales deberíamos tomar en cuenta si es posible la migración de la aplicación junto con la base de datos, si el software de base de datos actual cumple con los requisitos de la aplicación y debe mantenerse exactamente igual, si una aplicación estuviese sometiéndose a un proceso de modernización y las estructuras de tablas, índices y otro código se pudieran convertir en una nueva estructura de la base de datos e incluso en cambiar el manejador de BBDD.
Una vez entendido los supuestos antes señalados y la operación propia de la base de datos a migrar se pueden escoger entre los escenarios las migraciones homogéneas y las migraciones heterogéneas.
Los escenarios de migración de base de datos se dividen en dos tipos básicamente y ambas permiten la modernización de los entornos de bases de datos locales a la nube, las migraciones donde no hay cambios en el software de la base de datos (homogéneas) y las migraciones donde el software de base de datos cambia (heterogéneas).
Migraciones Homogéneas: Los motores de base de datos de origen y destino son los mismos o compatibles. Dado que la estructura del esquema, los tipos de datos y el código de la base de datos son compatibles entre las bases de datos de origen y de destino, este tipo de migración es un proceso de un solo paso.
Migraciones Heterogéneas: Los motores de base de datos de origen y destino son diferentes, así como la estructura del esquema, los tipos de datos y el código de la base de datos de origen y destino pueden ser muy diferentes, lo que requiere la transformación del código y el esquema antes de que comience la migración de datos.
Esto hace que las migraciones heterogéneas sean un proceso de dos pasos. Primero debe utilizar AWS Schema Conversion Tool para convertir el código fuente y el esquema para que coincidan con los de la base de datos de destino, a continuación, AWS Database Migration Service se utiliza para migrar los datos de la base de datos origen a la base de datos destino.
La combinación de posibles tipos de base de datos más comunes sería para Migraciones Homogéneas (Oracle local para Oracle en AWS, SQL Server local para SQL Server en AWS, PostgreSQL local para Amazon RDS PostgreSQL o Aurora PostgreSQL, MySQL local para RDS MySQL o Aurora MySQL) y Migraciones Heterogéneas (Oracle local para Amazon RDS PostgreSQL o Aurora PostgreSQL y SQL Server local para Amazon Aurora MySQL o Amazon Aurora PostgreSQL)
En estos escenarios de migración se hace importante tener en cuenta los tipos de consolidación de datos, ya que ayudan a determinar esfuerzo y herramientas a utilizar, los mismos se clasifican en:
Entender las técnicas de migración es esencial al momento de migrar una base de datos, pues estas ayudan a garantizar la continuidad del negocio, en un proceso extremadamente complejo y si no se pudiera mantener la continuidad de negocio pues crear los elementos necesarios para mitigar las posibles pérdidas sean cual fuere su naturaleza.
Técnica Big Bang para la migración de datos: Toda la transferencia de datos se lleva a cabo en un marco de tiempo específico, completando el 100% del proceso al mismo tiempo. Esta técnica tiene como fortaleza que hay menos tiempo de migración y como debilidad que los sistemas de origen y destino de los datos deben permanecer inactivos durante el proceso.
Técnica de migración incremental de datos: La técnica de migración incremental de datos, también llamada técnica de "goteo", consiste en transferir los datos poco a poco. Por lo tanto, el proceso se desarrolla en fases en lugar de todo al mismo tiempo. Esta técnica tiene como fortaleza que no hay tiempo de inactividad y que los datos en tiempo real estarán disponibles durante la duración de la migración y como debilidad la complejidad del diseño de procesos ya que el sistema debe ser capaz de identificar qué datos se han migrado y cuáles quedan por migrar, de modo que, cuando haya una solicitud de datos, el sistema sepa a qué punto debe redirigirlos, ya sea a la fuente local o a la nube de destino.
La selección de las herramientas de migración de datos depende del tipo de datos a migrar, sus fuentes de origen y sus puntos de destino. Por esta razón, a veces puede ser necesario utilizar más de una herramienta de forma combinada.
Principales tipos de herramientas:
Una vez que hemos conocido Las razones Para Migrar Los Datos, las diferentes Estrategias De Migración, Los escenarios de migración, las técnicas y herramientas de migración; nos quedaría por planificar las tareas necesarias para llevar a cabo la migración.
Las tareas que no se pueden perder de vista serían:
Como hemos dicho previamente este es un proceso complejo por eso no nos podemos olvidar de planear pruebas de migración de bases de datos y aplicaciones para validar la estrategia de migración y el rendimiento de las aplicaciones y después de las pruebas, identificar correcciones y ajustes en el proceso de migración.
AWS pone a disposición una serie de herramientas que permiten que el proceso de migración de base de datos (aunque complejo) se pueda ejecutar en un alto porcentaje de forma automatizada.
Se pueden convertir esquemas relacionales OLTP o esquemas de DWH. El esquema convertido será adecuado para un esquema de AWS RDS MySQL, MariaDB, Oracle, SQL Server, PostgreSQL DB, un clúster de base de datos de Amazon Aurora o un clúster de Amazon Redshift.
AWS DMS permite migrar BBDD a AWS Cloud de forma ágil y segura, y nos permite migrar datos hacia y desde la mayoría de las bases de datos comerciales de uso generalizado. Es un servicio y se encarga la administración, monitorización de hardware, notificación de los posibles errores que pudiesen aparecer y aporta todo el software necesario para realizar la migración.
AWS Snowball ayuda a realizar migraciones con grandes volúmenes de datos en los que se transfieren cientos de terabytes o petabytes. Se puede utilizar las capacidades de almacenamiento de AWS Snowball, que básicamente nos permite guardar los datos en un dispositivo físico, para su posterior traslado de forma segura a través de un transportista.
En este artículo hemos visto las razones para migrar los datos, las diferentes estrategias de migración, los escenarios de migración, las técnicas y herramientas y enunciado las tareas a planificar y qué herramientas tiene AWS para ejecutar la migración de base de datos, y en futuros artículos entraremos más en detalle de alguna de estas partes.
El siguiente artículo de esta serie de Migración de Base de Datos, un paso más hacia la modernización de aplicaciones desarrollaremos “Sumérgete en las migraciones de Bases de Datos al Cloud con AWS Schema Conversion Tool”, en el que explicaremos cómo funciona este acelerador de AWS y donde mostraremos ejemplos de cómo utilizarlo.