Migración de Bases de Datos a AWS

Introducción

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.

Razones Para Migrar Los Datos

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:

  • Alto coste de las actualizaciones de HW y SW.
  • "Fin de la vida útil" de los productos.
  • Reducción de costes: apagado de entornos de aprobación durante períodos de inactividad.
  • Necesidad de una solución de base de datos con mejor escalabilidad y agilidad, para aplicaciones que también requieren soluciones Cloud Native.
  • Bases de datos modernas capaces de almacenar datos no estructurados, como audio de voz de clientes, comentarios en redes sociales, etc.

Estrategias De Migración

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.

Migraciones Homogéneas Vs 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:

  • Consolidación: Cuando el punto de partida son varios orígenes de datos y el punto de llegada es solo un destino ("migración de muchos a uno"). Aquí, los datos de diferentes fuentes se "consolidan" en un solo punto. En este caso, el modelo de datos puede ser homogéneo o heterogéneo.
  • Integración: Cuando hay muchas fuentes de partida y muchos puntos de llegada (migración "de muchos a muchos"), y el modelo de datos es extremadamente heterogéneo.
  • Actualización: Cuando hay un único origen inicial y un único destino (migración "uno a uno"), y el modelo de datos es homogéneo.
  • Migración: Cuando hablamos de migración en sí, estamos hablando de una "migración uno a uno", como el tipo de actualización. La diferencia es que, en este caso, los datos salen completamente de la plataforma de origen para ser alojados solo en la plataforma de destino. Además, aquí el modelo de datos suele ser heterogéneo.
AWS BBDD

Procesos y Planificación

Técnicas De Migración

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.

Digital Lover

Herramientas De Migración De Datos

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:

  • DBUA para la migración automatizada de datos: Las herramientas DBUA (Database Upgrade Assistant) se utilizan para automatizar la migración entre dos plataformas 100% coincidentes.
  • Controladores específicos: Diseñados para trabajar con controladores de base de datos específicos. Por ejemplo, Ora2Pg, un sistema utilizado para migrar bases de datos Oracle o MySQL a PostgreSQL.
  • ETL: Responsable de automatizar el proceso de extracción, transformación y carga de datos de diversas fuentes a un destino. Por ejemplo, AWS Glue ETL.
  • Migración de datos en la nube: las herramientas de migración de datos en la nube son los servicios de migración y sincronización que ofrecen los proveedores de la nube para el uso de sus servidores. Por ejemplo, AWS DataSync y AWS Data Migration Services.

Planificación y Dimensionamiento

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:

  • Comprobar las métricas de uso de su entorno (CPU, memoria e IOPS) para definir el tamaño de instancia futura correctamente.
  • Identificar los requisitos de disponibilidad de la base de datos para poder configurar los servicios de AWS con los parámetros adecuados asegurando la continuidad del negocio.
  • Identificar el tamaño de la base de datos y el tiempo de inactividad que la aplicación puede manejar, esto es muy importante pues se puede prever en que momento se puede interrumpir el servicio y cuando se puede llevar a cabo las diferentes tareas que tengan que ver con la migración y o mantenimiento.
  • Identificar la herramienta o técnica de migración adecuada.
  • Mapear los criterios de éxito para el funcionamiento de la base de datos en la nube. 

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.

Herramientas de AWS para migrar base de datos

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.  

AWS Schema Conversion Tool

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 Schema Conversion Tool

AWS Data Migration Services

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 Data Migration Services

AWS Data Migration Services with Snowball

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.

AWS Data Migration Services with Snowball

Conclusiones

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.

Enlaces

Cómo migrar bases de datos a soluciones en la nube

AWS Glue

webinar AWS

Guía de posibilidades profesionales sobre AWS
He leído y acepto la política de privacidad
Acepto recibir emails sobre actividades de recruiting NTT DATA