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 este documento, se describe la migración de bases de datos desde el punto de vista arquitectónico:
·
Los servicios y
tecnologías involucrados en la migración de la base de datos
· Las diferencias entre
la migración de bases de datos homogéneas y heterogéneas
· Las compensaciones y
la selección de una tolerancia para el tiempo de inactividad de migración
· 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.
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. En este documento, solo se analiza la migración
de bases de datos.
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.
La categorización de las migraciones según el
modelo de datos expresa con mayor precisión la complejidad y el esfuerzo
necesarios para migrar los datos que cuando la categorización se basa en el
sistema de base de datos involucrado. Sin embargo, debido a que la
categorización que más se usa en la industria es la basada en los sistemas de
bases de datos involucrados, las secciones restantes se enfocan en esa
distinción.
No hay comentarios.:
Publicar un comentario