Tous les produits
Search
Centre de documentation

Data Transmission Service:Migrer des données d'une base de données TiDB auto-gérée vers AnalyticDB for MySQL 3.0

Dernière mise à jour :Aug 27, 2026

Data Transmission Service (DTS) migre les données d'une base de données TiDB auto-gérée vers un cluster AnalyticDB for MySQL V3.0. DTS prend en charge la migration de schéma, la migration complète des données et la migration incrémentielle des données.

Fonctionnement de la migration

La migration s'effectue en trois phases séquentielles au maximum :

  1. Migration de schéma — DTS réplique les définitions de table vers le cluster de destination.

  2. Migration complète des données — DTS lit toutes les données existantes depuis TiDB et les charge dans AnalyticDB for MySQL V3.0.

  3. Migration incrémentielle des données (facultative) — DTS lit les événements de modification depuis un cluster Kafka et les applique à la destination, maintenant ainsi la synchronisation entre la source et la destination lors du basculement.

Choisissez votre parcours :

Prérequis

Avant de commencer :

  • Créez un cluster AnalyticDB for MySQL V3.0 dont l'espace de stockage disponible est supérieur à la taille totale des données de la base de données TiDB source. Consultez la rubrique Créer un cluster.

  • Accordez les autorisations de compte de base de données requises, répertoriées dans la section Autorisations requises.

  • (Uniquement pour la migration incrémentielle) Configurez un cluster Kafka. Consultez la section Configurer la collecte incrémentielle des données.

Autorisations requises

Base de données

Autorisations requises

Base de données TiDB

SELECT sur les objets à migrer, SHOW VIEW

Cluster AnalyticDB for MySQL V3.0

Autorisations de lecture et d'écriture sur la base de données de destination. Consultez la rubrique Créer un compte de base de données.

Facturation

Type de migration

Frais de configuration de l'instance

Frais de trafic Internet

Migration de schéma et migration complète des données

Gratuit

Facturé uniquement si la Méthode d'accès pour la destination est Adresse IP publique. Consultez la rubrique Présentation de la facturation.

Migration incrémentielle des données

Facturé. Consultez la rubrique Présentation de la facturation.

Configurer la collecte incrémentielle des données

Ignorez cette section si vous avez uniquement besoin d'une migration de schéma et d'une migration complète des données.

La migration incrémentielle des données nécessite que TiDB diffuse les événements de modification vers un cluster Kafka. Choisissez l'une des méthodes suivantes en fonction de votre version de TiDB.

Choisir une méthode

Méthode

Cas d'utilisation

TiDB Binlog

Clusters TiDB utilisant déjà Pump et Drainer pour la réplication binlog

TiCDC

TiDB v4.0 et versions ultérieures ; méthode privilégiée pour les nouveaux déploiements

Configurer les paramètres Kafka

Avant de vous connecter à DTS, augmentez les valeurs des paramètres Kafka suivants. Sans ces modifications, le cluster Kafka risque de rejeter les charges utiles volumineuses des journaux binaires provenant de TiDB.

Composant

Paramètre

Action

Courtier Kafka

message.max.bytes

Augmentez la valeur pour prendre en charge les messages de journal binaire TiDB

Courtier Kafka

replica.fetch.max.bytes

Augmentez la valeur pour qu'elle corresponde à message.max.bytes

Consommateur Kafka

fetch.message.max.bytes

Augmentez la valeur pour qu'elle corresponde à message.max.bytes du courtier message.max.bytes

Préparer un cluster Kafka

Utilisez l'une des options suivantes :

  • Cluster Kafka auto-géré — Déployez votre propre cluster. Consultez le site officiel d'Apache Kafka.

  • Instance ApsaraMQ for Kafka — Créez une instance gérée. Consultez la rubrique Présentation de la prise en main. Déployez l'instance dans le même réseau privé virtuel (VPC) que le serveur de base de données TiDB.

Important

Déployez le serveur de base de données TiDB, Pump (si vous utilisez TiDB Binlog), Drainer et le cluster Kafka sur le même réseau interne afin de minimiser la latence réseau.

Une fois le cluster Kafka prêt, créez un topic avec exactly one partition. DTS lit uniquement depuis la partition ID 0. Des partitions supplémentaires entraîneront une perte de données.

