En el caso de las migraciones homogéneas de PostgreSQL a AlloyDB para PostgreSQL, Database Migration Service se conecta a la instancia principal del clúster de AlloyDB para PostgreSQL de destino y administra el proceso de migración continua en su nombre. La instancia principal de destino establece la conexión con tu base de datos de origen, mientras que Database Migration Service organiza y supervisa la canalización de datos de extremo a extremo.
Para las migraciones homogéneas estándar de PostgreSQL a AlloyDB para PostgreSQL,
Database Migration Service admite migraciones continuas.
En una migración continua, los datos iniciales se cargan desde un volcado de instantánea y, luego,
los cambios de datos en curso se replican de forma continua desde el registro de escritura anticipada (WAL) de la base de datos de origen
con la decodificación lógica y la extensión pglogical.
Para las migraciones continuas de
inicio rápido, Database Migration Service usa pgnative.
Fases de migración continua
Las migraciones continuas avanzan por las siguientes fases secuenciales:
Migraciones estándar
-
Configuración y organización de la replicación: Cuando creas el trabajo de migración, Database Migration Service configura la instancia principal del clúster de AlloyDB para PostgreSQL de destino
para que actúe como una réplica y establece suscripciones de replicación
con la extensión
pglogical. Cuando migras a un clúster de AlloyDB para PostgreSQL existente, Database Migration Service configura la replicación externa sin colocar la base de datos en modo de solo lectura. - Fase de instantánea inicial: Cuando inicias el trabajo de migración, Database Migration Service toma una instantánea coherente de las bases de datos seleccionadas en la instancia de origen. Este proceso bloquea brevemente la tabla (por lo general, menos de 10 segundos por tabla) mientras se inicializa la instantánea. La base de datos de origen sigue aceptando lecturas y escrituras durante todo el proceso.
- Fase de carga de datos: Database Migration Service transmite los datos de la instantánea inicial desde la base de datos de origen y los carga en la instancia principal del clúster de AlloyDB para PostgreSQL de destino.
- Creación de restricciones y de índices: Después de que finaliza la carga de datos inicial, se crean restricciones de tabla (incluidas las claves primarias y externas) y los índices secundarios en la instancia de destino. Separar la carga de datos de la creación de restricciones optimiza la velocidad de la transferencia de datos.
-
Fase de captura de datos modificados (CDC): Una vez que se aplican las restricciones,
Database Migration Service ingresa a la fase de CDC continua. Durante la CDC,
Database Migration Service captura los cambios de DML en curso del flujo de replicación lógica
de la base de datos de origen con
pglogicaly los aplica al clúster de destino casi en tiempo real. - Fase de migración de sistemas y promoción: Cuando estés listo para cambiar el tráfico de tu aplicación al clúster de destino, detén las operaciones de escritura en la base de datos de origen, verifica que el retraso de replicación llegue a cero y, luego, inicia la promoción en Database Migration Service. Durante la promoción, Database Migration Service desconecta el clúster de destino de la fuente, quita las ranuras de replicación y transforma el destino en una instancia principal independiente de lectura y escritura de AlloyDB para PostgreSQL.
Migraciones de inicio rápido
-
Configuración y organización de la replicación: Cuando creas el trabajo de migración, Database Migration Service configura automáticamente la conectividad de red a través de IPs privadas con interfaces de Private Service Connect (crea automáticamente parámetros de configuración de conectividad privada, adjuntos de red y subredes). Establece la replicación entre las bases de datos de origen y destino
con la replicación lógica de PostgreSQL
(con
pgnative), sin necesidad de instalar la extensiónpglogicalen el origen. El destino puede ser un clúster activo de AlloyDB para PostgreSQL que entrega tráfico a otras bases de datos. - Fase de instantánea inicial: Cuando inicias el trabajo de migración, Database Migration Service toma una instantánea coherente de las bases de datos seleccionadas (migra hasta 50 bases de datos por trabajo) en el servidor de la base de datos de origen. La base de datos de origen sigue aceptando lecturas y escrituras durante todo el proceso.
-
Fase de carga de datos: Database Migration Service transmite los datos de la instantánea inicial
directamente al clúster de AlloyDB para PostgreSQL de destino a través de la conectividad
privada. A los objetos de la base de datos de destino se les asigna la propiedad del
usuario de la base de datos de destino configurado para el trabajo de migración
(como el usuario
postgrespredeterminado). - Creación de restricciones y de índices: Después de que finaliza la carga inicial de datos, se crean restricciones de tabla y de índices secundarios en el clúster de destino para garantizar la fidelidad del esquema y, al mismo tiempo, maximizar el rendimiento de la transferencia.
-
Fase de captura de datos modificados (CDC): Una vez que se aplican las restricciones,
Database Migration Service ingresa a la fase de CDC continua. Durante la CDC,
Database Migration Service transmite los cambios de DML en curso desde el flujo de replicación lógica de PostgreSQL de
pgnativey los aplica al clúster de destino casi en tiempo real. Para las tablas sin claves primarias, las operacionesUPDATEyDELETEse pueden replicar cuando la identidad de la réplica de la tabla está configurada comoINDEXoFULL. - Fase de migración de sistemas y ascenso: Cuando estés listo para cambiar el tráfico de tu aplicación al clúster de destino, detén las operaciones de escritura en la base de datos de origen, verifica que el retraso de replicación llegue a cero y, luego, inicia el ascenso en Database Migration Service. Durante el ascenso, Database Migration Service finaliza la replicación de CDC, finaliza las ranuras de replicación y desconecta la canalización de migración, lo que deja las bases de datos de AlloyDB para PostgreSQL de destino completamente operativas para las conexiones de los clientes.
¿Qué sigue?
Para obtener más información sobre los datos de PostgreSQL y la compatibilidad con funciones en Database Migration Service, consulta Limitaciones conocidas.
Para obtener una explicación completa y paso a paso de la migración, consulta Comienza a usar las migraciones de AlloyDB para PostgreSQL.