Tous les produits
Search
Centre de documentation

Data Transmission Service:Synchroniser des données depuis ApsaraDB RDS for MySQL vers SelectDB

Dernière mise à jour :Aug 10, 2026

ApsaraDB for SelectDB prend en charge des temps de réponse inférieurs à la seconde sur des jeux de données massifs, des dizaines de milliers de requêtes ponctuelles simultanées et des analyses complexes à haut débit. Le service Data Transmission Service (DTS) synchronise les données provenant de sources MySQL, telles qu'une base de données MySQL auto-gérée ou une instance ApsaraDB RDS for MySQL, vers une instance ApsaraDB for SelectDB pour l'analyse de données à grande échelle. Cette rubrique illustre la procédure en prenant comme exemple une instance ApsaraDB RDS for MySQL.

Prérequis

Vous avez créé une instance cible ApsaraDB for SelectDB dont l'espace de stockage dépasse celui utilisé par l'instance ApsaraDB RDS for MySQL source. Pour plus d'informations, consultez la page Créer une instance.

Points à prendre en compte

Type

Description

Limitations de la base de données source

  • Exigences relatives aux objets de synchronisation :

    • Si toutes les tables à synchroniser possèdent une clé primaire ou une contrainte d'unicité :

      Assurez-vous que les colonnes formant la clé ou la contrainte contiennent des valeurs uniques.

    • Si les objets de synchronisation incluent des tables sans clé primaire ni contrainte d'unicité :

      Lorsque vous configurez l'instance de synchronisation des données, nous vous recommandons de sélectionner Schema Synchronization pour les Synchronization Types. Ensuite, à l'étape Configurations for Databases, Tables, and Columns, définissez le Engine de la table sur duplicate. À défaut, l'instance risque d'échouer ou des pertes de données peuvent survenir.

      Remarque

      Pendant la synchronisation du schéma, DTS ajoute des colonnes aux tables de destination. Pour plus d'informations, consultez la section Colonnes supplémentaires.

  • 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 entre plusieurs tâches ou configurez une tâche de synchronisation complète de la base de données.

  • 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 vos soins, 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 vos soins 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 vos soins.

    • 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 vos soins, conservez les journaux binaires locaux pendant au moins sept jours. À défaut, 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 à celles requises par 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 susceptibles de 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 de nouveau. Cette opération n'est possible 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 risque d'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.