Utiliser TiDB Binlog

  1. Déployez Pump et Drainer sur des serveurs situés sur le même réseau interne que la base de données TiDB. Consultez la rubrique Déploiement du cluster TiDB Binlog.

  2. Modifiez le fichier de configuration de Drainer pour qu'il pointe vers le cluster Kafka. Consultez le Guide d'utilisation du client consommateur Binlog.

  3. Vérifiez que le serveur TiDB peut atteindre le cluster Kafka.

  4. Ajoutez les blocs CIDR des serveurs DTS à la liste d'autorisation de la base de données TiDB. Consultez la rubrique Ajouter les blocs CIDR des serveurs DTS.

Utiliser TiCDC

  1. Installez TiCDC à l'aide de TiUP pour ajouter un nouveau nœud TiCDC ou étendre un nœud existant dans le cluster TiDB. Consultez la rubrique Déployer et maintenir TiCDC.

  2. Créez un flux de modifications (changefeed) pour répliquer les données incrémentielles vers Kafka. Utilisez la commande tiup cdc cli changefeed create comme point de départ. Consultez la rubrique Répliquer des données vers Kafka.

  3. Vérifiez que le serveur TiDB peut atteindre le cluster Kafka.

Limites

Passez en revue ces limites avant de démarrer la tâche.

Base de données source

  • Le serveur TiDB doit disposer d'une bande passante sortante suffisante. Une bande passante faible réduit la vitesse de migration.

  • Les tables à migrer doivent posséder des contraintes PRIMARY KEY ou UNIQUE avec tous les champs uniques. Les tables dépourvues de ces contraintes peuvent générer des enregistrements en double dans la destination.

  • Si vous renommez des tables ou des colonnes pendant la migration, une seule tâche prend en charge jusqu'à 1 000 tables. Pour plus de 1 000 tables, divisez la migration en plusieurs tâches ou migrez la base de données entière en une seule tâche.

  • Si vous souhaitez migrer des données incrémentielles depuis la base de données TiDB source, vous devez déployer un cluster Kafka et installer les composants associés pour que la base de données TiDB collecte les données incrémentielles.

  • Les index préfixés ne peuvent pas être migrés. Si la base de données source contient des index préfixés, la tâche de migration peut échouer.

Migration incrémentielle

  • DTS lit les données uniquement depuis la partition ID 0 du topic Kafka. Configurez le topic avec exactement une partition.

  • Après avoir créé une tâche de migration incrémentielle, effectuez rapidement des opérations sur la base de données source ou insérez des données de test pour mettre à jour les informations de décalage (offset) de la tâche. De longs délais avant le premier événement de données peuvent provoquer l'échec de la tâche.

Destination et comportement de la tâche

  • Spécifiez une clé primaire personnalisée dans la base de données de destination ou configurez la colonne Primary Key Column à l'étape Configurations for Databases, Tables, and Columns. L'absence de configuration de clé primaire entraîne l'échec de la migration des données.

  • Si le cluster AnalyticDB for MySQL V3.0 fait l'objet d'une sauvegarde pendant l'exécution de la tâche DTS, la tâche échoue.

  • Si l'utilisation du disque sur les nœuds AnalyticDB for MySQL V3.0 dépasse 80 %, la tâche de migration est retardée et des erreurs sont renvoyées. Estimez l'espace disque requis avant de commencer.

  • La migration complète des données augmente la charge sur les bases de données source et de destination. Exécutez les migrations pendant les heures creuses, lorsque la charge CPU est inférieure à 30 %.

  • La migration complète des données utilise des opérations INSERT concurrentes, ce qui provoque une fragmentation dans les tables de destination. Une fois la migration complète terminée, la taille de l'espace de table de destination est supérieure à celle de la source.

  • Si d'autres sources écrivent dans la destination pendant la migration, une incohérence des données peut survenir.

  • DTS utilise la fonction ROUND(COLUMN,PRECISION) pour récupérer les valeurs FLOAT et DOUBLE. La précision par défaut est de 38 chiffres pour FLOAT et de 308 chiffres pour DOUBLE. Vérifiez que ces valeurs par défaut répondent à vos exigences avant de commencer.

  • Lors de la migration de schéma, DTS ne prend pas en charge la migration des vues matérialisées vers l'instance AnalyticDB for MySQL de destination. Pour utiliser des vues matérialisées, créez-les manuellement dans l'instance de destination une fois la migration terminée.

  • DTS tente automatiquement de reprendre les tâches ayant échoué pendant sept jours au maximum. Avant de basculer les charges de travail vers la destination, arrêtez ou libérez toutes les tâches ayant échoué, ou exécutez l'instruction REVOKE pour supprimer les autorisations d'écriture des comptes DTS. Sinon, une tâche reprise risque d'écraser les données de destination.

  • Si des instructions DDL échouent dans la destination, la tâche DTS continue de s'exécuter. Consultez les instructions DDL ayant échoué dans les journaux de la tâche. Voir la rubrique Afficher les journaux de tâche.

  • En cas d'échec d'une tâche DTS, l'assistance technique DTS tente de la restaurer dans un délai de 8 heures. Pendant la restauration, la tâche peut être redémarrée et ses paramètres (et non ceux de la base de données) peuvent être modifiés. Pour obtenir la liste des paramètres susceptibles de changer, consultez la rubrique Modifier les paramètres d'instance.

