Data Transmission Service (DTS) prend en charge la synchronisation des données d'une instance ApsaraDB RDS for MySQL vers une instance ApsaraDB RDS for PostgreSQL.
Prérequis
Créez une instance de destination ApsaraDB RDS for PostgreSQL. Pour plus d'informations, consultez la rubrique Créer une instance ApsaraDB RDS for PostgreSQL.
L'instance de destination doit disposer d'un espace de stockage supérieur à celui utilisé par la base de données source.
Notes d'utilisation
Pendant la synchronisation du schéma, DTS synchronise les clés étrangères de la base de données source vers la base de données de destination.
Lors des phases de synchronisation complète et incrémentielle des données, DTS désactive temporairement les vérifications de contraintes et les opérations en cascade sur les clés étrangères au niveau de la session. Des incohérences de données peuvent survenir si des opérations de mise à jour ou de suppression en cascade sont effectuées sur la base de données source pendant l'exécution de la tâche.
|
Type |
Description |
|
Limites de la base de données source |
|
|
Autres limites |
|
|
Cas particuliers |
|
Facturation
|
Type de synchronisation |
Tarification |
|
Synchronisation du schéma et synchronisation complète des données |
Gratuit. |
|
Synchronisation incrémentielle des données |
Facturé. Pour plus d'informations, consultez la rubrique Présentation de la facturation. |
Topologies de synchronisation prises en charge
Synchronisation unidirectionnelle un-à-un
Synchronisation unidirectionnelle un-à-plusieurs
Synchronisation unidirectionnelle plusieurs-à-un
Opérations SQL prises en charge
|
Type d'opération |
Instruction SQL |
|
DML |
INSERT, UPDATE, DELETE |
Procédure
-
Accédez à la page de liste des tâches de synchronisation de la région de destination. Vous pouvez utiliser l'une des deux méthodes suivantes :
Depuis la console DTS
Connectez-vous à la Data Transmission Service (DTS) console.
Dans le volet de navigation de gauche, cliquez sur Data Synchronization.
Dans le coin supérieur gauche de la page, sélectionnez la région où se trouve l'instance de synchronisation.
Depuis la console DMS
RemarqueLes opérations réelles peuvent varier en fonction du mode et de la disposition de la console DMS. Pour plus d'informations, consultez les rubriques Simple mode et Customize the layout and style of the DMS interface.
Connectez-vous à Data Management (DMS).
Dans la barre de menu supérieure, choisissez .
À droite de Data Synchronization Tasks, sélectionnez la région où se trouve l'instance de synchronisation.
Cliquez sur Create Task pour ouvrir la page de configuration de la tâche.
-
Configurez les bases de données source et de destination.
Catégorie
Paramètre
Description
N/A
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 MySQL.
Connection Type
Sélectionnez Alibaba Cloud Instance.
Instance Region
Sélectionnez la région où réside l'instance ApsaraDB RDS for MySQL source.
Replicate Data Across Alibaba Cloud Accounts
Cet exemple utilise la synchronisation au sein du même compte Alibaba Cloud. Sélectionnez No.
RDS Instance ID
Sélectionnez l'ID de l'instance ApsaraDB RDS for MySQL source.
Database Account
Saisissez le compte de base de données pour l'instance ApsaraDB RDS for MySQL source.
Database Password
Saisissez le mot de passe correspondant au compte de base de données.
Encryption
Sélectionnez Non-encrypted ou SSL-encrypted selon vos besoins. Si vous sélectionnez SSL-encrypted, vous devez activer le chiffrement SSL pour l'instance RDS for MySQL au préalable. Pour plus d'informations, consultez la rubrique Utiliser un certificat cloud pour activer rapidement le chiffrement SSL.
Destination Database
Database Type
Sélectionnez PostgreSQL.
Connection Type
Sélectionnez Alibaba Cloud Instance.
Instance Region
Sélectionnez la région où réside l'instance ApsaraDB RDS for PostgreSQL de destination.
Instance ID
Sélectionnez l'ID de l'instance ApsaraDB RDS for PostgreSQL de destination.
Database Name
Saisissez le nom de la base de données de destination contenant les objets à synchroniser dans l'instance ApsaraDB RDS for PostgreSQL.
Database Account
Saisissez le compte de base de données pour l'instance ApsaraDB RDS for PostgreSQL de destination. Le compte doit disposer des privilèges de propriétaire sur le schéma. Pour plus d'informations, consultez la rubrique Créer un compte.
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, Non-encrypted est sélectionné.
Si vous souhaitez établir une connexion chiffrée SSL avec la base de données source, effectuez les étapes suivantes : sélectionnez SSL-encrypted, téléchargez CA Certificate, Client Certificate et Private Key of Client Certificate selon vos besoins, puis spécifiez Private Key Password of Client Certificate.
Remarque-
Si vous définissez Encryption sur SSL-encrypted pour une base de données PostgreSQL autogérée, vous devez télécharger CA Certificate.
-
Si vous souhaitez utiliser le certificat client, vous devez télécharger Client Certificate et Private Key of Client Certificate et spécifier 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 plages CIDR des adresses IP des serveurs DTS sont ajoutées 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 plages 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 à synchroniser.
Setting
Description
Synchronization Types
Les types de synchronisation. Par défaut, l'option Incremental Data Synchronization est sélectionnée. Vous devez également sélectionner les options Schema Synchronization et Full Data Synchronization. Une fois la prévalidation terminée, DTS synchronise les données historiques des objets sélectionnés depuis la base de données source vers le cluster de destination. Ces données historiques constituent la base de la synchronisation incrémentielle ultérieure.
Processing Mode for Existing Tables in Destination
-
Precheck and Report Errors : vérifie si une table portant le même nom existe dans la base de données de destination. Si aucune table homonyme n'existe, la prévalidation réussit. En revanche, si une telle table existe, la prévalidation échoue et la tâche de synchronisation des données ne démarre pas.
RemarqueSi vous ne pouvez pas supprimer ou renommer la table homonyme dans la base de données de destination, vous pouvez la mapper vers un nom de table différent. Pour plus d'informations, consultez la rubrique Map table and column names.
-
Ignore Errors and Proceed : ignore la vérification des noms de tables en double dans la base de données de destination.
AvertissementLa sélection de l'option Ignore Errors and Proceed peut entraîner des incohérences de données et mettre votre activité à risque. 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 ou de clé unique qu'un enregistrement de la base de données source :
-
Lors de la synchronisation complète, DTS conserve l'enregistrement dans le cluster de destination. L'enregistrement correspondant de la base de données source n'est pas synchronisé.
-
Lors de la synchronisation incrémentielle, l'enregistrement de la base de données source écrase celui de la base de données de destination.
-
-
Si les schémas de table diffèrent, la synchronisation initiale des données peut échouer. Cela peut se traduire par la synchronisation partielle des données de colonne ou par un échec complet de la synchronisation. Agissez avec prudence.
-
Case Sensitivity Policy for Destination Object Names
Vous pouvez configurer la politique de sensibilité à la casse pour les noms d'objets de base de données, de tables et de colonnes synchronisés vers l'instance de destination. Par défaut, la politique DTS default policy est sélectionnée. Vous pouvez également choisir d'utiliser les politiques par défaut des bases de données source et de destination. Pour plus d'informations, consultez la rubrique Case sensitivity policy for destination object names.
Source Objects
Dans la zone Source Objects, cliquez sur un objet à synchroniser, puis cliquez sur
pour le déplacer vers la zone Selected Objects.RemarqueVous pouvez sélectionner des bases de données, des tables et des colonnes comme objets de synchronisation. Si vous sélectionnez des tables ou des colonnes, les autres objets tels que les vues, les déclencheurs et les procédures stockées ne sont pas synchronisés vers la base de données de destination.
Selected Objects
-
Pour renommer un seul objet de synchronisation dans l'instance de destination, effectuez un clic droit sur l'objet dans la zone Selected Objects. Pour plus d'informations sur le renommage des objets, consultez la rubrique Map a single database, table, or column.
-
Pour modifier les noms de plusieurs objets de synchronisation dans l'instance de destination par lot, cliquez sur Batch Edit dans le coin supérieur droit de la zone Selected Objects. Pour plus d'informations, consultez la rubrique Map databases, tables, and columns in a batch.
Remarque-
Si vous utilisez le mappage de noms d'objets, la synchronisation d'autres objets dépendant de l'objet mappé peut échouer.
-
Pour filtrer les données à l'aide d'une clause WHERE, effectuez un clic droit sur la table cible dans la zone Selected Objects et définissez les conditions de filtrage dans la boîte de dialogue qui s'affiche. Pour plus d'informations, consultez la rubrique Configure filter conditions.
-
Le type de données Timestamp est pris en charge. Si un champ temporel de la base de données source a une valeur de
0, DTS le convertit automatiquement ennulldans la base de données de destination.
-
-
Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés.
Setting
Description
Dedicated Cluster for Task Scheduling
Par défaut, DTS planifie les tâches sur un cluster partagé et vous n'avez pas besoin de sélectionner de cluster. Pour obtenir des performances plus stables, vous pouvez acheter un cluster dédié pour exécuter les tâches de synchronisation DTS. Pour plus d'informations, consultez la rubrique What is a DTS dedicated cluster?.
Retry Time for Failed Connections
Après le démarrage d'une tâche de synchronisation, si la connexion à la base de données source ou de destination échoue, DTS signale une erreur et tente immédiatement de rétablir la connexion. La durée de nouvelle tentative par défaut est de 720 minutes. Vous pouvez également spécifier une durée personnalisée comprise entre 10 et 1 440 minutes. Nous vous recommandons de définir une durée d'au moins 30 minutes. Si DTS parvient à se reconnecter à la base de données dans le délai imparti, la tâche de synchronisation reprend automatiquement. Dans le cas contraire, la tâche échoue.
Remarque-
Si vous disposez de plusieurs instances DTS (par exemple, l'instance A et l'instance B) qui partagent la même source ou la même destination, et que vous définissez la durée de nouvelle tentative réseau à 30 minutes pour l'instance A et à 60 minutes pour l'instance B, la durée la plus courte, soit 30 minutes, s'applique aux deux instances.
-
Étant donné que DTS facture l'exécution des tâches pendant la période de nouvelle tentative de connexion, nous vous recommandons de personnaliser la durée de nouvelle tentative en fonction de 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 synchronisation démarrée, si d'autres problèmes non liés à la connectivité surviennent avec la base de données source ou de destination (tels que des exceptions d'exécution DDL ou DML), DTS signale une erreur et lance immédiatement des opérations de nouvelle tentative continues. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez également personnaliser cette durée dans la plage de 1 à 1 440 minutes. Nous vous recommandons de la fixer à au moins 10 minutes. Si les opérations concernées aboutissent dans la durée de nouvelle tentative définie, la tâche de synchronisation reprend automatiquement. Sinon, la tâche échoue.
ImportantLa valeur définie pour Retry Time for Other Issues doit être inférieure à celle de Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Pendant la phase de synchronisation complète, DTS consomme des ressources de lecture et d'écriture des bases de données source et de destination, ce qui peut augmenter la charge de la base de données. Pour réduire la charge sur les bases de données source et de destination, vous pouvez définir une limite de débit pour la tâche de synchronisation complète en configurant 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).
Remarque-
Cet élément de configuration est disponible uniquement lorsque l'option Synchronization Types est définie sur Full Data Synchronization.
-
Vous pouvez également ajuster le débit de synchronisation complète une fois que l'instance de synchronisation est en cours d'exécution.
Enable Throttling for Incremental Data Synchronization
Vous pouvez également définir une limite de débit pour la tâche de synchronisation incrémentielle. Pour alléger la pression sur la base de données de destination, définissez les paramètres RPS of Incremental Data Synchronization et Data synchronization speed for incremental synchronization (MB/s).
Environment Tag
Sélectionnez une balise d'environnement pour identifier l'instance. Dans cet exemple, aucune sélection n'est requise.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Choisissez si les informations SQL de heartbeat doivent être écrites dans la base de données source lors de l'exécution de l'instance DTS.
-
Yes : les informations SQL de heartbeat ne sont pas écrites dans la base de données source. Cela peut entraîner un retard signalé par l'instance DTS.
-
No : écrit les informations SQL de heartbeat dans la base de données source. Cela peut interférer avec des fonctionnalités telles que la sauvegarde physique et le clonage de la base de données source.
Configure ETL
Choisissez d'activer ou non la fonctionnalité ETL (Extract, Transform, Load). Pour plus d'informations, consultez la rubrique What is ETL? Les valeurs valides sont les suivantes :
-
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
Indiquez si vous souhaitez configurer des alertes. En cas d'échec de la synchronisation ou si la latence dépasse le seuil spécifié, une notification est envoyée à un contact d'alerte.
-
No : aucune alerte n'est configurée.
-
Yes : configurez les alertes en définissant un seuil d'alerte et en spécifiant un notification d'alerte. Pour plus d'informations, consultez la rubrique Configure monitoring and alerting during task configuration.
-
-
Cliquez sur Next: Data Validation pour configurer une tâche de validation des données.
Si vous souhaitez utiliser la fonctionnalité de validation des données, consultez la rubrique Configure data validation pour obtenir les instructions de configuration.
-
-
Enregistrez la tâche et exécutez une prévalidation.
Pour afficher les paramètres API permettant de configurer cette instance, placez le curseur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans l'infobulle.
Une fois que vous avez consulté les paramètres API, cliquez sur Next: Save Task Settings and Precheck en bas de la page.
RemarqueAvant le démarrage de la tâche de synchronisation, DTS exécute une prévalidation. La tâche ne peut démarrer que si tous les éléments de prévalidation réussissent.
Si la prévalidation échoue, cliquez sur View Details pour l'élément ayant échoué. Corrigez le problème selon les instructions, puis relancez la prévalidation.
-
Si la prévalidation renvoie un avertissement :
Si un élément de contrôle échoue et ne peut pas être ignoré, cliquez sur View Details à côté de l'élément. Suivez les instructions pour corriger le problème, puis relancez la prévalidation.
Pour les éléments de contrôle pouvant être ignorés, vous pouvez cliquer successivement sur Confirm Alert Details, Ignore, OK et Precheck Again afin d'ignorer l'avertissement et de relancer la prévalidation. Si vous choisissez de masquer l'élément d'avertissement, cela 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 taux de Success Rate atteint 100 %, cliquez sur Next: Purchase Instance.
-
Sur la page Purchase, sélectionnez la méthode de facturation et les spécifications du lien pour l'instance de synchronisation des données. Le tableau suivant décrit ces paramètres en détail.
Catégorie
Paramètre
Description
New Instance Class
Méthode de facturation
-
Abonnement : vous réglez le paiement lors de la création de l'instance. Cette option convient aux besoins à long terme et s'avère plus économique que le paiement à l'utilisation. Plus la durée d'abonnement est longue, plus la remise est importante.
-
Paiement à l'utilisation : la facturation s'effectue à l'heure. Cette solution est adaptée aux besoins ponctuels. Vous pouvez libérer l'instance immédiatement après utilisation pour réduire les coûts.
Configuration du groupe de resources
Groupe de resource auquel l'instance appartient. La valeur par défaut est le groupe de resource par défaut. Pour plus d'informations, consultez la rubrique Qu'est-ce que Resource Management ?.
Spécification du lien
DTS propose des spécifications de synchronisation offrant différents niveaux de performance. La spécification du lien de synchronisation influence le débit de synchronisation. Choisissez une spécification adaptée à votre scénario métier. Pour plus de détails, reportez-vous à la section Spécifications des liens de synchronisation des données.
Durée de l'abonnement
En mode abonnement, indiquez la durée et la quantité pour l'instance. Vous pouvez souscrire pour une période mensuelle comprise entre 1 et 9 mois, ou annuelle de 1, 2, 3 ou 5 ans.
RemarqueCette option n'est disponible que si la méthode de facturation est définie sur Subscription.
-
Une fois la configuration terminée, lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.
-
Cliquez sur Buy and Start. Dans la boîte de dialogue OK, cliquez sur OK.
Vous pouvez consulter la progression de la tâche sur la page Data Synchronization.