Autres limites

  • Vous pouvez synchroniser des données uniquement vers des tables qui utilisent le moteur Unique ou Duplicate dans les instances Alibaba Cloud SelectDB.

    Moteur Unique

    Si une table de destination utilise le moteur Unique, assurez-vous que toutes les clés uniques de la table de destination existent dans la table source et sont incluses dans les objets de synchronisation. Sinon, des incohérences de données peuvent survenir.

    Moteur Duplicate

    Si une table de destination utilise le moteur Duplicate, l'une des conditions suivantes peut entraîner la présence de données en double dans la base de données de destination. Vous pouvez dédupliquer manuellement les données en vous basant sur les colonnes supplémentaires (_is_deleted, _version et _record_id) :

    • Une nouvelle tentative a été effectuée pour l'instance de synchronisation de données.

    • L'instance de synchronisation de données a été redémarrée.

    • Deux opérations DML ou plus ont été exécutées sur la même ligne après le démarrage de l'instance de synchronisation de données.

      Remarque

      Lorsque la table de destination utilise le moteur Duplicate, DTS convertit les instructions UPDATE ou DELETE en instructions INSERT.

  • DTS ne synchronise pas les objets INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER ni les clés étrangères (FK).

  • Lorsque vous configurez les paramètres dans la section Selected Objects, vous ne pouvez définir que le paramètre bucket_count (nombre de buckets).

    Remarque

    La valeur du paramètre bucket_count doit être un entier positif. La valeur par défaut est auto.

  • Pendant la synchronisation des données, ne créez pas de cluster dans l'instance Alibaba Cloud SelectDB de destination. Sinon, la tâche échouera. Vous pouvez redémarrer l'instance de synchronisation de données pour reprendre la tâche.

  • Si le nom d'une base de données ou d'une table synchronisée ne commence pas par une lettre, renommez-la à l'aide de la fonctionnalité de mappage des noms d'objets.

  • Si le nom d'un objet synchronisé (tel qu'une base de données, une table ou une colonne) contient des caractères chinois, renommez-le à l'aide de la fonctionnalité de mappage des noms d'objets, par exemple en utilisant un nom anglais. Sinon, la tâche risque d'échouer.

  • DTS ne prend pas en charge les opérations DDL qui modifient plusieurs colonnes à la fois ni les opérations DDL consécutives sur la même table.

  • Pendant la synchronisation des données, n'ajoutez pas de nœuds BE à la base de données Alibaba Cloud SelectDB. Sinon, la tâche échouera. Vous pouvez redémarrer l'instance de synchronisation de données pour reprendre la tâche.

  • Dans un scénario de synchronisation de tables de type plusieurs-vers-un, où les données de plusieurs tables sources sont synchronisées vers une seule table de destination, assurez-vous que les schémas de toutes les tables sources sont identiques. Sinon, des incohérences de données ou un échec de la tâche peuvent survenir.

  • Dans MySQL, M dans VARCHAR(M) représente le nombre de caractères. Dans Alibaba Cloud SelectDB, N dans VARCHAR(N) représente le nombre d'octets. Si vous n'utilisez pas la fonctionnalité de synchronisation de schéma fournie par DTS, nous vous recommandons de définir la longueur d'un champ VARCHAR dans Alibaba Cloud SelectDB à quatre fois la longueur du champ VARCHAR correspondant dans MySQL.

  • Lorsque vous utilisez DMS ou l'outil gh-ost pour effectuer des opérations DDL en ligne sur la source, DTS synchronise uniquement les instructions DDL d'origine vers la destination. Dans ce scénario, DTS n'a pas besoin de synchroniser une grande quantité de données de table temporaire, mais cela peut entraîner le verrouillage des tables au niveau de la destination.

    Remarque

    DTS ne prend pas en charge la synchronisation des modifications DDL en ligne effectuées avec des outils tels que pt-online-schema-change. Si de telles modifications existent au niveau de la source, des données peuvent être perdues au niveau de la destination ou l'instance de synchronisation peut échouer.

  • Avant de synchroniser les données, évaluez les performances des bases de données source et de destination. Effectuez la synchronisation des données pendant les heures creuses. La synchronisation initiale complète des données 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.

  • La synchronisation initiale complète des données exécute des opérations INSERT concurrentes, ce qui provoque une fragmentation dans les tables de la base de données de destination. Par conséquent, l'espace de table de la base de données de destination est plus grand que celui de la base de données source une fois la synchronisation initiale complète terminée.

  • Pendant la synchronisation des données, n'utilisez pas d'outils tels que pt-online-schema-change pour effectuer des modifications DDL en ligne sur les objets de synchronisation dans la base de données source. Sinon, la tâche échouera.

  • Pendant la synchronisation des données, si des sources autres que DTS écrivent des données dans la base de données de destination, des incohérences de données peuvent survenir.

  • 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 de schéma, la synchronisation complète des données et la synchronisation incrémentielle des données.

  • Pendant la synchronisation incrémentielle, DTS utilise une stratégie de synchronisation par lots pour réduire la charge sur la destination. Par défaut, DTS écrit dans un seul objet de synchronisation au maximum une fois toutes les 5 secondes. Par conséquent, les tâches de synchronisation DTS peuvent connaître une latence de synchronisation régulière, généralement inférieure à 10 secondes. Pour réduire cette latence de synchronisation régulière, modifiez le paramètre de l'instance DTS selectdb.reservoir.timeout.milliseconds dans la console afin d'ajuster l'intervalle de lot. La plage autorisée est [1000, 10000] millisecondes.

    Remarque

    Lorsque vous ajustez l'intervalle de lot, une valeur plus petite augmente la fréquence d'écriture de DTS. Cela peut augmenter la charge et le temps de réponse en écriture (RT) sur la destination, ce qui augmente à son tour la latence de synchronisation DTS. Ajustez la valeur en fonction de la charge sur la destination.

  • 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 la 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 Modifier les paramètres de l'instance.

