Pour les migrations PostgreSQL homogènes vers AlloyDB pour PostgreSQL, Database Migration Service se connecte à l'instance principale du cluster AlloyDB pour PostgreSQL de destination et gère le processus de migration continu en son nom. L'instance principale de destination établit la connexion à votre base de données source, tandis que Database Migration Service orchestre et surveille le pipeline de données de bout en bout.
Pour les migrations PostgreSQL homogènes standards vers AlloyDB pour PostgreSQL, Database Migration Service est compatible avec les migrations continues.
Dans une migration continue, les données initiales sont chargées à partir d'un vidage d'instantané, puis les modifications de données en cours sont répliquées en continu à partir du journal WAL de la base de données source à l'aide du décodage logique et de l'extension pglogical.
Pour les
migrations à démarrage rapide continues, Database Migration Service utilise pgnative.
Phases de migration continue
Les migrations continues se déroulent selon les phases séquentielles suivantes :
Migrations standards
-
Configuration et orchestration de la réplication : lorsque vous créez le job de migration, Database Migration Service configure l'instance principale du cluster AlloyDB pour PostgreSQL de destination pour qu'elle agisse en tant qu'instance répliquée et établit des abonnements de réplication avec l'extension
pglogical. Lors de la migration vers un cluster AlloyDB pour PostgreSQL existant, Database Migration Service configure la réplication externe sans placer la base de données en mode lecture seule. - Phase d'instantané initial : lorsque vous démarrez le job de migration, Database Migration Service prend un instantané cohérent des bases de données sélectionnées sur l'instance source. Ce processus verrouille brièvement la table (généralement moins de 10 secondes par table) pendant l'initialisation de l'instantané. La base de données source continue d'accepter les lectures et les écritures tout au long du processus.
- Phase de chargement des données : Database Migration Service diffuse les données de l'instantané initial à partir de la base de données source et les charge dans l'instance principale du cluster AlloyDB pour PostgreSQL de destination.
- Création de contraintes et d'index : une fois le chargement initial des données terminé, les contraintes de table (y compris les clés primaires et les clés étrangères) et les index secondaires sont créés sur l'instance de destination. La séparation du chargement des données de la création de contraintes optimise la vitesse d'ingestion des données.
-
Phase de capture des données modifiées (CDC) : une fois les contraintes appliquées, Database Migration Service passe à la phase de CDC continue. Pendant la CDC, Database Migration Service capture les modifications LMD en cours à partir du flux de réplication logique de la base de données source à l'aide de
pglogicalet les applique au cluster de destination en temps quasi réel. - Phase de basculement et de promotion : lorsque vous êtes prêt à basculer le trafic de votre application vers le cluster de destination, arrêtez les écritures dans la base de données source, vérifiez que le délai de réplication atteint zéro et lancez la promotion dans Database Migration Service. Lors de la promotion, Database Migration Service déconnecte le cluster de destination de la source, supprime les emplacements de réplication et transforme la destination en une instance principale AlloyDB pour PostgreSQL autonome en lecture/écriture.
Migrations à démarrage rapide
-
Configuration et orchestration de la réplication : lorsque vous créez le job de migration, Database Migration Service configure automatiquement la connectivité réseau sur des adresses IP privées à l'aide d'interfaces Private Service Connect (en créant automatiquement des configurations de connectivité privée, des rattachements de réseau et des sous-réseaux). Il établit la réplication entre les bases de données source et de destination à l'aide de la réplication logique PostgreSQL (avec
pgnative), sans nécessiter l'installation de l'extensionpglogicalsur la source. La destination peut être un cluster AlloyDB pour PostgreSQL actif qui diffuse du trafic vers d'autres bases de données. - Phase d'instantané initial : lorsque vous démarrez le job de migration, Database Migration Service prend un instantané cohérent des bases de données sélectionnées (en migrant jusqu'à 50 bases de données par job) sur le serveur de base de données source. La base de données source continue d'accepter les lectures et les écritures tout au long du processus.
-
Phase de chargement des données : Database Migration Service diffuse les données de l'instantané initial directement dans le cluster AlloyDB pour PostgreSQL de destination via une connectivité privée. Les objets de la base de données de destination sont attribués à l'utilisateur de la base de données de destination configuré pour le job de migration (par exemple, l'utilisateur
postgrespar défaut). - Création de contraintes et d'index : une fois le chargement initial des données terminé, des contraintes de table et des index secondaires sont créés sur le cluster de destination pour garantir la fidélité du schéma tout en maximisant les performances d'ingestion.
-
Phase de capture des données modifiées (CDC) : une fois les contraintes appliquées, Database Migration Service passe à la phase de CDC continue. Pendant la CDC, Database Migration Service diffuse les modifications LMD en cours à partir du flux de réplication logique PostgreSQL
pgnativeet les applique au cluster de destination en temps quasi réel. Pour les tables sans clé primaire, les opérationsUPDATEetDELETEpeuvent être répliquées lorsque l'identité de l'instance répliquée de la table est configurée surINDEXouFULL. - Phase de basculement et de promotion : lorsque vous êtes prêt à basculer le trafic de votre application vers le cluster de destination, arrêtez les écritures dans la base de données source, vérifiez que le délai de réplication atteint zéro et lancez la promotion dans Database Migration Service. Pendant la promotion, Database Migration Service finalise la réplication CDC, met fin aux emplacements de réplication et dissocie le pipeline de migration, ce qui permet à vos bases de données AlloyDB pour PostgreSQL de destination d'être entièrement opérationnelles pour les connexions clientes.
Étapes suivantes
Pour en savoir plus sur la compatibilité des données et des fonctionnalités PostgreSQL dans Database Migration Service, consultez Limites connues.
Pour obtenir un guide de migration complet, étape par étape, consultez Premiers pas avec les migrations AlloyDB pour PostgreSQL.