Cette rubrique explique comment utiliser DTS pour migrer les données d'un cluster PolarDB for PostgreSQL vers une instance ApsaraDB RDS for PostgreSQL.
Prérequis
Vous avez créé un cluster de base de données source PolarDB for PostgreSQL. Pour plus d'informations, consultez la page Créer un cluster de base de données.
Vous avez créé une instance de destination ApsaraDB RDS for PostgreSQL. Pour plus d'informations, consultez la page Créer une instance RDS.
Vous avez défini le paramètre
wal_leveldu cluster source PolarDB for PostgreSQL surlogical. Pour plus d'informations, consultez la page Définir les paramètres du cluster.La base de données de destination doit disposer d'un espace de stockage supérieur à celui utilisé par la base de données source.
Précautions
DTS migre les clés étrangères lors de la migration du schéma.
Pendant la migration complète et incrémentielle des données, DTS désactive temporairement les vérifications de contraintes et les cascades de clés étrangères au niveau de la session. Les mises à jour ou suppressions en cascade sur la base de données source pendant l'exécution de la tâche peuvent entraîner une incohérence des données.
|
Type |
Description |
|
Limites de la base de données source |
|
|
Autres limites |
|
Facturation
|
Type de migration |
Frais de configuration de l'instance |
Frais de trafic Internet |
|
Migration du schéma et migration complète des données |
Gratuit. |
Lorsque le paramètre Access Method de la base de données de destination est défini sur Public IP Address, des frais de trafic Internet vous sont facturés. Pour plus d'informations, consultez la page Présentation de la facturation. |
|
Migration incrémentielle des données |
Facturé. Pour plus d'informations, consultez la page Présentation de la facturation. |
Types de migration
-
Migration du schéma
DTS migre les définitions de schéma des objets de migration de la base de données source vers la base de données de destination.
-
Migration complète
DTS migre toutes les données historiques des objets de migration spécifiés de la base de données source vers la base de données de destination.
-
Migration incrémentielle
Une fois la migration complète terminée, DTS migre les mises à jour incrémentielles des données de la base de données source vers la base de données de destination. La migration incrémentielle vous permet de migrer les données en toute transparence sans interrompre vos applications auto-gérées.
Objets de migration pris en charge
SCHEMA, TABLE
Inclut PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, DATATYPE (types de données intégrés) et DEFAULT CONSTRAINT.
Lorsque ce type de base de données est utilisé comme source, les fonctionnalités prises en charge peuvent varier selon le type de base de données cible. Pour obtenir les informations les plus précises, reportez-vous aux options affichées dans la console.
Opérations SQL prises en charge pour la migration incrémentielle
|
Type d'opération |
Instruction SQL |
|
DML |
INSERT, UPDATE et DELETE |
|
DDL |
|
Prérequis en matière d'autorisations pour les comptes de base de données
|
Type de base de données |
Migration du schéma |
Migration complète des données |
Migration incrémentielle des données |
Actions |
|
PolarDB for PostgreSQL |
compte privilégié |
|||
|
RDS PostgreSQL |
Autorisations CREATE et USAGE sur les objets source |
Autorisations de propriétaire du schéma |
Autorisations de propriétaire du schéma |
|
Procédure
-
Accédez à la page de liste des tâches de migration pour la région de destination en utilisant l'une des méthodes suivantes.
Depuis la console DTS
Connectez-vous à la console Data Transmission Service (DTS).
Dans le volet de navigation de gauche, cliquez sur Data Migration.
Dans le coin supérieur gauche de la page, sélectionnez la région où se trouve l'instance de migration.
Depuis la console DMS
RemarqueLes opérations réelles peuvent varier selon le mode et la disposition de la console DMS. Pour plus d'informations, consultez les rubriques Console en mode simple et Personnaliser la disposition et le style de la console DMS.
Connectez-vous à la console Data Management (DMS).
Dans la barre de menus supérieure, choisissez .
À droite de Data Migration Tasks, sélectionnez la région où se trouve l'instance de migration.
Cliquez sur Create Task pour accéder à la page de configuration de la tâche.
-
Configurez les bases de données source et de destination.
Catégorie
Paramètre
Description
S.O.
Task Name
DTS génère automatiquement un nom de tâche. Nous vous recommandons de spécifier un nom descriptif pour faciliter l'identification. Le nom n'a pas besoin d'être unique.
Source Database
Database Type
Sélectionnez PolarDB for PostgreSQL.
Connection Type
Sélectionnez Alibaba Cloud Instance.
Instance Region
Sélectionnez la région où se trouve le cluster PolarDB for PostgreSQL source.
Replicate Data Across Alibaba Cloud Accounts
Étant donné que cet exemple illustre une migration au sein du même compte Alibaba Cloud, sélectionnez No.
Instance ID
Sélectionnez l'ID du cluster PolarDB for PostgreSQL source.
Database Name
Saisissez le nom de la base de données PolarDB for PostgreSQL source.
Database Account
Saisissez le compte de la base de données PolarDB for PostgreSQL source.
Database Password
Saisissez le mot de passe correspondant au compte de base de données.
Destination Database
Database Type
Sélectionnez PostgreSQL.
Connection Type
Sélectionnez Alibaba Cloud Instance.
Instance Region
Sélectionnez la région où se trouve l'instance ApsaraDB RDS for PostgreSQL cible.
Instance ID
Sélectionnez l'ID de l'instance ApsaraDB RDS for PostgreSQL cible.
Database Name
Saisissez le nom de la base de données dans l'instance ApsaraDB RDS for PostgreSQL cible qui stockera les objets migrés.
Database Account
Saisissez le compte de l'instance ApsaraDB RDS for PostgreSQL cible.
Database Password
Saisissez le mot de passe correspondant au compte de base de données.
Encryption
Indique s'il faut chiffrer la connexion à la base de données source. Vous pouvez configurer ce paramètre en fonction de vos besoins métier. Dans cet exemple, l'option Non-encrypted est sélectionnée.
Si vous souhaitez établir une connexion chiffrée SSL vers la base de données source, procédez comme suit : sélectionnez SSL-encrypted, téléchargez le CA Certificate, le Client Certificate et la Private Key of Client Certificate selon vos besoins, puis spécifiez le Private Key Password of Client Certificate.
Remarque-
Si vous définissez le paramètre Encryption sur SSL-encrypted pour une base de données PostgreSQL autogérée, vous devez télécharger le CA Certificate.
-
Si vous souhaitez utiliser le certificat client, vous devez télécharger le Client Certificate et la Private Key of Client Certificate, puis spécifier le Private Key Password of Client Certificate.
-
Pour savoir comment configurer le chiffrement SSL pour une instance ApsaraDB RDS for PostgreSQL, consultez la rubrique Chiffrement SSL.
-
-
Une fois la configuration terminée, cliquez sur Test Connectivity and Proceed en bas de la page.
RemarqueAssurez-vous que les blocs CIDR des adresses IP des serveurs DTS sont ajoutés aux paramètres de sécurité des bases de données source et de destination pour autoriser l'accès depuis les serveurs DTS. Cette opération peut être effectuée automatiquement ou manuellement. Pour plus d'informations, consultez la rubrique Ajouter les blocs CIDR des adresses IP des serveurs DTS à une liste d'autorisation.
Si la base de données source ou de destination est une base de données autogérée (où la méthode Access Method n'est pas Alibaba Cloud Instance), vous devez également cliquer sur Test Connectivity dans la boîte de dialogue CIDR Blocks of DTS Servers.
-
Configurez les objets de la tâche.
-
Sur la page Configure Objects, configurez les objets que vous souhaitez migrer.
Parameter
Description
Migration Types
Si vous devez uniquement effectuer une migration complète, sélectionnez à la fois Schema Migration et Full Data Migration.
Pour effectuer une migration sans interruption de service, sélectionnez Schema Migration, Full Data Migration et Incremental Data Migration.
RemarqueSi vous ne sélectionnez pas Schema Migration, assurez-vous qu'une base de données et des tables destinées à recevoir les données existent dans la base de données de destination. Vous pouvez également utiliser la fonctionnalité de mappage de noms d'objets dans la zone Selected Objects selon vos besoins.
Si vous ne sélectionnez pas Incremental Data Migration, n'écrivez pas de nouvelles données dans l'instance source pendant la migration des données afin de garantir la cohérence de ces dernières.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors : vérifie si des tables portant le même nom existent dans la base de données de destination. Si aucune table homonyme n'existe, la vérification préalable est réussie. Si des tables homonymes existent, une erreur est signalée lors de la vérification préalable et la tâche de migration des données ne démarre pas.
RemarqueSi une table de la base de données de destination porte le même nom mais ne peut pas être facilement supprimée ou renommée, vous pouvez modifier le nom de cette table dans la base de données de destination. Pour plus d'informations, consultez la rubrique Object name mapping.
-
Ignore Errors and Proceed : ignore la vérification des tables portant le même nom.
AvertissementLa sélection de l'option Ignore Errors and Proceed peut entraîner une incohérence des données et des risques pour l'activité. Par exemple :
-
Si les schémas de table sont identiques et qu'un enregistrement de la base de données de destination possède la même valeur de clé primaire qu'un enregistrement de la base de données source :
-
Lors de la migration complète, DTS conserve l'enregistrement dans la base de données de destination. L'enregistrement provenant de la base de données source n'est pas migré.
-
Lors de la migration incrémentielle, DTS ne conserve pas l'enregistrement dans la base de données de destination. L'enregistrement provenant de la base de données source écrase celui présent dans la base de données de destination.
-
-
Si les schémas de table sont différents, seules certaines colonnes de données peuvent être migrées, ou la migration peut échouer. Procédez avec prudence.
-
Case Sensitivity Policy for Destination Object Names
Vous pouvez configurer la politique de sensibilité à la casse pour les noms des objets migrés (bases de données, tables et colonnes) dans l'instance de destination. Par défaut, l'option DTS default policy est sélectionnée. Vous pouvez également choisir de conserver une sensibilité à la casse conforme à la politique par défaut de la base de données source ou de destination. Pour plus d'informations, consultez la rubrique Case sensitivity of object names in the destination database.
Source Objects
Dans la zone Source Objects, cliquez sur les objets à migrer, puis cliquez sur
pour les déplacer vers la zone Selected Objects.Remarque-
Vous pouvez sélectionner des objets au niveau du schéma ou de la table. Si vous sélectionnez des tables, d'autres objets tels que les vues, les déclencheurs et les procédures stockées ne sont pas migrés.
-
Si une table à migrer contient des colonnes de type SERIAL et que vous avez sélectionné l'option Migration Types pour Schema Migration, sélectionnez également Sequence ou migrez l'intégralité du schéma.
Selected Objects
Pour modifier le nom d'un seul objet de migration dans l'instance de destination, effectuez un clic droit sur l'objet dans la zone Selected Objects. Pour plus d'informations sur la définition du nom, consultez la rubrique Map a single table or column name.
Pour modifier les noms de plusieurs objets de migration par lot, cliquez sur Batch Edit dans le coin supérieur droit de la zone Selected Objects. Pour plus d'informations sur la définition des noms, consultez la rubrique Map multiple table or column names in a batch.
RemarqueSi vous utilisez la fonctionnalité de mappage de noms d'objets, il est possible que d'autres objets dépendant de l'objet mappé ne puissent pas être migrés.
-
Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés.
Paramètre
Description
Dedicated Cluster for Task Scheduling
Par défaut, DTS planifie les tâches sur un cluster partagé ; aucune sélection n'est requise. Pour une exécution plus stable, achetez un dedicated cluster afin d'y exécuter les tâches de migration DTS.
Retry Time for Failed Connections
Une fois la tâche de migration lancée, toute perte de connexion vers la base de données source ou de destination déclenche une erreur et une tentative de reconnexion immédiate. La durée de nouvelle tentative par défaut est de 720 minutes. Vous pouvez personnaliser cette durée entre 10 et 1 440 minutes. Nous vous recommandons de définir une durée supérieure à 30 minutes. Si DTS rétablit la connexion aux bases de données source et de destination dans le délai imparti, la tâche de migration reprend automatiquement. Dans le cas contraire, la tâche échoue.
RemarquePour plusieurs instances DTS partageant la même source ou la même destination, la durée de nouvelle tentative réseau est déterminée par le paramétrage de la dernière tâche créée.
La facturation de la tâche se poursuivant pendant la période de nouvelle tentative de connexion, nous vous conseillons d'adapter la durée de nouvelle tentative à vos besoins métier ou de libérer l'instance DTS dès que possible après la libération des instances de base de données source et de destination.
Retry Time for Other Issues
Une fois la tâche de migration lancée, tout problème autre qu'un problème de connectivité (par exemple, une exception lors de l'exécution d'une instruction DDL ou DML) dans la base de données source ou de destination génère une erreur et déclenche une nouvelle tentative immédiate. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez personnaliser cette durée entre 1 et 1 440 minutes. Nous vous recommandons de définir une durée supérieure à 10 minutes. Si les opérations concernées aboutissent dans le délai imparti, la tâche de migration reprend automatiquement. Dans le cas contraire, la tâche échoue.
ImportantLa valeur du paramètre Retry Time for Other Issues doit être inférieure à celle du paramètre Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Lors de la migration complète, DTS consomme des ressources en lecture et en écriture sur les bases de données source et de destination, ce qui peut augmenter leur charge. Si nécessaire, activez la limitation de débit pour la tâche de migration complète. Définissez les paramètres Queries per second (QPS) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s) afin de réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Full Data Migration pour Migration Types.
Vous pouvez également ajuster la vitesse de migration complète une fois l'instance de migration en cours d'exécution.
Enable Throttling for Incremental Data Migration
Si nécessaire, définissez également des limites de vitesse pour la tâche de migration incrémentielle. Configurez les paramètres RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s) afin de réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Incremental Data Migration pour Migration Types.
Vous pouvez également ajuster la vitesse de migration incrémentielle une fois l'instance de migration en cours d'exécution.
Environment Tag
Sélectionnez un tag d'environnement pour identifier l'instance. Cette étape n'est pas requise pour cet exemple.
Configure ETL
Décidez d'activer ou non la fonctionnalité Extract, Transform, Load (ETL). Pour en savoir plus, consultez la rubrique What is ETL? Valeurs possibles :
-
Yes : active la fonctionnalité ETL. Saisissez les instructions de traitement des données dans l'éditeur de code. Pour plus d'informations, consultez la rubrique Configure ETL in a data migration or data synchronization task.
-
No : désactive la fonctionnalité ETL.
Monitoring and Alerting
Définissez ou non des alertes et la réception de notifications d'alerte selon vos besoins métier.
No : ne configure aucune alerte.
Yes : configurez les alertes en définissant un seuil d'alerte et un destinataire de notifications d'alerte. En cas d'échec de la migration ou si la latence dépasse le seuil défini, le système envoie une notification d'alerte.
-
Cliquez sur Next Data Verification pour configurer une tâche de validation des données.
Pour en savoir plus sur la fonctionnalité de validation des données, consultez la rubrique Configurer la validation des données.
-
-
Enregistrez la tâche et exécutez une prévérification.
Pour afficher les paramètres de configuration de cette instance lors de l'appel de l'opération API, placez le pointeur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans la bulle qui s'affiche.
Si vous n'avez pas besoin d'afficher les paramètres API ou si vous avez terminé leur consultation, cliquez sur Next: Save Task Settings and Precheck en bas de la page.
RemarqueAvant le démarrage de la tâche de migration, DTS effectue une prévérification. La tâche ne démarre qu'après réussite de cette prévérification.
En cas d'échec de la prévérification, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème selon les instructions, puis relancez la prévérification.
-
Si un avertissement est signalé lors de la prévérification :
Pour les éléments de vérification qui ne peuvent pas être ignorés, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème selon les instructions, puis relancez la prévérification.
Pour les éléments de vérification qui peuvent être ignorés, vous pouvez cliquer sur Confirm Alert Details, Ignore, OK, puis Precheck Again afin d'ignorer l'avertissement et de relancer la prévérification. Ignorer un avertissement peut entraîner des problèmes tels que des incohérences de données et présenter des risques pour votre activité.
-
Achetez l'instance.
Lorsque le Success Rate atteint 100 %, cliquez sur Next: Purchase Instance.
-
Sur la page Purchase, sélectionnez les spécifications de lien pour l'instance de migration de données. Pour plus d'informations, consultez le tableau ci-dessous.
Catégorie
Paramètre
Description
New Instance Class
Resource Group Settings
Sélectionnez le groupe de ressources auquel l'instance appartient. La valeur par défaut est le groupe de ressources par défaut. Pour en savoir plus, consultez Qu'est-ce que Resource Management ?
Instance Class
DTS propose des spécifications de migration offrant différents niveaux de performances. Les spécifications du lien influent sur la vitesse de migration. Choisissez une spécification adaptée à votre scénario métier. Pour plus d'informations, consultez Spécifications des liens de migration de données.
Une fois la configuration terminée, lisez et sélectionnez les Data Transmission Service (Pay-as-you-go) Service Terms.
-
Cliquez sur Buy and Start. Dans la boîte de dialogue OK qui s'affiche, cliquez sur OK.
Vous pouvez consulter la progression de la tâche de migration sur la page de liste Data Migration Tasks.
RemarqueSi la tâche de migration n'inclut pas de migration incrémentielle, elle s'arrête automatiquement une fois la migration complète terminée. Une fois la tâche arrêtée, son Status passe à Completed.
Si la tâche de migration inclut une migration incrémentielle, elle ne s'arrête pas automatiquement. La tâche de migration incrémentielle continue de s'exécuter. Pendant l'exécution de la tâche de migration incrémentielle, le Status de la tâche est Running.