Cas particuliers

  • Pour une base de données source MySQL auto-gérée :

    • 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 faire avancer l'offset 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 — et sa résolution DNS — pointent toujours vers un nœud en lecture/écriture (RW). Dans le cas contraire, 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 transactions, 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 faire avancer l'offset du journal binaire.

Facturation

|

Type de synchronisation

Tarification

Synchronisation du schéma et des données complètes

Gratuit.

Synchronisation incrémentielle des données

Payant. Pour plus d'informations, consultez la rubrique Présentation de la facturation.

Instructions SQL pour la synchronisation incrémentielle

Type d'opération

Instruction SQL

DML

INSERT, UPDATE et DELETE

DDL

  • ADD COLUMN

  • MODIFY COLUMN

  • CHANGE COLUMN

  • DROP COLUMN et DROP TABLE

  • TRUNCATE TABLE

  • RENAME TABLE

    Important

    L'opération RENAME TABLE peut entraîner 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 sont 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 la table appartient comme objet de synchronisation. Assurez-vous que les bases de données auxquelles la table appartient avant et après l'opération RENAME TABLE sont incluses dans les objets de synchronisation.

Autorisations du compte de base de données

|

Base de données

Autorisations requises

Actions

Source ApsaraDB RDS for MySQL

Autorisations de lecture et d'écriture sur les objets à synchroniser

Créer un compte et Modifier les autorisations d'un compte

Instance ApsaraDB for SelectDB de destination

Autorisation d'accès au cluster (Usage_priv) et autorisations de lecture et d'écriture sur la base de données (Select_priv, Load_priv, Alter_priv, Create_priv et Drop_priv)

Gérer les autorisations du cluster et Gérer les autorisations de base

Remarque

Si vous avez créé le compte de la base de données source en dehors de la console ApsaraDB RDS for MySQL, assurez-vous qu'il dispose des autorisations REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW et SELECT.