Remarque
  • Si la destination est un cluster AnalyticDB for MySQL, DTS prend uniquement en charge l'écriture de types de données nativement pris en charge par AnalyticDB for MySQL. Cela inclut les types de données de base et les types de données complexes tels que ARRAY, MAP et JSON. Les types de données tels que MULTIVALUE ne sont pas pris en charge.

Opérations SQL prises en charge pour la migration incrémentielle

Type d'opération

Instructions prises en charge

DML

INSERT, UPDATE, DELETE. Les instructions UPDATE sont automatiquement converties en REPLACE INTO. Si UPDATE cible la clé primaire, elle est convertie en DELETE suivi de INSERT.

DDL

CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN

Mappages de types de données

Pour le mappage complet entre les types de données TiDB et AnalyticDB for MySQL V3.0, consultez la rubrique Mappages de types de données entre bases de données hétérogènes.

Créer une tâche de migration

Étape 1 : Accéder à la page Data Migration

Utilisez soit la console DTS, soit la console DMS.

Console DTS

  1. Connectez-vous à la console DTS.

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

  3. Dans le coin supérieur gauche, sélectionnez la région où résidera l'instance de migration.

Console DMS

Les étapes peuvent varier selon le mode et la disposition de la console DMS. Consultez les rubriques Mode simple et Personnaliser la disposition et le style de la console DMS .
  1. Connectez-vous à la console DMS.

  2. Dans la barre de navigation supérieure, placez le pointeur sur Data + AI > DTS (DTS) > Data Migration.

  3. Dans la liste déroulante à droite de Data Migration Tasks, sélectionnez la région où résidera l'instance de migration.

Étape 2 : Configurer les bases de données source et de destination

  1. Cliquez sur Create Task.

  2. Saisissez un Task Name. DTS génère automatiquement un nom ; spécifiez un nom descriptif pour faciliter l'identification ultérieure de la tâche.

  3. Configurez la base de données source :

    Paramètre

    Description

    Select Existing Connection

    Sélectionnez une instance de base de données enregistrée pour remplir automatiquement les paramètres ci-dessous, ou laissez vide et saisissez manuellement les détails de connexion.

    Database Type

    Sélectionnez TiDB.

    Access Method

    Sélectionnez la méthode d'accès en fonction de l'emplacement de déploiement de TiDB. Cet exemple utilise Self-managed Database on ECS. Pour d'autres méthodes d'accès, préparez d'abord l'environnement requis. Consultez la rubrique Présentation de la préparation.

    Instance Region

    La région où réside la base de données TiDB.

    ECS Instance ID

    L'ID de l'instance ECS hébergeant TiDB.

    Port Number

    Le port du service TiDB. Par défaut : 4000.

    Database Account

    Le compte de la base de données TiDB.

    Database Password

    Le mot de passe du compte de base de données.

    Migrate Incremental Data

    Sélectionnez Yes si vous souhaitez une migration incrémentielle des données, puis saisissez les détails du cluster Kafka dans la section Configuration du cluster Kafka.

  4. Configurez la base de données de destination :

    Paramètre

    Description

    Select Existing Connection

    Sélectionnez une instance enregistrée pour remplir automatiquement les paramètres ci-dessous, ou laissez vide et saisissez manuellement les détails de connexion.

    Database Type

    Sélectionnez AnalyticDB for MySQL 3.0.

    Access Method

    Sélectionnez Alibaba Cloud Instance.

    Instance Region

    La région où réside le cluster de destination.

    Instance ID

    L'ID du cluster AnalyticDB for MySQL V3.0 de destination.

    Database Account

    Le compte de base de données pour le cluster de destination. Consultez la section Autorisations requises.

    Database Password

    Le mot de passe du compte de base de données.

  5. Cliquez sur Test Connectivity and Proceed. Dans la boîte de dialogue CIDR Blocks of DTS Servers, cliquez sur Test Connectivity.

    Les blocs CIDR DTS doivent être ajoutés aux paramètres de sécurité des bases de données source et de destination. Consultez la rubrique Ajouter les blocs CIDR des serveurs DTS .

