Tous les produits
Search
Centre de documentation

Data Transmission Service:Tâche de synchronisation des données

Dernière mise à jour :Oct 12, 2026

La fonctionnalité Data Synchronization vous permet de synchroniser des données entre différentes sources en temps réel. Elle convient à divers scénarios métier, tels que la redondance géographique active, la reprise après sinistre géographique, la reprise après sinistre des données locales, la synchronisation transfrontalière des données, le cloud BI et l'entreposage de données en temps réel. Cette rubrique utilise un exemple de synchronisation des données depuis ApsaraDB RDS for MySQL vers ApsaraDB RDS for MySQL pour expliquer comment configurer une tâche de synchronisation des données dans un cluster dédié DTS.

Prérequis

Précautions

Remarque
  • 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 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 des 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

  • Les tables à synchroniser doivent posséder une clé primaire ou une contrainte d'unicité, et les champs doivent être uniques. Sinon, des données en double peuvent apparaître dans la base de données de destination.

  • Si vous effectuez une synchronisation au niveau des tables et devez modifier les mappages (par exemple, le mappage des noms de colonnes), chaque tâche de synchronisation prend en charge jusqu'à 1 000 tables. Si vous dépassez cette limite, la tâche échoue avec une erreur. Pour résoudre ce problème, répartissez les tables sur plusieurs tâches ou configurez une tâche de synchronisation de base de données complète.

  • Journaux binaires :

    • ApsaraDB RDS for MySQL 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 échoue et la tâche de synchronisation ne peut pas démarrer. Pour obtenir des instructions, consultez la rubrique Configurer les paramètres de l'instance.

      Important
      • Si votre instance source est une base de données MySQL gérée par vous-même, activez la journalisation binaire et définissez binlog_format sur row et binlog_row_image sur full.

      • Si votre base de données MySQL gérée par vous-même est un cluster à double primaire (où les deux nœuds agissent comme primaire et secondaire), activez le paramètre log_slave_updates afin que DTS puisse capturer tous les événements du journal binaire. Pour obtenir des instructions, consultez la rubrique Créer un compte et configurer la journalisation binaire pour une base de données MySQL gérée par vous-même.

    • Les journaux binaires locaux d'une instance ApsaraDB RDS for MySQL doivent être conservés pendant au moins trois jours (sept jours sont recommandés). Pour une base de données MySQL gérée par vous-même, conservez les journaux binaires locaux pendant au moins sept jours. Sinon, DTS pourrait ne pas réussir à récupérer les journaux binaires, ce qui entraînerait l'échec de la tâche. Dans les cas extrêmes, cela peut provoquer une incohérence ou une perte de données. Les problèmes causés par des périodes de rétention des journaux binaires inférieures aux exigences de DTS ne sont pas couverts par le SLA de DTS.

      Remarque

      Pour configurer la retention period des journaux binaires locaux sur une instance ApsaraDB RDS for MySQL , consultez la rubrique Supprimer automatiquement les journaux locaux.

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

    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.

  • Les données générées par des modifications qui n'écrivent pas dans les journaux binaires, telles que les données restaurées à partir de sauvegardes physiques ou créées par des opérations en cascade, ne sont pas synchronisées vers la base de données de destination.

    Remarque

    Si cela se produit, retirez la base de données ou la table concernée des objets de synchronisation, puis ajoutez-la à nouveau. Vous ne pouvez effectuer cette opération que si votre activité métier le permet. Pour plus d'informations, consultez la rubrique Modifier les objets de synchronisation.

  • Si votre base de données source est MySQL 8.0.23 ou version ultérieure et contient des colonnes masquées invisibles, DTS pourrait ne pas lire ces colonnes. Cela peut entraîner une perte de données.

    Remarque

    Exécutez la commande ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE; pour rendre la colonne masquée visible. Pour plus d'informations, consultez la documentation Invisible Columns.

  • Compatibilité MySQL : Lorsque DTS synchronise des données depuis une base de données source de la famille MySQL, il s'appuie sur le protocole MySQL standard et le format Binlog. Les comportements incompatibles avec MySQL standard ne sont pas pris en charge. Si votre base de données source prétend être compatible avec MySQL mais se comporte différemment (par exemple, lorsqu'OceanBase est connecté en tant que source en mode MySQL, l'horodatage de l'événement de rotation final dans le Binlog est 0, ce qui diffère de MySQL), la tâche de synchronisation DTS peut échouer.

