En el caso de las migraciones homogéneas de PostgreSQL a Cloud SQL, Database Migration Service se conecta a la instancia de Cloud SQL para PostgreSQL de destino y administra el proceso de migración continua en su nombre. La instancia 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 Cloud SQL,
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 de inicio rápido continuas, 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 de Cloud SQL para PostgreSQL de destino para que actúe como una réplica y establece suscripciones de replicación con la extensión
pglogical. Cuando se migra a una instancia de Cloud SQL existente, Database Migration Service desciende de nivel la instancia para configurarla como una réplica 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 toma un breve bloqueo de 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 de destino de Cloud SQL para PostgreSQL.
- 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 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 de la transmisión de replicación lógica
de la base de datos de origen con
pglogicaly los aplica a la instancia de destino casi en tiempo real. - Fase de migración de sistemas y ascenso: Cuando estés listo para cambiar el tráfico de tu aplicación a la instancia 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 la promoción, Database Migration Service desconecta la instancia de destino de la fuente, quita las ranuras de replicación y transforma el destino en una instancia principal de Cloud SQL para PostgreSQL independiente de lectura y escritura.
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 ni descender de nivel la instancia de destino. El destino puede ser una instancia activa 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 a la instancia de Cloud SQL 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 al usuario de migración generado por Database Migration Service (cuando se usa la consola de Google Cloud ) o se especifica con Google Cloud CLI.
- 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 la instancia 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 a la instancia de destino casi en tiempo real. En el caso de 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 promoción: Cuando estés listo para cambiar el tráfico de tu aplicación a la instancia 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 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 destino de Cloud SQL para PostgreSQL completamente operativas para las conexiones de clientes.
¿Qué sigue?
Para obtener más información sobre la compatibilidad de datos y funciones de PostgreSQL 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 Cloud SQL para PostgreSQL.