Étape 3 : Configurer les objets à migrer

Sur la page Configure Objects, définissez les paramètres suivants :

Paramètre

Description

Migration Types

Sélectionnez les phases de migration à exécuter : Schema Migration, Full Data Migration et, éventuellement, Incremental Data Migration. Si Schema Migration n'est pas sélectionné, créez la base de données et la table de destination avant de démarrer la tâche. Si Incremental Data Migration n'est pas sélectionné, évitez d'écrire dans la base de données source pendant la migration afin de maintenir la cohérence des données.

Merge Tables

Yes ajoute une colonne __dts_data_source à chaque table de destination pour enregistrer la source des données. Toutes les tables sources sélectionnées sont fusionnées en une seule table de destination. No (par défaut) conserve les tables séparées. N'exécutez pas d'opérations DDL modifiant les schémas sources pendant la migration ; les changements de schéma peuvent provoquer une incohérence des données ou l'échec de la tâche.

Processing Mode of Conflicting Tables

Precheck and Report Errors : échoue la vérification préalable si la source et la destination comportent des tables portant le même nom. Utilisez le mappage de noms d'objets pour renommer les tables conflictuelles avant de commencer. Ignore Errors and Proceed : ignore la vérification préalable. Lors de la migration complète, DTS conserve les enregistrements de destination existants pour les clés primaires conflictuelles. Lors de la migration incrémentielle, DTS les écrase. Si les schémas diffèrent entre la source et la destination, seules les colonnes correspondantes sont migrées ou la tâche peut échouer.

Capitalization of Object Names in Destination Instance

Contrôle la casse des noms de base de données, de tables et de colonnes dans la destination. Par défaut : DTS default policy. Consultez la rubrique Spécifier la casse des noms d'objets dans l'instance de destination.

Source Objects

Sélectionnez les tables ou bases de données à migrer, puis cliquez sur l'icône de flèche pour les déplacer vers Selected Objects.

Selected Objects

Faites un clic droit sur un objet pour le renommer ou ajouter des conditions de filtre WHERE. Cliquez sur Batch Edit pour renommer plusieurs objets à la fois. Le renommage d'un objet peut empêcher la migration des objets dépendants.

Cliquez sur Next: Advanced Settings.

Étape 4 : Configurer les paramètres avancés

Paramètre

Description

Retry Time for Failed Connections

Durée pendant laquelle DTS effectue des tentatives après un échec de connexion. Plage valide : 10–1 440 minutes. Par défaut : 720 minutes. Définissez une valeur d'au moins 30 minutes. Si plusieurs tâches partagent la même base de données source ou de destination, la valeur définie le plus récemment s'applique. DTS facture l'instance pendant les périodes de nouvelle tentative.

Retry Time for Other Issues

Durée pendant laquelle DTS effectue des tentatives après des échecs DDL ou DML. Plage valide : 1–1 440 minutes. Par défaut : 10 minutes. Définissez une valeur d'au moins 10 minutes. Elle doit être inférieure à Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Limite l'utilisation des ressources de lecture/écriture pendant la migration complète. Configurez QPS (queries per second) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s). Disponible uniquement lorsque Full Data Migration est sélectionné.

Enable Throttling for Incremental Data Migration

Limite l'utilisation des ressources pendant la migration incrémentielle. Configurez RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s). Disponible uniquement lorsque Incremental Data Migration est sélectionné.

Environment Tag

Un tag facultatif pour identifier l'instance DTS.

Configure ETL

Sélectionnez Yes pour activer l'extraction, la transformation et le chargement (ETL) et saisir les instructions de traitement des données. Consultez la rubrique Configurer ETL dans une tâche de migration ou de synchronisation de données. Sélectionnez No pour ignorer.

