Tous les produits
Search
Centre de documentation

Data Transmission Service:Synchroniser des données d'une instance RDS MariaDB vers une instance RDS PostgreSQL

Dernière mise à jour :Aug 27, 2026

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. Le tableau suivant décrit les paramètres.

    Catégorie

    Paramètre

    Description

    N/A

    Task Name

    DTS automatically generates a task name. We recommend that you specify a descriptive name for easy identification. The name does not have to be unique.

    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.

    Base de données source

    Select Existing Connection

    • Pour utiliser une instance de base de données ajoutée au système (nouvellement créée ou enregistrée), sélectionnez l'instance de base de données dans la liste déroulante. Les informations de la base de données sont renseignées automatiquement. Dans la console DMS, ce paramètre est nommé Select a DMS database instance..

    • Si vous n'avez pas ajouté l'instance de base de données au système ou si vous ne souhaitez pas utiliser une instance déjà ajoutée, configurez manuellement les informations de la base de données suivantes.

    Database Type

    Sélectionnez MariaDB.

    Connection Type

    Sélectionnez Alibaba Cloud Instance.

    Instance Region

    Sélectionnez la région où réside l'instance source (une instance ApsaraDB RDS for MariaDB).

    Replicate Data Across Alibaba Cloud Accounts

    Cet exemple utilise une instance de base de données appartenant au compte Alibaba Cloud actuel. Sélectionnez No.

    Instance ID

    Sélectionnez l'ID de l'instance ApsaraDB RDS for MariaDB source.

    Database Account

    Saisissez le compte de base de données de l'instance ApsaraDB RDS for MariaDB source.

    Database Password

    Enter the password that corresponds to the database account.

    Saisissez le mot de passe correspondant au compte de base de données.

    Connection Method

    Sélectionnez Non-encrypted.

    Base de données de destination

    Select Existing Connection

    • Pour utiliser une instance de base de données ajoutée au système (nouvellement créée ou enregistrée), sélectionnez l'instance de base de données dans la liste déroulante. Les informations de la base de données sont renseignées automatiquement. Dans la console DMS, ce paramètre est nommé Select a DMS database instance..

    • Si vous n'avez pas ajouté l'instance de base de données au système ou si vous ne souhaitez pas utiliser une instance déjà ajoutée, configurez manuellement les informations de la base de données suivantes.

    Database Type

    Sélectionnez PostgreSQL.

    Connection Type

    Sélectionnez Alibaba Cloud Instance.

    Instance Region

    Sélectionnez la région où réside l'instance de destination (une instance ApsaraDB RDS for PostgreSQLApsaraDB RDS for PostgreSQL).

    Instance ID

    Sélectionnez l'ID de l'instance de destination (une instance ApsaraDB RDS for PostgreSQLApsaraDB RDS for PostgreSQL).

    Database Name

    Saisissez le nom de la base de données contenant les objets de synchronisation dans l'instance de destination (une instance ApsaraDB RDS for PostgreSQLApsaraDB RDS for PostgreSQL).

    Database Account

    Saisissez le compte de base de données de l'instance de destination (une instance ApsaraDB RDS for PostgreSQLApsaraDB RDS for PostgreSQL). Le compte doit disposer de l'autorisation de propriétaire sur le schéma. Pour plus d'informations sur la création d'un compte et l'octroi d'autorisations, consultez la rubrique Créer un compte.

    Database Password

    Enter the password that corresponds to the database account.

    Saisissez le mot de passe correspondant au compte de base de données.

    Encryption

    Indique s'il faut chiffrer la connexion à l'instance de destination. Sélectionnez une valeur en fonction de vos exigences de sécurité : sélectionnez Non-encrypted si la connexion n'a pas besoin d'être chiffrée, ou SSL-encrypted si votre activité nécessite une connexion chiffrée. Dans cet exemple, Non-encrypted est sélectionné.
    Si vous 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 :

    • Pour 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.

    • 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.

    • Pour plus d'informations sur la configuration du chiffrement SSL pour une instance ApsaraDB RDS for PostgreSQL, consultez la rubrique Configurer le chiffrement SSL pour une instance ApsaraDB RDS for PostgreSQL.

  • Une fois la configuration terminée, cliquez sur Test Connectivity and Proceed en bas de la page.

    Si la base de données source ou de destination est une base de données autogérée, c'est-à-dire si le paramètre Access Method n'est pas défini sur Alibaba Cloud Instance, vous devez également cliquer sur Test Connectivity dans la boîte de dialogue CIDR Blocks of DTS Servers.

  • Sur la page Configure Objects, configurez les objets à synchroniser. Le tableau suivant décrit les paramètres.

    Paramètre

    Description

    Synchronization Types

    The synchronization types. By default, Incremental Data Synchronization is selected. You must also select Schema Synchronization and Full Data Synchronization. After the precheck is complete, DTS synchronizes the historical data of the selected objects from the source database to the destination cluster. The historical data is the basis for subsequent incremental synchronization.

    Les types de synchronisation. Par défaut, l'option Synchronization Incremental Data Synchronization est sélectionnée. Vous devez également sélectionner les options Schema Synchronization et Full Data Synchronization. Une fois la pré-vérification terminée, DTS synchronise les données historiques des objets sélectionnés de la base de données source vers l'instance de destination. Les données historiques constituent la base de la synchronisation incrémentielle ultérieure.

    Remarque : La période de conservation des journaux binaires requise par DTS dépend des types de synchronisation que vous sélectionnez. Pour plus d'informations, consultez la section Prérequis.

    Processing Mode of Conflicting Tables

    • Precheck and Report Errors: Checks whether a table with the same name exists in the destination database. If a table with the same name does not exist, the precheck passes. If a table with the same name exists, the precheck fails and the data synchronization task does not start.

      Remarque

      If you cannot delete or rename the table with the same name in the destination database, you can map it to a different table name. For more information, see Map table and column names.

    • Ignore Errors and Proceed: Skips the check for duplicate table names in the destination database.

      Avertissement

      Selecting Ignore Errors and Proceed may cause data inconsistency and put your business at risk. For example:

      • If the table schemas are the same and a record in the destination database has the same primary key or unique key value as a record in the source database:

        • During full synchronization, DTS retains the record in the destination cluster. The corresponding record from the source database is not synchronized.

        • During incremental synchronization, the record from the source database overwrites the record in the destination database.

      • If the table schemas are different, initial data synchronization may fail. This can result in only partial column data being synchronized or a complete synchronization failure. Proceed with caution.

    - 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 portant le même nom n'existe, la pré-vérification réussit. Si une table portant le même nom existe, la pré-vérification échoue et la tâche de synchronisation des données ne démarre pas.

    Remarque : Si vous ne pouvez pas supprimer ou renommer la table portant le même nom 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 relative au mappage des noms de tables et de colonnes.
    - Ignore Errors and Proceed : ignore la vérification des doublons de noms de tables dans la base de données de destination.
    > Avertissement : La sélection de l'option Ignore Errors and Proceed peut entraîner une incohérence des données et mettre votre activité en danger. 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, DTS conserve l'enregistrement dans l'instance de destination lors de la synchronisation complète et ne synchronise pas l'enregistrement correspondant de la base de données source ; lors de la synchronisation incrémentielle, l'enregistrement de la base de données source écrase l'enregistrement de la base de données de destination. Si les schémas de table sont différents, la synchronisation initiale des données peut échouer. Cela peut entraîner la synchronisation partielle des données de colonne ou un échec complet de la synchronisation. Procédez avec prudence.




    Source Objects

    In the Source Objects box, click an object to synchronize, and then click 向右 to move it to the Selected Objects box.

    Dans la zone Source Objects, cliquez sur un objet à synchroniser, puis cliquez sur la flèche vers la droite pour le déplacer vers la zone Selected Objects.

    Remarque

    Vous 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, d'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.

    Remarque : Vous 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, d'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

    • To rename a single synchronization object in the destination instance, right-click the object in the Selected Objects box. For more information about renaming objects, see Map a single database, table, or column.

    • To change the names of multiple synchronization objects in the destination instance in a batch, click Batch Edit in the upper-right corner of the Selected Objects box. For more information, see Map databases, tables, and columns in a batch.


    - Pour renommer un seul objet de synchronisation dans l'instance de destination, cliquez avec le bouton droit sur l'objet dans la zone Selected Objects. Pour plus d'informations, consultez la rubrique relative au mappage d'une seule base de données, table ou colonne.
    - 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 relative au mappage des bases de données, tables et colonnes par lot.




  • Cliquez sur Next: Advanced Settings et configurez les paramètres avancés. Le tableau suivant décrit les paramètres.

    Paramètre

    Description

    Dedicated Cluster for Task Scheduling

    Par défaut, DTS planifie les tâches sur un cluster partagé, il n'est donc pas nécessaire de sélectionner un cluster. Pour 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 Qu'est-ce qu'un cluster dédié DTS ?.

    Retry Time for Failed Connections

    Une fois la tâche de synchronisation démarrée, si DTS ne parvient pas à se connecter à la base de données source ou de destination, DTS signale une erreur et tente immédiatement de reconnecter. La durée de nouvelle tentative par défaut est de 720 minutes. Vous pouvez spécifier une durée de nouvelle tentative personnalisée comprise entre 10 et 1 440 minutes. Nous vous recommandons de définir la durée à 30 minutes ou plus. Si DTS se reconnecte aux bases de données source et de destination dans le délai spécifié, la tâche de synchronisation reprend automatiquement. Sinon, la tâche échoue.

    Remarque :
    - Si vous disposez de plusieurs instances DTS partageant la même base de données source ou de destination, par exemple l'instance A et l'instance B, 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 de 30 minutes s'applique aux deux instances.
    - DTS facture l'exécution de la tâche pendant la période de nouvelle tentative de connexion. Nous vous recommandons de définir la durée de nouvelle tentative en fonction de vos besoins métier, ou de libérer l'instance DTS dès que les instances de base de données source et de destination sont libérées.




    Retry Time for Other Issues

    Une fois la tâche de synchronisation démarrée, si un problème autre qu'un échec de connexion survient sur la base de données source ou de destination, tel qu'une exception d'exécution DDL ou DML, DTS signale une erreur et tente immédiatement de relancer l'opération. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez spécifier une durée de nouvelle tentative personnalisée comprise entre 1 et 1 440 minutes. Nous vous recommandons de définir la durée à 10 minutes ou plus. Si l'opération réussit dans le délai spécifié, la tâche de synchronisation reprend automatiquement. Sinon, la tâche échoue.

    Important : La valeur du paramètre Retry Time for Other Issues doit être inférieure à la valeur du paramètre Retry Time for Failed Connections.

    Enable Throttling for Full Data Synchronization

    Lors de la 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 leur charge. Pour réduire la charge, vous pouvez limiter 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 :
    - Ce paramètre est disponible uniquement lorsque le paramètre Synchronization Types est défini sur Full Data Synchronization.
    - Vous pouvez également ajuster le taux de synchronisation complète après le démarrage de l'instance de synchronisation.




    Enable Throttling for Incremental Data Synchronization

    Vous pouvez également limiter la tâche de synchronisation incrémentielle. Pour réduire la charge 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 en fonction de vos besoins. Dans cet exemple, vous n'avez pas besoin de sélectionner de balise.

    Configure ETL

    Choose whether to enable the extract, transform, and load (ETL) feature. For more information, see What is ETL? Valid values:

    Choisissez d'activer ou non la fonctionnalité ETL (extract, transform, load). Valeurs valides :
    - 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 relative à la configuration d'ETL dans une tâche de migration ou de synchronisation de données.
    - No : désactive la fonctionnalité ETL.




    Monitoring and Alerting

    Indique s'il faut configurer des alertes. En cas d'échec de la synchronisation ou si la latence dépasse le seuil spécifié, DTS envoie une notification au contact d'alerte.

  • Enregistrez la tâche et exécutez une pré-vérification.

    • Pour afficher les paramètres API de configuration de cette instance, placez le curseur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans la bulle d'aide.

    • Une fois que vous avez terminé de consulter les paramètres API, cliquez sur Next: Save Task Settings and Precheck en bas de la page.

    Remarque
    • Avant le démarrage de la tâche de synchronisation, DTS exécute une pré-vérification. La tâche ne peut démarrer que si tous les éléments de pré-vérification réussissent.

    • Si la pré-vérification échoue, cliquez sur View Details pour l'élément ayant échoué. Corrigez le problème comme indiqué, puis relancez la pré-vérification.

    • Si la pré-vérification renvoie un avertissement :

      • Si un élément de vérification é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é-vérification.

      • Pour les éléments de vérification pouvant être ignorés, vous pouvez cliquer successivement sur Confirm Alert Details, View Details, OK et Precheck Again pour ignorer l'avertissement et relancer la pré-vérification. Si vous choisissez d'ignorer l'élément d'avertissement, cela peut entraîner des problèmes tels qu'une incohérence des données et présenter des risques pour votre activité.

  • Enregistrez la tâche et exécutez une pré-vérification.

    • Pour afficher les paramètres API de configuration de cette instance, placez le curseur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans la bulle d'aide.

    • Une fois que vous avez terminé de consulter les paramètres API, cliquez sur Next: Save Task Settings and Precheck en bas de la page.

    Remarque
    • Avant le démarrage de la tâche de synchronisation, DTS exécute une pré-vérification. La tâche ne peut démarrer que si tous les éléments de pré-vérification réussissent.

    • Si la pré-vérification échoue, cliquez sur View Details pour l'élément ayant échoué. Corrigez le problème comme indiqué, puis relancez la pré-vérification.

    • Si la pré-vérification renvoie un avertissement :

      • Si un élément de vérification é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é-vérification.

      • Pour les éléments de vérification pouvant être ignorés, vous pouvez cliquer successivement sur Confirm Alert Details, Ignore, OK et Ignore pour ignorer l'avertissement et relancer la pré-vérification. Si vous choisissez d'ignorer l'élément d'avertissement, cela peut entraîner des problèmes tels qu'une incohérence des données et présenter des risques pour votre activité.

  • Enregistrez la tâche et exécutez une pré-vérification.

    a. Pour afficher les paramètres API de configuration de cette instance, placez le curseur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans la bulle d'aide.

    b. Une fois que vous avez terminé de consulter les paramètres API, cliquez sur Next: Save Task Settings and Precheck en bas de la page.

    Remarque
    • Avant le démarrage de la tâche de synchronisation, DTS exécute une pré-vérification. La tâche ne peut démarrer que si tous les éléments de pré-vérification réussissent.

    • Si la pré-vérification échoue, cliquez sur View Details pour l'élément ayant échoué. Corrigez le problème comme indiqué, puis relancez la pré-vérification.

    • Si la pré-vérification renvoie un avertissement et que l'élément de vérification 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é-vérification.

    • Pour les éléments de vérification pouvant être ignorés, vous pouvez cliquer successivement sur Confirm Alert Details, Ignore, OK et Precheck Again pour ignorer l'avertissement et relancer la pré-vérification. Si vous choisissez d'ignorer l'élément d'avertissement, cela peut entraîner des problèmes tels qu'une incohérence des données et présenter des risques pour votre activité.

  • Achetez l'instance.

    a. Lorsque le Success Rate atteint 100 %, cliquez sur Precheck Again.

    b. Sur la page Purchase, sélectionnez la méthode de facturation et la spécification de liaison de l'instance de synchronisation de données. Le tableau suivant décrit les paramètres.

  • Catégorie

    Paramètre

    Description

    Next: Purchase Instance

    Méthode de facturation

    • Abonnement : vous payez lors de la création de l'instance. Cette méthode convient aux besoins à long terme. Elle coûte moins cher que le paiement à l'utilisation, et plus la durée de l'abonnement est longue, plus la remise est importante.

    • Paiement à l'utilisation : vous êtes facturé à l'heure. Cette méthode convient aux besoins à court terme. Vous pouvez libérer l'instance dès que vous avez fini de l'utiliser pour économiser des coûts.

    Configuration du groupe de ressources

    Le groupe de ressources auquel appartient l'instance. La valeur par défaut est le groupe de ressources par défaut. Pour plus d'informations, consultez la rubrique Qu'est-ce que la gestion des ressources ?.

    Spécification de liaison

    DTS propose des spécifications de synchronisation avec différents niveaux de performance. La spécification de liaison affecte le taux de synchronisation, alors sélectionnez une spécification en fonction de votre scénario métier. Pour plus d'informations, consultez la rubrique Spécifications de liaison de synchronisation de données.

    Durée de l'abonnement

    Pour une instance sous abonnement, sélectionnez la durée et la quantité. Vous pouvez sélectionner de 1 à 9 mois, ou 1, 2, 3 ou 5 ans.

    Remarque : Ce paramètre n'apparaît que lorsque la méthode de facturation est Subscription.

    c. Une fois la configuration terminée, lisez et acceptez les New Instance Class.

    d. Cliquez sur Buy and Start. Dans la boîte de dialogue Data Transmission Service (Pay-as-you-go) Service Terms, cliquez sur OK.

    Vous pouvez consulter la progression de la tâche sur la page Data Synchronization.

    Utilisez Data Transmission Service (DTS) pour synchroniser des données d'une instance ApsaraDB RDS for MariaDB vers une instance ApsaraDB RDS for PostgreSQL. Cette rubrique explique comment préparer les deux instances et configurer une tâche de synchronisation unidirectionnelle couvrant la synchronisation du schéma, des données complètes et des données incrémentielles.

    Procédure

    1. Accédez à la page de liste des tâches de synchronisation de la région de destination. Utilisez l'une des méthodes suivantes :

      Les étapes suivantes utilisent la console DTS. Si vous gérez vos bases de données dans Data Management (DMS), utilisez plutôt la console DMS. L'interface de la console DMS varie en fonction de son mode et de sa disposition, et certains paramètres ont des noms différents.

      a. Connectez-vous à la console Data Transmission Service (DTS).

      b. Dans le volet de navigation de gauche, cliquez sur Data Synchronization.

      c. Dans le coin supérieur gauche de la page, sélectionnez la région où réside l'instance de synchronisation.

      Remarque

      Les étapes réelles peuvent différer en fonction du mode et de la disposition de la console DMS. Pour plus d'informations, consultez les rubriques Mode simple et Personnaliser la disposition et le style de l'interface DMS.

      a. Connectez-vous à Data Management (DMS).

      b. Dans la barre de menu supérieure, choisissez Data + AI > Data Transmission (DTS) > Data Synchronization.

      c. À droite de Data Synchronization Tasks, sélectionnez la région où réside l'instance de synchronisation.

      Prérequis

      Effectuez les préparations suivantes avant de configurer la tâche de synchronisation.

      • Instance de destination — Vous avez créé une instance ApsaraDB RDS for PostgreSQL de destination dont l'espace de stockage est supérieur à l'espace de stockage utilisé par l'instance ApsaraDB RDS for MariaDB source. Pour plus d'informations, consultez la rubrique Créer rapidement une instance ApsaraDB RDS for PostgreSQL.

      • Base de données de destination — Vous avez créé une base de données dans l'instance ApsaraDB RDS for PostgreSQL de destination pour recevoir les données synchronisées. Pour plus d'informations, consultez la rubrique Créer un compte et une base de données.

      • Journalisation binaire sur l'instance source — ApsaraDB RDS for MariaDB active la journalisation binaire par défaut. Assurez-vous que le paramètre binlog_row_image est défini sur full. Sinon, la pré-vérification signale une erreur et la tâche de synchronisation des données ne peut pas démarrer. Pour plus d'informations sur la configuration du paramètre, consultez la rubrique Configurer les paramètres de l'instance.

      • Période de conservation des journaux binaires — Pour une tâche de synchronisation de données incrémentielles, DTS exige que les journaux binaires locaux de la base de données source soient conservés pendant au moins 24 heures. Pour une tâche effectuant à la fois une synchronisation complète et incrémentielle des données, DTS exige que les journaux binaires locaux soient conservés pendant au moins 7 jours. Vous pouvez modifier la période de conservation à 24 heures ou plus une fois la synchronisation complète des données terminée. Sinon, DTS peut ne pas parvenir à obtenir les journaux binaires et la tâche échoue. Dans des cas extrêmes, une incohérence ou une perte de données peut survenir. Les problèmes causés par une période de conservation des journaux binaires inférieure à la période requise par DTS ne sont pas couverts par l'accord de niveau de service (SLA) DTS.

      • Clés primaires sur les tables sources — Les tables à synchroniser doivent avoir une clé primaire ou une contrainte UNIQUE, et les champs doivent être uniques. Sinon, des données en double peuvent apparaître dans la base de données de destination.

      • Autorisations des comptes de base de données — Les comptes de base de données source et de destination que vous utilisez dans la tâche doivent disposer des autorisations requises par DTS. Pour plus d'informations, consultez la section Autorisations des comptes de base de données.

      • Accès réseau pour les serveurs DTS — Assurez-vous que les blocs CIDR des serveurs DTS sont ajoutés aux paramètres de sécurité des bases de données source et de destination afin que les serveurs DTS puissent accéder aux deux bases de données. Vous pouvez les ajouter automatiquement ou manuellement. Pour plus d'informations, consultez la rubrique Ajouter les blocs CIDR des serveurs DTS à une liste d'autorisation.

      Notes d'utilisation

      Le tableau suivant décrit les comportements et les risques applicables pendant l'exécution de la tâche de synchronisation.

      Remarque
      • Lors de 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 de la synchronisation complète et incrémentielle des données, DTS désactive temporairement les vérifications de contraintes et les opérations en cascade de clés étrangères au niveau de la session. Une incohérence des données peut 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.

      • Lors de 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 de la synchronisation complète et incrémentielle des données, DTS désactive temporairement les vérifications de contraintes et les opérations en cascade de clés étrangères au niveau de la session. Une incohérence des données peut 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.

      Remarque
      • Lors de 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 de la synchronisation complète et incrémentielle, DTS désactive temporairement les vérifications de contraintes et les opérations en cascade de clés étrangères au niveau de la session. Si des opérations de mise à jour ou de suppression en cascade se produisent dans la base de données source pendant l'exécution de la tâche, une incohérence des données peut survenir.

      Type

      Description

      Limitations de la base de données source


      - Si vous synchronisez des objets au niveau de la table et devez les modifier, par exemple en mappant des noms de colonnes, une seule tâche de synchronisation prend en charge jusqu'à 1 000 tables. Si vous dépassez cette limite, une erreur est renvoyée après la soumission de la tâche. Dans ce cas, divisez les tables et configurez plusieurs tâches, ou configurez une tâche qui synchronise l'ensemble de la base de données.
      - N'exécutez pas d'opérations DDL modifiant les schémas de base de données ou de tables pendant la synchronisation du schéma ou la synchronisation complète. Sinon, la tâche de synchronisation échoue.




      Remarque : Lors de la synchronisation complète, DTS interroge la base de données source. Cela crée des verrous de métadonnées qui peuvent bloquer les opérations DDL sur la base de données source.
      - Si les données à synchroniser contiennent des colonnes invisibles, une perte de données peut survenir car DTS ne peut pas obtenir les données de ces colonnes.

      Autres limitations


      - Évaluez les performances des bases de données source et de destination avant de synchroniser les données, et synchronisez les données pendant les heures creuses. Sinon, la synchronisation initiale complète des données consomme des ressources de lecture et d'écriture des deux bases de données et peut augmenter leur charge. Pour limiter les ressources consommées par la tâche, configurez la limitation lors de la configuration des paramètres avancés.

      - La synchronisation initiale complète des données exécute des opérations INSERT simultanément. Les écritures simultanées provoquent une fragmentation dans les tables de la base de données de destination, de sorte qu'après la synchronisation initiale complète des données, l'espace de table de l'instance de destination est plus grand que l'espace de table de l'instance source.

      - Si les objets de synchronisation sont une ou plusieurs tables au lieu d'une base de données entière, n'utilisez pas d'outil tel que pt-online-schema-change pour effectuer une opération DDL en ligne sur les objets de synchronisation dans la base de données source pendant la synchronisation. Sinon, la tâche de synchronisation échoue. Vous pouvez utiliser Data Management (DMS) pour effectuer des opérations DDL en ligne, décrites dans la rubrique relative aux modifications de schéma sans verrouillage.

      - Pendant que DTS synchronise les données, ne laissez aucun rédacteur autre que DTS écrire des données dans la base de données de destination. Sinon, les données des bases de données source et de destination deviennent incohérentes. Par exemple, si un autre rédacteur écrit des données dans la base de données de destination, l'exécution d'une opération DDL en ligne dans DMS peut entraîner une perte de données dans la base de données de destination.
      - Les champs temporels prennent en charge le type de données Timestamp. Si la valeur d'un champ temporel dans la base de données source est 0, DTS convertit automatiquement la valeur en null dans la base de données de destination.
      - Pour une tâche de synchronisation complète ou incrémentielle des données, si les tables sources à synchroniser contiennent des clés étrangères, des déclencheurs ou des déclencheurs d'événements, DTS définit temporairement le paramètre session_replication_role sur replica au niveau de la session. Si le compte de la base de données de destination ne dispose pas des autorisations requises, vous devez définir manuellement le paramètre session_replication_role sur replica dans la base de données de destination. Pendant cette période, si des opérations de mise à jour ou de suppression en cascade se produisent dans la base de données source alors que session_replication_role est défini sur replica, une incohérence des données peut survenir. Après la libération de la tâche DTS, remettez le paramètre session_replication_role sur origin.
      - Si une tâche échoue, l'assistance technique DTS tente de la restaurer dans un délai de huit heures. Pendant la restauration, ils peuvent redémarrer la tâche ou ajuster ses paramètres.




























      Remarque : Seuls les paramètres de la tâche DTS sont modifiés, pas les paramètres de la base de données. Les paramètres qui peuvent être ajustés incluent, mais ne sont pas limités à, les paramètres de tâche que DTS peut ajuster.

      Cas particuliers

      Les limitations suivantes s'appliquent uniquement si la base de données source est une base de données MariaDB autogérée, et non une instance ApsaraDB RDS for MariaDB :
      - Si un basculement principal/secondaire se produit sur la base de données source pendant la synchronisation, la tâche de synchronisation échoue.
      - DTS calcule la latence en comparant l'horodatage du dernier enregistrement de données synchronisé vers la base de données de destination avec l'horodatage actuel. Si aucune opération DML n'est exécutée sur la base de données source pendant une longue période, la latence signalée peut être inexacte. Si la tâche signale une latence anormalement élevée, exécutez une opération DML sur la base de données source pour mettre à jour la latence.




      Remarque : Si vous sélectionnez une base de données entière comme objets de synchronisation, vous pouvez également créer une table de heartbeat qui est mise à jour ou écrite chaque seconde.
      - DTS exécute périodiquement la commande CREATE DATABASE IF NOT EXISTS test sur la base de données source pour avancer la position du journal binaire.

      Topologies de synchronisation prises en charge

      DTS prend en charge les topologies de synchronisation unidirectionnelles suivantes entre ApsaraDB RDS for MariaDB et ApsaraDB RDS for PostgreSQL :

      • Synchronisation unidirectionnelle un-à-un

      • Synchronisation unidirectionnelle un-à-plusieurs

      • Synchronisation unidirectionnelle plusieurs-à-un

      Opérations SQL prises en charge

      Le tableau suivant décrit les opérations SQL que DTS synchronise de l'instance ApsaraDB RDS for MariaDB source vers l'instance ApsaraDB RDS for PostgreSQL de destination.

      Type d'opération

      Opérations SQL

      DML

      INSERT, UPDATE, DELETE

      Autorisations des comptes de base de données

      Le tableau suivant décrit les autorisations requises par les comptes de base de données utilisés par la tâche de synchronisation, ainsi que la procédure de création des comptes et d'octroi des autorisations.

      Base de données

      Autorisations requises

      Procédure de création d'un compte et d'octroi d'autorisations

      Instance ApsaraDB RDS for MariaDB

      L'autorisation SELECT

      Créer un compte et Modifier ou réinitialiser les autorisations d'un compte

      ApsaraDB RDS for PostgreSQL Instance ApsaraDB RDS for PostgreSQL

      Les autorisations CREATE et USAGE sur les objets à synchroniser, et l'autorisation de propriétaire sur le schéma

      Créer un compte et Autoriser un compte de service

      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 Aperçu de la facturation.

      Facturation

      Le tableau suivant décrit comment DTS facture chaque type de synchronisation. Consultez la tarification avant d'acheter l'instance de synchronisation.

      Type de synchronisation

      Tarification

      Synchronisation du schéma et synchronisation complète des données

      Gratuit.

      Synchronisation incrémentielle des données

      Facturé.