Procédure

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

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

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

    3. Sélectionnez la région où se trouve l'instance de synchronisation dans le coin supérieur gauche de la page.

    Depuis la console DMS

    Remarque

    Les opérations réelles peuvent varier selon le mode et 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.

    1. Connectez-vous à la console Data Management (DMS).

    2. Dans la barre de menu supérieure, accédez à Data + AI > Data Transmission (DTS) > Data Synchronization.

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

  2. Cliquez sur Create Task pour accéder à la page de configuration de la tâche.

  3. Configurez les bases de données source et de destination.

    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

    • 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 configurées automatiquement.

      Remarque

      Dans la console DMS, cet élément de configuration 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 n'avez pas besoin d'utiliser une instance déjà ajoutée, configurez manuellement les informations de base de données suivantes.

    Database Type

    Sélectionnez MySQL.

    Access Method

    Sélectionnez Alibaba Cloud Instance.

    Instance Region

    Sélectionnez la région de l'instance ApsaraDB RDS for MySQL source.

    Replicate Data Across Alibaba Cloud Accounts

    Dans cet exemple, les données sont synchronisées 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 de l'instance ApsaraDB RDS for MySQL source. Pour plus d'informations sur les autorisations requises, consultez la section Autorisations requises pour les comptes de base de données.

    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

    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 configurées automatiquement.

      Remarque

      Dans la console DMS, cet élément de configuration 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 n'avez pas besoin d'utiliser une instance déjà ajoutée, configurez manuellement les informations de base de données suivantes.

    Database Type

    Sélectionnez ApsaraDB for SelectDB.

    Access Method

    Sélectionnez Alibaba Cloud Instance.

    Instance Region

    Sélectionnez la région de l'instance ApsaraDB for SelectDB de destination.

    Replicate Data Across Alibaba Cloud Accounts

    Dans cet exemple, les données sont synchronisées au sein du même compte Alibaba Cloud. Sélectionnez No.

    Instance ID

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

    Database Account

    Saisissez le compte de base de données de l'instance ApsaraDB for SelectDB de destination. Pour plus d'informations sur les permissions requises, consultez Permissions required for database accounts.

    Database Password

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

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

    Remarque
    • Assurez-vous que les blocs CIDR des adresses IP des serveurs DTS sont ajoutés aux paramètres de sécurité des bases de données source et de destination pour autoriser l'accès depuis les serveurs DTS. Cette opération peut être effectuée automatiquement ou manuellement. Pour plus d'informations, consultez Add the IP address CIDR blocks of DTS servers to a whitelist.

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

  5. Configurez les objets de 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 base de référence pour la synchronisation incrémentielle des données ultérieure.

      Important

      Les types de données sont convertis lors de la synchronisation des données de MySQL vers ApsaraDB for SelectDB. Si vous ne sélectionnez pas Schema Synchronization, vous devez au préalable créer des tables utilisant le modèle Unique ou Duplicate avec le schéma approprié dans l'instance ApsaraDB for SelectDB de destination. Pour plus d'informations, consultez les rubriques Mappages de types de données, Colonnes supplémentaires et Modèles de données.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors : DTS vérifie la présence de tables portant le même nom dans la base de données de destination. En cas de conflit, DTS signale une erreur lors de la pré-vérification et ne démarre pas la tâche.

        Remarque

        S'il n'est pas possible de supprimer ou de renommer la table en conflit, vous pouvez mapper cette table vers un nom différent. Pour plus d'informations, consultez la rubrique Mapper les noms d'objets.

      • Ignore Errors and Proceed : ignore la vérification des tables portant le même nom dans la base de données de destination.

        Avertissement

        Si vous sélectionnez Ignore Errors and Proceed, des incohérences de données peuvent survenir. Par exemple :

        • Si les schémas de table sont identiques, les enregistrements de destination ayant la même clé primaire ou unique que les enregistrements source sont écrasés.

        • Si les schémas de table sont différents, la tâche peut échouer ou ne synchroniser que partiellement les données. 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 table et de colonne qui sont 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 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 objets au niveau de la base de données ou de la table.

      Selected Objects

      • Pour modifier le nom d'un objet de synchronisation dans l'instance de destination, faites un clic droit sur l'objet dans la zone Selected Objects. Pour plus d'informations, consultez la rubrique Mapper les noms d'objets.

      • Si vous sélectionnez Schema Synchronization pour Synchronization Types, que vous sélectionnez des tables comme objets de synchronisation et que vous devez définir le nombre de buckets (paramètre bucket_count), faites un clic droit sur la table dans la zone Selected Objects. Dans la section Parameter Settings, définissez Enable Parameter Settings sur Yes, spécifiez une Value selon vos besoins, puis cliquez sur OK.

      Remarque
      • Pour sélectionner les opérations SQL incrémentielles à synchroniser au niveau de la base de données ou de la table, faites un clic droit sur l'objet 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 dans la zone Selected Objects et définissez les conditions de filtre dans la boîte de dialogue qui s'affiche. Pour plus d'informations, consultez la rubrique Configurer les conditions de filtre.

      • Si vous utilisez la fonctionnalité de mappage des noms d'objets, la synchronisation d'autres objets dépendant de l'objet renommé peut échouer.

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

      Parameter

      Description

      Dedicated Cluster for Task Scheduling

      Par défaut, DTS planifie les tâches sur un cluster partagé et aucune sélection de cluster n'est requise. Pour bénéficier d'une performance plus stable, vous pouvez acheter un cluster dédié pour exécuter les tâches de synchronisation DTS. Pour plus d'informations, consultez Qu'est-ce qu'un cluster dédié DTS ?.

      Retry Time for Failed Connections

      Une fois la tâche de synchronisation lancée, 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. Il est recommandé 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 plusieurs instances DTS (par exemple, l'instance A et l'instance B) partagent la même source ou la même destination, et que vous configurez une durée de nouvelle tentative réseau de 30 minutes pour l'instance A et de 60 minutes pour l'instance B, c'est la durée la plus courte (30 minutes) qui s'applique aux deux.

      • Étant donné que DTS facture le temps d'exécution des tâches pendant la période de nouvelle tentative de connexion, il est conseillé d'adapter la durée de nouvelle tentative à vos besoins métier ou de libérer l'instance DTS dès que possible après la libération des instances de base de données source et de destination.

      Retry Time for Other Issues

      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 lors de l'exécution de commandes DDL ou DML), DTS signale une erreur et lance immédiatement des tentatives continues. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez également personnaliser cette durée entre 1 et 1 440 minutes. Il est recommandé de la fixer à au moins 10 minutes. Si les opérations concernées 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 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

      Lors de la phase de synchronisation complète, DTS consomme des ressources en lecture et en écriture sur les bases de données source et de destination, ce qui peut augmenter leur charge. Pour réduire cette charge, vous pouvez limiter le débit de 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 débit de synchronisation complète une fois l'instance de synchronisation en cours d'exécution.

      Enable Throttling for Incremental Data Synchronization

      Il est également possible de limiter le débit de la tâche de synchronisation incrémentielle. Pour alléger la pression sur la base de données de destination, configurez les paramètres RPS of Incremental Data Synchronization et Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Sélectionnez un tag d'environnement pour identifier l'instance selon vos besoins. Aucun tag n'est requis dans cet exemple.

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

      Indiquez si les informations SQL de heartbeat doivent être écrites dans la base de données source lorsque l'instance DTS est en cours d'exécution.

      • 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é Extract, Transform, Load (ETL). Pour plus d'informations, consultez Qu'est-ce que l'ETL ? Valeurs valides :

      Monitoring and Alerting

      Spécifiez si vous souhaitez configurer des alertes. En cas d'échec de la synchronisation ou si la latence dépasse le seuil défini, une notification est envoyée au contact d'alerte.

    3. Facultatif : Une fois les configurations précédentes terminées, cliquez sur Next: Configure Database and Table Fields pour définir la Primary Key Column, la Distribution Key et le Engine des tables de destination.

      Remarque
      • Cette étape est disponible uniquement si vous sélectionnez Schema Synchronization pour les Synchronization Types lors de la configuration des objets de synchronisation. Vous pouvez définir le paramètre Definition Status sur All pour modifier les paramètres.

      • Vous pouvez sélectionner plusieurs colonnes pour former une Primary Key Column composite. Vous devez également sélectionner une ou plusieurs colonnes issues de la Primary Key Column comme Distribution Key.

      • Pour une table sans clé primaire ni contrainte d'unicité, vous devez sélectionner duplicate pour le Engine. Sinon, la tâche peut échouer ou entraîner une perte de données.

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

    • 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 l'infobulle qui s'affiche.

    • Une fois que vous avez consulté 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 effectue une vérification préalable. La tâche ne peut démarrer que si tous les éléments de vérification réussissent.

    • Si la vérification préalable échoue, cliquez sur View Details pour l'élément ayant échoué. Corrigez le problème selon les instructions, puis relancez la vérification préalable.

    • Si la vérification préalable 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 résoudre le problème, puis relancez la vérification préalable.

      • Pour les éléments de vérification 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 vérification préalable. Si vous choisissez de masquer l'élément d'avertissement, cela peut provoquer des problèmes tels qu'une incohérence des données et présenter des risques pour votre activité.

  7. Achetez l'instance.

    1. Lorsque le taux de réussite affiché dans Success Rate atteint 100 %, cliquez sur Next: Purchase Instance.

    2. Sur la page Purchase, choisissez la méthode de facturation et les spécifications du lien pour l'instance de synchronisation des données. Le tableau ci-dessous détaille ces paramètres.

      Catégorie

      Paramètre

      Description

      New Instance Class

      Méthode de facturation

      • Abonnement : le paiement s'effectue 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 est horaire. Cette formule répond aux besoins ponctuels. Vous pouvez libérer l'instance dès la fin de son utilisation afin de maîtriser les coûts.

      Configuration du groupe de ressources

      Groupe de ressources auquel l'instance est associée. La valeur par défaut est « default resource group ». Pour en savoir plus, consultez Qu'est-ce que Resource Management ?.

      Spécification du lien

      DTS propose plusieurs niveaux de performance pour les liens de synchronisation. Les spécifications choisies influent directement sur le débit de synchronisation. Adaptez votre sélection à vos besoins métier. Consultez la rubrique Spécifications des liens de synchronisation des données pour plus de détails.

      Durée de l'abonnement

      En mode abonnement, indiquez la durée et le nombre d'instances souhaités. Vous pouvez opter pour un engagement mensuel (de 1 à 9 mois) ou annuel (1, 2, 3 ou 5 ans).

      Remarque

      Cette option n'apparaît que si la méthode de facturation définie est Subscription.

    3. Une fois la configuration terminée, prenez connaissance des conditions d'utilisation et cochez la case Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Cliquez sur Buy and Start. Dans la boîte de dialogue OK, sélectionnez OK.

      Vous pouvez suivre l'avancement de la tâche depuis la page Data Synchronization.