Monitoring and Alerting

Sélectionnez Yes pour recevoir des notifications en cas d'échec de la tâche ou si la latence de migration dépasse un seuil. Configurez les seuils d'alerte et les contacts. Consultez la rubrique Configurer la surveillance et les alertes.

Étape 5 : Configurer la vérification des données (facultatif)

Cliquez sur Next Step: Data Verification pour configurer une tâche de vérification des données. Consultez la rubrique Configurer une tâche de vérification des données.

Étape 6 : Configurer les champs de base de données et de table (facultatif)

Cliquez sur Next: Configure Database and Table Fields pour définir le Type, Primary Key Column, Distribution Key, Partition Key, Partitioning Rules et Partition Lifecycle pour les tables de destination.

Cette étape est disponible uniquement si Schema Migration est sélectionné. Définissez Definition Status sur All pour afficher et modifier toutes les tables. Pour former une clé primaire composite, spécifiez plusieurs colonnes dans Primary Key Column et désignez-en une ou plusieurs comme Distribution Key et Partition Key . Consultez la rubrique CREATE TABLE .

Étape 7 : Exécuter la vérification préalable

Cliquez sur Next: Save Task Settings and Precheck.

Pour afficher les paramètres API pour cette configuration de tâche, survolez le bouton et cliquez sur Preview OpenAPI parameters avant de continuer.

DTS exécute une vérification préalable avant de démarrer la migration. Si la vérification préalable échoue :

  • Cliquez sur View Details à côté de l'élément ayant échoué, résolvez le problème, puis cliquez sur Precheck Again.

  • Pour les éléments d'alerte pouvant être ignorés en toute sécurité, cliquez sur Confirm Alert Details > Ignore > OK, puis cliquez sur Precheck Again. Ignorer les alertes peut entraîner une incohérence des données.

Étape 8 : Acheter une instance et démarrer la tâche

  1. Attendez que le Success Rate atteigne 100 %, puis cliquez sur Next: Purchase Instance.

  2. Sur la page Purchase Instance, configurez les éléments suivants :

    Paramètre

    Description

    Resource Group

    Le groupe de ressources pour l'instance de migration. Par défaut : default resource group. Consultez la rubrique Qu'est-ce que Resource Management ?.

    Instance Class

    La classe d'instance détermine la vitesse de migration. Consultez la rubrique Classes d'instances des instances de migration de données.

  3. Lisez et acceptez les Conditions de service Data Transmission Service (paiement à l'utilisation).

  4. Cliquez sur Buy and Start, puis cliquez sur OK dans la boîte de dialogue de confirmation.

Surveillez la progression de la tâche sur la page Data Migration.

  • Les tâches sans migration incrémentielle s'arrêtent automatiquement une fois terminées. Le statut indique Completed.

  • Les tâches avec migration incrémentielle s'exécutent en continu. Le statut indique Running. Arrêtez la tâche manuellement après le basculement.

Configuration du cluster Kafka

Lorsque Migrate Incremental Data est défini sur Yes, configurez le cluster Kafka avec les paramètres suivants :

Paramètre

Description

Kafka Cluster Type

L'emplacement de déploiement du cluster Kafka. Cet exemple utilise Self-managed Database on ECS. Si vous sélectionnez Express Connect, VPN Gateway, or Smart Access Gateway, sélectionnez également un VPC dans Connected VPC et spécifiez Domain Name or IP.

Kafka Data Source Component

Sélectionnez Use the default binlog format of the TiDB database ou Use the TiCDC Canal-JSON format en fonction de votre configuration.

ECS Instance ID

L'ID de l'instance ECS hébergeant le cluster Kafka.

Port Number

Le port du service Kafka.

Kafka Cluster Account

Le nom d'utilisateur Kafka. Laissez vide si l'authentification est désactivée.

Kafka Cluster Password

Le mot de passe Kafka. Laissez vide si l'authentification est désactivée.

Kafka Version

La version du cluster Kafka. Sélectionnez 1.0 si la version est 1.0 ou ultérieure.

Encryption

Sélectionnez Non-encrypted ou SCRAM-SHA-256 en fonction de vos exigences de sécurité.

Topic

Le topic Kafka qui reçoit les données incrémentielles.

Étapes suivantes