Autres limites

  • Utilisez la même version pour les bases de données source et de destination, ou effectuez une mise à niveau d'une version inférieure vers une version supérieure pour garantir la compatibilité. La synchronisation d'une version supérieure vers une version inférieure peut entraîner des problèmes de compatibilité.

  • Si votre base de données source utilise des opérations DDL en ligne en mode table temporaire, y compris mais sans s'y limiter les scénarios de fusion multi-tables, ou ajoute des index basés sur des fonctions aux colonnes de clé unique, une perte de données ou un échec de la tâche peut survenir dans la base de données de destination.

  • Les résolveurs définis par la syntaxe de commentaire ne prennent pas en charge l'utilisation synchrone.

  • Si un conflit de clé primaire ou de clé unique survient pendant l'exécution de la tâche :

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

  • Si votre base de données de destination est MySQL 8.0.23 ou version ultérieure et contient des colonnes masquées invisibles dans les colonnes de réception, DTS pourrait ne pas localiser la colonne cible. Cela peut entraîner un échec de la tâche ou une perte de données.

    Remarque

    Exécutez la commande ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE; pour rendre la colonne masquée visible. Pour plus d'informations, consultez la documentation Invisible Columns.

  • Si vous n'utilisez pas DTS pour synchroniser les schémas de table, assurez-vous vous-même de la compatibilité des champs. Sinon, la tâche peut échouer ou des données peuvent être perdues. Par exemple, si la table source utilise le type de données text et que la colonne de destination utilise varchar(255) , les grands champs de la table source peuvent être tronqués.

  • Si vos données incluent des caractères sur quatre octets, tels que des caractères chinois rares ou des emojis, la base de données et la table de destination doivent utiliser le jeu de caractères utf8mb4.

    Remarque

    Si vous utilisez DTS pour synchroniser les schémas de table, définissez le paramètre character_set_server au niveau de l'instance dans la base de données de destination sur utf8mb4.

  • Évaluez les performances des bases de données source et de destination avant de démarrer la synchronisation. Exécutez la synchronisation pendant les heures creuses. Sinon, l'initialisation complète consomme des ressources de lecture et d'écriture sur les deux bases de données et peut augmenter la charge de la base de données.

  • L'initialisation complète exécute des opérations INSERT de manière concurrente. Cela fragmente les tables de destination. Après l'initialisation complète, l'espace de table de l'instance de destination est plus grand que celui de l'instance source.

  • Si vous synchronisez une ou plusieurs tables, et non une base de données complète, n'utilisez pas d'outils tels que pt-online-schema-change pour effectuer des opérations DDL en ligne sur les tables sources. Sinon, la synchronisation échouera.

    Vous pouvez utiliser Data Management (DMS) pour effectuer des opérations DDL en ligne. Pour plus d'informations, consultez la rubrique DDL en ligne sans verrouillage des tables.

  • N'écrivez pas de données dans la base de données de destination autrement que via DTS pendant l'exécution de la synchronisation. Sinon, des incohérences de données peuvent survenir entre les bases de données source et de destination. Par exemple, si vous utilisez DMS pour effectuer des opérations DDL en ligne pendant que d'autres données sont écrites dans la base de données de destination, une perte de données peut survenir.

  • Si une opération DDL échoue dans la base de données de destination, la tâche DTS continue de s'exécuter. Vérifiez l'opération DDL ayant échoué dans les journaux de la tâche. Pour obtenir des instructions, consultez la rubrique Afficher les journaux de tâche.

  • Si vous écrivez des colonnes dont les noms ne diffèrent que par la casse dans la même table de la base de données MySQL de destination, des résultats inattendus peuvent survenir car les noms de colonnes MySQL ne sont pas sensibles à la casse.

  • Une fois la synchronisation des données terminée (le Status de l'instance est Completed ), vous devez utiliser la commande ANALYZE TABLE <table_name> pour confirmer que toutes les données ont été écrites dans la table cible. Par exemple, après le déclenchement du mécanisme de basculement HA dans la base de données MySQL cible, les données pourraient n'être écrites qu'en mémoire, ce qui peut entraîner une perte de données.

  • Si votre instance ApsaraDB RDS for MySQL a Always-Encrypted activé, la synchronisation complète des données n'est pas prise en charge.

    Remarque

    Les instances ApsaraDB RDS for MySQL avec Transparent Data Encryption (TDE) activé prennent en charge la synchronisation du schéma, la synchronisation complète des données et la synchronisation incrémentielle des données.

  • Pour synchroniser les comptes de la base de données source, respectez les prérequis et examinez les considérations connexes. Pour plus d'informations, consultez la rubrique Migrer les comptes de base de données.

  • En cas d'échec d'une tâche, l'équipe d'assistance DTS tentera de la restaurer dans un délai de huit heures. Lors de la restauration, elle peut redémarrer la tâche ou ajuster ses paramètres.

    Remarque

    Seuls les paramètres de tâche DTS sont modifiés, et non les paramètres de la base de données. Les paramètres susceptibles d'être ajustés incluent ceux répertoriés dans la rubrique Modifier les paramètres de l'instance.

Autres considérations

  • Pour une base de données source MySQL gérée par vous-même :

    • Si un basculement primaire/secondaire se produit dans la base de données source pendant la synchronisation, la tâche échoue.

    • DTS calcule la latence en comparant l'horodatage du dernier enregistrement synchronisé avec l'heure actuelle. Si aucune opération DML n'est exécutée pendant une longue période dans la base de données source, le rapport de latence peut devenir imprécis. Si la latence semble trop élevée, exécutez une opération DML dans la base de données source pour mettre à jour la latence.

      Remarque

      Si vous sélectionnez une base de données complète pour la synchronisation, créez une table de heartbeat. Mettez à jour ou écrivez dans cette table chaque seconde.

    • DTS exécute périodiquement la commande CREATE DATABASE IF NOT EXISTS test dans la base de données source pour avancer le décalage du journal binaire.

    • Si votre base de données source est Amazon Aurora MySQL ou une autre instance MySQL en cluster, assurez-vous que le nom de domaine ou l'adresse IP utilisé dans la configuration de la tâche, ainsi que sa résolution DNS, pointent toujours vers un nœud en lecture/écriture (RW). Sinon, la synchronisation peut échouer.

  • Pour une base de données source ApsaraDB RDS for MySQL :

    • Les instances en lecture seule, telles que les instances en lecture seule ApsaraDB RDS for MySQL 5.6, qui n'enregistrent pas les journaux de transaction, ne peuvent pas servir de bases de données sources.

    • DTS exécute périodiquement la commande CREATE DATABASE IF NOT EXISTS test dans la base de données source pour avancer le décalage du journal binaire.

Topologies de synchronisation

  • Synchronisation unidirectionnelle un-à-un

  • Synchronisation unidirectionnelle un-à-plusieurs

  • Synchronisation en cascade unidirectionnelle

  • Synchronisation unidirectionnelle plusieurs-à-un

  • Synchronisation bidirectionnelle un-à-un

Pour plus de détails sur chaque topologie de synchronisation des données et ses notes d'utilisation, consultez la rubrique Topologies de synchronisation des données.

Opérations SQL prises en charge

Type d'opération

Instruction SQL

DML

INSERT, UPDATE, DELETE

DDL

  • ALTER TABLE, ALTER VIEW

  • CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW

  • DROP INDEX, DROP TABLE

  • RENAME TABLE

    Important

    L'opération RENAME TABLE peut provoquer une incohérence des données. Par exemple, si l'objet de synchronisation est une table unique et que vous renommez cette table dans l'instance source pendant la synchronisation, les données de cette table ne seront pas synchronisées vers la base de données de destination. Pour éviter ce problème, sélectionnez la base de données entière à laquelle appartient la table comme objet de synchronisation. Assurez-vous que les bases de données auxquelles appartient la table avant et après l'opération RENAME TABLE sont incluses dans les objets de synchronisation.

  • TRUNCATE TABLE

Procédure

  1. Accédez à la page Dedicated Cluster.

  2. À droite de Workbench, sélectionnez la région dans laquelle vous souhaitez créer le cluster dédié.

  3. Dans la colonne Operation du cluster dédié cible, choisissez Configure Task > Configure Data Synchronization Task.

  4. Configurez les paramètres Source Database et Destination Database.

    Avertissement

    Après avoir sélectionné les instances source et de destination, lisez attentivement les limites affichées en haut de la page. Le non-respect de ces limites peut entraîner l'échec de la tâche ou des incohérences de données.

    Section

    Parameter

    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

    Select Existing Connection

    Vous pouvez choisir d'utiliser ou non une instance existante, selon vos besoins.

    • Si vous utilisez une instance existante, les informations de base de données ci-dessous sont renseignées automatiquement. Vous n'avez pas besoin de les saisir à nouveau.

    • Si vous n'utilisez pas d'instance existante, vous devez saisir les informations de base de données ci-dessous.

    Database Type

    Sélectionnez MySQL.

    Connection Type

    Sélectionnez Alibaba Cloud Instance.

    Instance Region

    La région de l'instance ApsaraDB RDS for MySQL source. Cette région est spécifiée lors de la création du cluster dédié et ne peut pas être modifiée.

    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.

    RDS Instance ID

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

    Remarque

    La source et la destination peuvent être la même instance ApsaraDB RDS for MySQL ou des instances différentes. DTS peut synchroniser les données entre deux instances ou au sein d'une seule instance.

    Database Account

    Saisissez le compte de base de données de l'instance ApsaraDB RDS for MySQL source. Le compte doit disposer d'autorisations de lecture sur les objets à synchroniser.

    Database Password

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

    Connection Method

    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 Utiliser un certificat cloud pour activer rapidement le chiffrement SSL.

    Destination Database

    Select Existing Connection

    Vous pouvez choisir d'utiliser ou non une instance existante, selon vos besoins.

    • Si vous utilisez une instance existante, les informations de base de données sont renseignées automatiquement. Vous n'avez pas besoin de les saisir à nouveau.

    • Si vous n'utilisez pas d'instance existante, vous devez saisir les informations de base de données ci-dessous.

    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 de destination.

    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.

    RDS Instance ID

    Sélectionnez l'ID de l'instance ApsaraDB RDS for MySQL de destination.

    Remarque

    La source et la destination peuvent être la même instance ApsaraDB RDS for MySQL ou des instances différentes. DTS peut synchroniser les données entre deux instances ou au sein d'une seule instance.

    Database Account

    Saisissez le compte de base de données de l'instance ApsaraDB RDS for MySQL de destination. Le compte doit disposer d'autorisations de lecture et d'écriture sur la base de données de destination.

    Database Password

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

    Connection Method

    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 Utiliser un certificat cloud pour activer rapidement le chiffrement SSL.

  5. En bas de la page, cliquez sur Test Connectivity and Proceed.

    Si la base de données source ou de destination est une instance de base de données Alibaba Cloud, telle qu'une instance ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB, DTS ajoute automatiquement les plages CIDR des serveurs DTS à la liste d'autorisation de l'instance. Si la base de données source ou de destination est une base de données autogérée hébergée sur une instance Elastic Compute Service (ECS), DTS ajoute automatiquement les plages CIDR des serveurs DTS aux règles du groupe de sécurité de l'instance ECS, et vous devez vous assurer que l'instance ECS peut accéder à la base de données. Si la base de données source ou de destination est une base de données autogérée déployée dans un centre de données ou fournie par un fournisseur de services cloud tiers, vous devez ajouter manuellement les plages CIDR des serveurs DTS à la liste d'autorisation de la base de données pour permettre à DTS d'y accéder. Pour plus d'informations, consultez Ajouter les adresses IP des serveurs DTS à la liste d'autorisation.

    Avertissement

    Si les plages CIDR des serveurs DTS sont ajoutées automatiquement ou manuellement à la liste d'autorisation de la base de données ou de l'instance, ou aux règles du groupe de sécurité ECS, des risques de sécurité peuvent survenir. Par conséquent, avant d'utiliser DTS pour synchroniser des données, vous devez comprendre et accepter les risques potentiels et prendre des mesures préventives, notamment mais sans s'y limiter : renforcer la sécurité de votre nom d'utilisateur et de votre mot de passe, limiter les ports exposés, authentifier les appels API, vérifier régulièrement la liste d'autorisation ou les règles du groupe de sécurité ECS et interdire les plages CIDR non autorisées, ou connecter la base de données à DTS via Express Connect, VPN Gateway ou Smart Access Gateway.

  6. Configurez les objets de la tâche.

    1. Sur la page Configure Objects, configurez les objets à synchroniser.

      Parameter

      Description

      Synchronization Types

      Incremental Data Synchronization est sélectionné. Par défaut, vous devez également sélectionner Schema Synchronization et Full Data Synchronization. Une fois la prévérification terminée, DTS effectue une synchronisation complète des données des objets sélectionnés depuis l'instance source vers le cluster de destination. Cela sert de données de référence pour la synchronisation incrémentielle ultérieure.

      Method to Migrate Triggers in Source Database

      Sélectionnez une méthode pour synchroniser les déclencheurs. Si les objets à synchroniser n'impliquent pas de déclencheurs, il n'est pas nécessaire de configurer ce paramètre. Pour plus d'informations, consultez Configurer une méthode pour synchroniser ou migrer les déclencheurs.

      Remarque

      Ce paramètre est disponible uniquement lorsque Synchronization Types est sélectionné pour Schema Synchronization.

      Enable Migration Assessment

      Évaluez si les schémas des bases de données source et de destination répondent aux exigences. Cela inclut des aspects tels que la longueur des index, les procédures stockées et les tables dépendantes. Vous pouvez sélectionner Yes ou No.

      Remarque
      • Ce paramètre est disponible uniquement lorsque Synchronization Types est sélectionné pour Schema Synchronization.

      • Si vous sélectionnez Yes, la prévérification peut prendre plus de temps. Vous pouvez consulter le Assessment Result pendant la phase de prévérification. Le résultat de l'évaluation n'affecte pas le résultat de la prévérification.

      Synchronization Topology

      Sélectionnez One-way Synchronization.

      Processing Mode of Conflicting Tables

      • 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 du même nom n'existe, la prévérification réussit. Si une table du 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 Mapper les 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 :

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

      Capitalization of Object Names in Destination Instance

      Vous pouvez configurer la politique de sensibilité à la casse pour les noms d'objets de base de données, de tables et de colonnes qui sont synchronisés vers l'instance de destination. Par défaut, la stratégie DTS default policy est sélectionnée. Vous pouvez également choisir d'utiliser les stratégies par défaut des bases de données source et de destination. Pour plus d'informations, consultez Politique de sensibilité à la casse pour les noms d'objets de destination.

      Source Objects

      Dans la zone Source Objects, cliquez sur un objet à synchroniser, puis cliquez sur 向右 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.

      Selected Objects

      Remarque
      • Pour sélectionner les opérations SQL à synchroniser au niveau de la base de données ou de la table, faites un clic droit sur l'objet à synchroniser dans la zone Selected Objects et sélectionnez les opérations SQL souhaitées dans la boîte de dialogue qui s'affiche.

      • Pour filtrer les données à l'aide d'une clause WHERE, faites un clic droit sur la table à synchroniser dans la zone Selected Objects et définissez la condition de filtre dans la boîte de dialogue qui s'affiche. Pour plus d'informations, consultez Définir des conditions de filtre.

      • Si vous utilisez le mappage de noms d'objets, la synchronisation des objets dépendants peut échouer.

    2. Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés.

      Parameter

      Description

      Dedicated Cluster for Task Scheduling

      Ce paramètre est fixé sur le cluster dédié actuel et ne peut pas être modifié.

      Copy the temporary table of the Online DDL tool that is generated in the source table to the destination database.

      Si vous utilisez Data Management (DMS) ou gh-ost pour effectuer des modifications DDL en ligne dans la base de données source, vous pouvez choisir de synchroniser ou non les données des tables temporaires générées par les modifications DDL en ligne.

      Important
      • Les tâches DTS ne prennent pas en charge l'utilisation d'outils tels que pt-online-schema-change pour effectuer des modifications DDL en ligne. L'utilisation de tels outils entraînera l'échec de la tâche DTS.

      • Les méthodes de traitement pour chaque étape sont les suivantes : Les étapes Schema Synchronization et Full Data Synchronization n'autorisent pas les opérations DDL qui modifient le schéma de la base de données ou de la table. Par conséquent, ces étapes ne sont pas contrôlées par la stratégie Online DDL.

        • Schema Synchronization : cette étape n'est pas contrôlée par la stratégie Online DDL. Les tables temporaires associées sont créées.

        • Full Data Synchronization : cette étape n'est pas contrôlée par la stratégie Online DDL. Les tables temporaires ne sont pas incluses dans les objets de synchronisation complète. Toutes les tables dont les noms correspondent à l'expression régulière (^_(.+)_(?:gho|new)$ ou ^_(.+)_(?:ghc|del|old)$) sont filtrées.

        • Incremental Data Synchronization : cette étape est contrôlée par la stratégie Online DDL.

          • Yes : synchronise les modifications de données dans les tables temporaires (par exemple, _table-name_gho) générées par les opérations DDL en ligne.

          • No, Adapt to DMS Online DDL et No, Adapt to gh-ost : filtre les modifications de données dans les tables temporaires (par exemple, _table-name_gho) générées par des outils tels que gh-ost, selon des règles d'expression régulière.

      • Yes : synchronise les données des tables temporaires générées par les modifications DDL en ligne.

        Remarque

        Si les données des tables temporaires générées par les modifications DDL en ligne sont trop volumineuses, cela peut entraîner une latence de synchronisation.

      • No, Adapt to DMS Online DDL : ne synchronise pas les données des tables temporaires générées par les opérations DDL en ligne. Il synchronise uniquement les instructions DDL originales exécutées à l'aide de Data Management (DMS) dans la base de données source.

        Remarque

        Cette option provoque le verrouillage des tables dans la base de données de destination.

      • No, Adapt to gh-ost : ne synchronise pas les données des tables temporaires générées par les modifications DDL en ligne. Il prend en charge des règles de filtrage personnalisées. DTS filtre les modifications de données dans les tables temporaires (par exemple, _table-name_gho) générées par des outils tels que gh-ost, selon des règles d'expression régulière. Vous pouvez modifier les expressions régulières par défaut utilisées pour faire correspondre les tables fantômes et les tables inutiles selon vos besoins :

        • Table fantôme : ^_(.+)_(?:gho|new)$

        • Table inutile : ^_(.+)_(?:ghc|del|old)$

        Remarque

        Cette option provoque le verrouillage des tables dans la base de données de destination.

      Whether to Migrate Accounts

      Sélectionnez si vous souhaitez synchroniser les informations de compte de la base de données source. Si vous sélectionnez Yes, vous devez également sélectionner les comptes à synchroniser et confirmer leurs autorisations. Pour plus d'informations, consultez Migrer les comptes de base de données.

      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 commence immédiatement à retenter la connexion. La durée de nouvelle tentative par défaut est de 720 minutes. Vous pouvez également 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 avec succès à la base de données 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 (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 le délai 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 est utilisée pour les deux.

      • Étant donné que DTS facture le temps d'exécution de la tâche 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 professionnels 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

      Après le démarrage de la tâche de synchronisation, 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 commence 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 la durée de nouvelle tentative dans la plage de 1 à 1 440 minutes. Nous vous recommandons de la définir à 10 minutes ou plus. Si les opérations pertinentes aboutissent dans le délai de nouvelle tentative défini, la tâche de synchronisation reprend automatiquement. Sinon, la tâche échoue.

      Important

      La valeur de Retry Time for Other Issues doit être inférieure à celle de Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Pendant l'étape 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 Synchronization Types est défini sur Full Data Synchronization.

      • Vous pouvez également ajuster le taux 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 soulager 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

      Vous pouvez sélectionner un tag d'environnement pour identifier l'instance. Aucune sélection n'est requise dans cet exemple.

      Whether to delete SQL operations on heartbeat tables of forward and reverse tasks

      Choisissez si vous souhaitez écrire les informations SQL de pulsation dans la base de données source lorsque l'instance DTS est en cours d'exécution.

      • Yes : les informations SQL de pulsation ne sont pas écrites dans la base de données source. Cela peut amener l'instance DTS à signaler un retard.

      • No : écrit les informations SQL de pulsation 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.

      Monitoring and Alerting

      Spécifiez si vous souhaitez configurer des alertes. Si la synchronisation échoue ou si la latence dépasse le seuil spécifié, une notification est envoyée à un contact d'alerte.

    3. 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 Configurer la validation des données pour obtenir des instructions de configuration.

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

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

    • 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 qu'après la réussite de tous les éléments de prévérification.

    • Si la prévérification échoue, cliquez sur View Details pour l'élément ayant échoué. Corrigez le problème comme indiqué, puis exécutez à nouveau 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 exécutez à nouveau la prévérification.

      • Pour les éléments de vérification qui peuvent ê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 de masquer 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é.

  8. Lorsque le taux de réussite de la prévérification atteint 100 %, cliquez sur Next: Select DTS Instance Type.

  9. Dans la section New Instance Class, définissez la Instance Class pour la tâche. Vous pouvez spécifier une valeur allant de 1 DU jusqu'au nombre maximum de DU disponibles dans le cluster.

  10. Une fois la configuration terminée, lisez et cochez la case Data Transmission Service (Pay-as-you-go) Service Terms.

  11. Cliquez sur Start Task. Dans la boîte de dialogue qui s'affiche, cliquez sur OK pour démarrer la tâche de synchronisation.

    Vous pouvez filtrer la tâche dans la liste Cluster Task List pour surveiller sa progression.