Mappage des types de données

Catégorie

Type MySQL

Type SelectDB

NUMÉRIQUE

TINYINT

TINYINT

TINYINT UNSIGNED

SMALLINT

SMALLINT

SMALLINT

SMALLINT UNSIGNED

INT

MEDIUMINT

INT

MEDIUMINT UNSIGNED

BIGINT

INT

INT

INT UNSIGNED

BIGINT

BIGINT

BIGINT

BIGINT UNSIGNED

LARGEINT

BIT(M)

INT

DECIMAL

DECIMAL

Remarque

ZEROFILL n'est pas pris en charge.

NUMERIC

Decimal

FLOAT

FLOAT

DOUBLE

DOUBLE

  • BOOL

  • BOOLEAN

BOOLEAN

DATE ET HEURE

DATE

DATEV2

DATETIME[(fsp)]

DATETIMEV2

TIMESTAMP[(fsp)]

DATETIMEV2

TIME[(fsp)]

VARCHAR

YEAR[(4)]

INT

CHAÎNE DE CARACTÈRES

  • CHAR

  • VARCHAR

VARCHAR

Important

Pour éviter toute perte de données, les données CHAR et VARCHAR(n) sont converties en VARCHAR(4*n) lors de la synchronisation vers l'instance ApsaraDB for SelectDB de destination.

  • Si aucune longueur de données n'est spécifiée, la valeur par défaut est VARCHAR(65533).

  • Si la longueur des données dépasse 65533, les données sont converties en STRING.

  • BINARY

  • VARBINARY

