martes, 10 de agosto de 2021

5.5 MIGRACIÓN DE LA BASE DE DATOS

 

La migración de bases de datos es el proceso mediante el que se migran datos de una o más bases de datos de origen a una o más bases de datos de destino mediante un servicio de migración de bases de datos. Cuando finaliza una migración, el conjunto de datos en las bases de datos de origen reside completo, aunque posiblemente reestructurado, en las bases de datos de destino. Los clientes que accedían a las bases de datos de origen se pasan a las bases de datos de destino, y las bases de datos de origen se desactivan.

En el siguiente diagrama, se ilustra este proceso de migración de las bases de datos.


En este documento, se describe la migración de bases de datos desde el punto de vista arquitectónico:

v  Los servicios y tecnologías involucrados en la migración de la base de datos

v  Las diferencias entre la migración de bases de datos homogéneas y heterogéneas

v  Las compensaciones y la selección de una tolerancia para el tiempo de inactividad de migración

v  Una arquitectura de configuración que admite un resguardo si se producen errores imprevistos durante una migración

En este documento, no se describe cómo configurar una tecnología de migración de base de datos en particular. En su lugar, presenta los principios, conceptos y fundamentos de la migración de bases de datos.

En el siguiente diagrama, se muestra una arquitectura de migración de base de datos genérica.

Un servicio de migración de bases de datos se ejecuta en Google Cloud y accede a las bases de datos de origen y de destino.

Se representan dos variantes: 

(a)  muestra la migración de una base de datos de origen desde un centro de datos local o una nube remota a una base de datos administrada como Cloud Spanner;

 (b) muestra una migración a una base de datos en Compute Engine.

Aunque las bases de datos de destino son de diferente tipo (administrado y no administrado) y configuración, la arquitectura y la configuración de migración de la base de datos es la misma para ambos casos.

Terminología

Los términos de migración de datos más importantes para estos documentos se definen de la siguiente manera:

Base de datos de origen: Es una base de datos que contiene datos para migrar a una o más bases de datos de destino.

Base de datos de destino: Es una base de datos que recibe datos migrados desde una o más bases de datos de origen.

Migración de bases de datos: Es una migración de datos desde bases de datos de origen hacia bases de datos de destino con el objetivo de desactivar los sistemas de bases de datos de origen una vez que se completa la migración. Se migra el conjunto de datos completo o un subconjunto.

Migración homogénea: Es una migración desde las bases de datos de origen hacia las bases de datos de destino en la que las bases de origen y de destino pertenecen al mismo sistema de administración de bases de datos, del mismo proveedor.

Migración heterogénea: Es una migración desde las bases de datos de origen hacia las bases de datos de destino en la que las bases de datos de origen y de destino pertenecen a diferentes sistemas de administración de bases de datos, de diferentes proveedores.

Sistema de migración de bases de datos: Es un sistema o servicio de software que se conecta a bases de datos de origen y de destino y realiza migraciones de datos desde bases de datos de origen hacia bases de datos de destino.

Proceso de migración de datos: Es un proceso configurado o implementado que ejecuta el sistema de migración de datos para transferir datos de bases de datos de origen a bases de destino, durante el cual es posible que los datos se transformen.

Replicación de base de datos: Es una transferencia continua de datos desde bases de datos de origen hacia bases de datos de destino sin la intención de desactivar las bases de datos de origen. La replicación de bases de datos (a veces llamada transmisión de bases de datos) es un proceso continuo.

Clasificación de las migraciones de bases de datos

Existen diferentes tipos de migraciones de bases de datos que pertenecen a diferentes clases. En esta sección, se describen los criterios que definen esas clases.


Comparación entre la replicación y la migración

En una migración de bases de datos, mueves datos de bases de datos de origen a bases de datos de destino. Una vez que los datos se migran por completo, borras las bases de datos de origen y redireccionas el acceso de los clientes a las bases de datos de destino. A veces, puedes mantener las bases de datos de origen como una medida de resguardo en caso de que surjan problemas imprevistos con las bases de datos de destino. Sin embargo, una vez que las bases de datos de destino funcionan de manera confiable, debes borrar las bases de datos de origen.

En cambio, con la replicación de base de datos, transfieres datos de forma continua desde las bases de datos de origen hacia las bases de datos de destino, sin borrar las de origen. A veces, la replicación de bases de datos se conoce como transmisión de bases de datos. Si bien hay una hora de inicio definida, por lo general, no se establece una hora de finalización. La replicación puede detenerse o convertirse en una migración.

Comparación entre la migración parcial y la migración completa

La migración de bases de datos se entiende como una transferencia de datos completa y coherente. Debes definir que el conjunto de datos inicial se transfiera como una base de datos completa o parcial (un subconjunto de los datos en la base de datos), además de que se transfiera cada cambio posterior confirmado en el sistema de base de datos de origen.

Comparación entre la migración heterogénea y la migración homogénea

Una migración de bases de datos homogénea es una migración entre bases de datos de origen y de destino con la misma tecnología de base de datos, por ejemplo, una migración desde una base de datos de MySQL hacia una de MySQL, o desde una base de datos de Oracle® hacia una de Oracle. Las migraciones homogéneas también incluyen migraciones entre un sistema de base de datos alojado en sí mismo, como PostgreSQL, y una versión administrada, como Cloud SQL (una variante de PostgreSQL).

En una migración de bases de datos homogénea, es probable que los esquemas de las bases de datos de origen y de destino sean idénticos. Si los esquemas son diferentes, los datos de las bases de datos de origen deben transformarse durante la migración.

La migración de base de datos heterogénea es una migración entre bases de datos de origen y de destino con diferentes tecnologías de base de datos, por ejemplo, desde una base de datos de Oracle hacia una de Spanner. La migración de base de datos heterogénea puede ser entre los mismos modelos de datos (por ejemplo, de un modelo relacional a uno relacional) o entre diferentes modelos de datos (por ejemplo, de un modelo relacional a uno de clave-valor).

La migración entre diferentes tecnologías de base de datos no siempre implica diferentes modelos de datos. Por ejemplo, Oracle, MySQL, PostgreSQL y Spanner admiten el modelo de datos relacionales. Sin embargo, las bases de datos de varios modelos, como Oracle, MySQL o PostgreSQL, admiten diferentes modelos de datos. Los datos almacenados como documentos JSON en una base de datos de varios modelos se pueden migrar a MongoDB con poca o ninguna transformación, ya que el modelo de datos es el mismo en las bases de datos de origen y de destino.

Aunque la distinción entre la migración homogénea y heterogénea se basa en tecnologías de base de datos, una categorización alternativa se basa en los modelos de bases de datos involucrados. Por ejemplo, una migración de una base de datos de Oracle a una de Spanner es homogénea si ambas usan el modelo de datos relacionales; una migración es heterogénea si, por ejemplo, los datos almacenados como objetos JSON en Oracle se migran a un modelo relacional en Spanner.

No hay comentarios:

Publicar un comentario