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