STRING

  • TINYTEXT

  • TEXT

  • MEDIUMTEXT

  • LONGTEXT

STRING

  • TINYBLOB

  • BLOB

  • MEDIUMBLOB

  • LONGBLOB

STRING

ENUM

STRING

SET

STRING

JSON

STRING

Colonnes supplémentaires

Remarque

Ce tableau répertorie les colonnes supplémentaires que DTS ajoute automatiquement ou que vous devez ajouter manuellement à la table de modèle en double de destination.

Parameter

Type

Default

Description

_is_deleted

Int

0

Indique si la ligne est supprimée.

  • Insert : La valeur est 0.

  • Update : La valeur est 0.

  • Delete : La valeur est 1.

_version

Bigint

0

  • Pour les données issues d'une synchronisation complète, la valeur est 0.

  • Pour les données issues d'une synchronisation incrémentielle, la valeur correspond à l'horodatage de validation (en secondes) de la modification issue du journal binaire (binlog) de la base de données source.

_record_id

Bigint

0

  • Pour les données issues d'une synchronisation complète, la valeur est 0.

  • Pour les données issues d'une synchronisation incrémentielle, la valeur correspond à l'ID d'enregistrement du journal incrémentiel. Cet ID identifie de manière unique l'entrée de journal.

    Remarque

    L'ID est unique et augmente de manière monotone.