Tous les produits
Search
Centre de documentation

Data Transmission Service:Migrate data from a PolarDB for MySQL cluster to a MaxCompute project

Dernière mise à jour :Sep 20, 2026

Utilisez Data Transmission Service (DTS) pour migrer des données d'un cluster PolarDB for MySQL vers un projet MaxCompute. DTS prend en charge la migration de schéma, la migration complète des données et la migration incrémentielle des données, couvrant ainsi les données historiques et les modifications en cours.

Fonctionnement

DTS utilise un pipeline en trois étapes pour transférer les données de PolarDB for MySQL vers MaxCompute :

  1. Schema migration : DTS lit les schémas des tables sources et crée les tables correspondantes dans MaxCompute, en ajoutant le suffixe _base à chaque nom de table. Par exemple, la table customer devient customer_base dans MaxCompute.

  2. Full data migration : DTS copie toutes les lignes existantes de chaque table source vers la table _base correspondante dans MaxCompute. Ces tables sont appelées tables de référence complètes et servent de point de départ pour la synchronisation incrémentielle.

  3. Incremental data migration : DTS crée une table _log distincte pour chaque table migrée (par exemple, customer_log) et diffuse en temps réel les opérations INSERT, UPDATE et DELETE continues depuis les journaux binaires de la source vers ces tables.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Au lieu d'utiliser la paire AccessKey du compte principal, créez un utilisateur RAM et définissez-le comme super administrateur pour le projet MaxCompute .

Limites

Conditions bloquant la tâche (à résoudre avant de commencer)

Ces conditions entraînent l'échec de la tâche de migration :

  • Le serveur sur lequel la base de données source est déployée doit disposer d'une bande passante sortante suffisante. Dans le cas contraire, la vitesse de migration des données diminue.

  • Les tables à migrer doivent posséder une contrainte PRIMARY KEY ou UNIQUE avec tous les champs uniques. Sans cela, la destination peut contenir des enregistrements en double.

  • Si vous sélectionnez des tables comme objets de migration et devez renommer des tables ou des colonnes, une seule tâche prend en charge jusqu'à 1 000 tables. Les tâches comportant plus de 1 000 tables dans ce mode renvoient une erreur de requête. Configurez plusieurs tâches ou effectuez la migration au niveau de la base de données.

  • Pour la migration incrémentielle des données, la journalisation binaire doit être activée et le paramètre loose_polar_log_bin doit être défini sur on. Si la journalisation binaire n'est pas activée, la prévérification échoue et la tâche ne peut pas démarrer. Consultez les rubriques Activer la journalisation binaire et Modifier les paramètres.

  • N'exécutez pas d'instructions DDL pour modifier les schémas de base de données ou de tables pendant la migration de schéma ou la migration complète des données. La tâche de migration échoue si les schémas changent en cours de tâche.

  • N'utilisez pas d'outils tels que pt-online-schema-change pour les opérations DDL en ligne sur les objets en cours de migration. La tâche de migration échoue.

L'activation de la journalisation binaire sur un cluster PolarDB for MySQL entraîne des frais de stockage pour les fichiers journaux binaires.

Risques liés à l'intégrité des données (à examiner avant de commencer)

Ces conditions peuvent provoquer une incohérence ou une perte de données :

  • Les journaux binaires doivent être conservés pendant au moins 3 jours ; il est recommandé de les conserver pendant 7 jours par sécurité. Si DTS ne peut pas lire les journaux binaires, la tâche échoue. Dans des cas exceptionnels, une incohérence ou une perte de données peut survenir. Une conservation des journaux inférieure à la durée requise signifie que l'accord de niveau de service (SLA) pour DTS peut ne pas s'appliquer. Consultez la rubrique Modifier la période de conservation.

  • N'écrivez pas de données dans la base de données source lors d'une migration complète uniquement (migration de schéma + migration complète des données sans migration incrémentielle). L'écriture dans la source pendant cette phase provoque une incohérence des données. Pour écrire en toute sécurité dans la source pendant la migration, incluez la migration incrémentielle des données.

  • N'écrivez pas de données provenant d'autres sources dans le projet MaxCompute de destination pendant la migration. Les écritures externes provoquent une incohérence des données.

  • MaxCompute ne prend pas en charge les contraintes de clé primaire. En cas d'erreurs réseau, DTS peut écrire des enregistrements en double dans le projet MaxCompute.

  • DTS réessaie les tâches ayant échoué pendant une durée maximale de 7 jours. Avant de basculer les charges de travail vers la destination, arrêtez ou libérez les tâches ayant échoué. Vous pouvez également révoquer les autorisations d'écriture des comptes DTS sur la destination. À défaut, les données sources écraseront les données de destination lors de la reprise d'une tâche ayant échoué.

Limites opérationnelles

  • DTS ne migre pas les nœuds en lecture seule du cluster PolarDB for MySQL source.

  • DTS ne migre pas les tables externes Object Storage Service (OSS) du cluster PolarDB for MySQL source.

  • DTS ne migre pas les clés étrangères. Les opérations de cascade et de suppression dépendant des clés étrangères ne sont pas répliquées vers la destination.

  • Effectuez la migration des données pendant les heures creuses. La migration complète des données utilise les ressources de lecture et d'écriture à la fois sur la source et la destination, ce qui augmente la charge sur les deux serveurs de base de données.

  • Après la migration complète des données, l'espace de table de destination est plus grand que celui de la source car les opérations INSERT simultanées provoquent une fragmentation des tables.

  • En cas de panne d'une instance DTS, l'équipe d'assistance DTS tente une récupération dans un délai de 8 heures. La récupération peut impliquer le redémarrage de l'instance ou l'ajustement des paramètres de l'instance DTS (et non des paramètres de la base de données). Pour connaître les paramètres pouvant être modifiés, consultez la rubrique Modifier les paramètres de l'instance.

  • La migration de données de type VECTOR n'est pas prise en charge.

Facturation

Type de migration

Frais de configuration de tâche

Frais de trafic Internet

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

Gratuit

Gratuit, sauf si Access Method est défini sur Public IP Address. Consultez la rubrique Aperçu de la facturation.

Migration incrémentielle des données

Facturé. Consultez la rubrique Aperçu de la facturation.

—

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

Type d'opération

Instructions SQL

DML

INSERT, UPDATE, DELETE

DDL

ADD COLUMN

Les opérations ADD COLUMN qui incluent des colonnes d'attribut ne peuvent pas être migrées.

Autorisations de compte de base de données requises

Base de données

Autorisations requises

Comment accorder

PolarDB for MySQL

Autorisations de lecture sur les objets à migrer

Créer et gérer des comptes de base de données et Gérer les mots de passe des comptes de base de données

Créer une tâche de migration

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

Utilisez la console DTS ou la console DMS.

Console DTS

  1. Connectez-vous à la console DTS.console DTS

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

  3. Dans l'angle supérieur gauche, sélectionnez la région où sera hébergée l'instance de migration.

Console DMS

Remarque

La disposition de la console DMS varie selon le mode utilisé. Consultez les rubriques Simple mode et Customize the layout and style of the DMS console.

  1. Connectez-vous à la console DMS.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 située à côté de Data Migration Tasks, sélectionnez la région où sera hébergée l'instance de migration.

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

  1. Cliquez sur Create Task.

  2. Configurez les paramètres suivants.

Général

Paramètre

Description

Task Name

Nom de la tâche DTS. DTS génère un nom par défaut. Spécifiez un nom descriptif pour identifier facilement la tâche. Les noms de tâches n'ont pas besoin d'être uniques.

Base de données source

Paramètre

Description

Select Existing Connection

Si la base de données source est déjà enregistrée dans DTS, sélectionnez-la dans la liste déroulante. DTS remplit automatiquement les champs restants. Sinon, configurez les champs ci-dessous. Dans la console DMS, effectuez votre sélection depuis Select a DMS database instance.

Database Type

Sélectionnez PolarDB for MySQL.

Access Method

Sélectionnez Alibaba Cloud Instance.

Instance Region

Région où réside le cluster PolarDB for MySQL source.

Replicate Data Across Alibaba Cloud Accounts

Sélectionnez No lors d'une migration au sein du même compte Alibaba Cloud.

PolarDB Cluster ID

ID du cluster PolarDB for MySQL source.

Database Account

Compte de base de données pour le cluster source. Consultez la section Autorisations requises pour le compte de base de données.

Database Password

Mot de passe du compte de base de données.

Encryption

Indique s'il faut chiffrer la connexion à la base de données source. Consultez la rubrique Configurer le chiffrement SSL.

Base de données de destination

Paramètre

Description

Select Existing Connection

Si le projet MaxCompute de destination est déjà enregistré dans DTS, sélectionnez-le dans la liste déroulante. Sinon, configurez les champs ci-dessous.

Database Type

Sélectionnez MaxCompute.

Access Method

Sélectionnez Alibaba Cloud Instance.

Instance Region

Région où réside le projet MaxCompute de destination.

Project

Nom du projet MaxCompute de destination.

AccessKey ID of Alibaba Cloud Account

ID AccessKey issu de la paire de clés AccessKey que vous avez préparée dans les prérequis.

AccessKey Secret of Alibaba Cloud Account

Secret AccessKey issu de la paire de clés AccessKey.

  1. Cliquez sur Test Connectivity and Proceed.

Assurez-vous que les plages CIDR des serveurs DTS sont ajoutées aux paramètres de sécurité des bases de données source et de destination. DTS peut les ajouter automatiquement, ou vous pouvez les ajouter manuellement. Consultez la rubrique Ajouter les adresses IP des serveurs DTS à une liste d'autorisation .
  1. Cliquez sur OK pour accorder à DTS les autorisations sur le projet MaxCompute. Cliquez ensuite sur Test Connectivity and Proceed.

Étape 3 : Configurer les objets de migration

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

Migration types

Paramètre

Description

Migration Types

Sélectionnez les types de migration en fonction de votre cas d'utilisation : <br>- Schema Migration + Full Data Migration : migre uniquement les données historiques. La tâche se termine et s'arrête automatiquement.<br>- Schema Migration + Full Data Migration + Incremental Data Migration : migre les données historiques et réplique les modifications en cours en temps réel. La tâche s'exécute en continu jusqu'à ce que vous l'arrêtiez.

Si vous ignorez Schema Migration , créez manuellement la base de données et les tables de destination avant de démarrer la tâche, et activez le mappage des noms d'objets dans Selected Objects .
Si vous ignorez Incremental Data Migration , n'écrivez pas dans la base de données source pendant la migration afin d'éviter toute incohérence des données.

Configuration des tables

Paramètre

Description

Naming Rules of Additional Columns

Après la migration, DTS ajoute des colonnes supplémentaires à la table de destination. Si le nom d'une colonne ajoutée entre en conflit avec une colonne existante, la tâche échoue. Sélectionnez New Rule ou Previous Rule en fonction de votre configuration. Vérifiez l'absence de conflits de noms avant de sélectionner. Consultez la rubrique Règles de nommage pour les colonnes supplémentaires.

Partition Definition of Incremental Data Table

Sélectionnez les noms de partition pour la table de données incrémentielles. Consultez la rubrique Partition.

Processing Mode of Conflicting Tables

Mode de gestion par DTS des tables présentes dans la destination portant le même nom que les tables sources :<br>- Precheck and Report Errors : la tâche échoue lors de la prévérification si des conflits de noms sont détectés. Pour résoudre les conflits sans renommer les tables de destination, utilisez le mappage des noms d'objets. Consultez la rubrique Mapper les noms d'objets.<br>- Ignore Errors and Proceed : ignore la vérification des conflits. Si les schémas source et de destination correspondent et que les clés primaires entrent en conflit, la migration complète ignore l'enregistrement conflictuel (l'enregistrement de destination est conservé), tandis que la migration incrémentielle l'écrase. Si les schémas diffèrent, seules certaines colonnes sont migrées ou la tâche échoue. Utilisez cette option avec prudence.

Capitalization of Object Names in Destination Instance

Politique de mise en majuscules/minuscules pour les noms de bases de données, de tables et de colonnes dans la destination. La valeur par défaut est DTS default policy. Consultez la rubrique Spécifier la casse des noms d'objets dans l'instance de destination.

Sélection d'objets

Paramètre

Description

Source Objects

Sélectionnez les objets à migrer. Cliquez sur l'icône 向右小箭头 pour les déplacer vers Selected Objects. Les tables constituent le type d'objet pris en charge pour ce chemin de migration.

Selected Objects

Pour renommer un seul objet dans la destination, faites un clic droit dessus dans Selected Objects. Consultez la rubrique Mapper le nom d'un seul objet. Pour renommer plusieurs objets à la fois, cliquez sur Batch Edit. Consultez la rubrique Mapper plusieurs noms d'objets simultanément. Pour filtrer les lignes d'une table, faites un clic droit sur la table et configurez les conditions de filtre. Consultez la rubrique Spécifier les conditions de filtre.

Remarque

Le renommage d'un objet via le mappage des noms d'objets peut entraîner l'échec de la migration des objets dépendants.

  1. Cliquez sur Next: Advanced Settings.

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

Paramètre

Description

Dedicated Cluster for Task Scheduling

Par défaut, DTS planifie la tâche sur le cluster partagé. Pour une stabilité accrue, achetez un cluster dédié. Consultez la rubrique Qu'est-ce qu'un cluster dédié DTS ?.

Retry Time for Failed Connections

Durée pendant laquelle DTS tente de se reconnecter lorsque la base de données source ou de destination est inaccessible. Valeurs valides : 10 à 1 440 minutes. Valeur par défaut : 720 minutes. Nous vous recommandons de définir ce paramètre sur une valeur supérieure à 30. Si DTS se reconnecte dans le délai imparti, il reprend la tâche. Sinon, la tâche échoue.

Remarque

Lorsque plusieurs tâches partagent une base de données source ou de destination, c'est le délai de nouvelle tentative le plus récemment défini qui s'applique. DTS facture l'instance pendant les tentatives de reconnexion.

Retry Time for Other Issues

Durée pendant laquelle DTS tente de nouvelles opérations après des échecs DDL ou DML. Valeurs valides : 1 à 1 440 minutes. Valeur par défaut : 10 minutes. Nous vous recommandons de définir ce paramètre sur une valeur supérieure à 10. Cette valeur doit être inférieure à celle du paramètre Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Limite la charge de lecture et d'écriture sur les instances source et de destination pendant la migration complète des données. Configurez les paramètres Queries per second (QPS) to the source database, RPS of Full Data Migration (lignes par seconde) et Data migration speed for full migration (MB/s). Disponible uniquement lorsque l'option Full Data Migration est sélectionnée.

Enable Throttling for Incremental Data Migration

Limite la charge pendant la migration incrémentielle des données. Configurez les paramètres RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s). Disponible uniquement lorsque l'option Incremental Data Migration est sélectionnée.

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

Contrôle si DTS écrit des opérations SQL dans les tables de pulsation (heartbeat) de la base de données source pendant l'exécution. Yesalert notification settings : n'écrit pas dans les tables de pulsation (un indicateur de latence peut apparaître sur l'instance). No : écrit dans les tables de pulsation (peut affecter la sauvegarde physique ou le clonage de la source).

Environment Tag

Tag facultatif permettant d'identifier l'instance DTS par environnement (par exemple, production ou test).

Configure ETL

Indique s'il faut activer la fonctionnalité ETL (extraction, transformation et chargement). Yes : configurez les instructions de traitement des données dans l'éditeur de code. Consultez la rubrique Configurer ETL dans une tâche de migration ou de synchronisation de données. No : ignore la configuration ETL. Consultez la rubrique Qu'est-ce que ETL ?

Monitoring and Alerting

Indique s'il faut configurer des alertes pour la tâche de migration. Yes : définissez les seuils d'alerte et les contacts de notification. Les alertes se déclenchent si la tâche échoue ou si la latence de migration dépasse le seuil. Consultez la rubrique Configurer la surveillance et les alertes lors de la création d'une tâche DTS. No : ignore la configuration des alertes.

Étape 5 : Exécuter la prévérification

  1. Pour afficher un aperçu des paramètres API avant l'enregistrement, placez le pointeur sur Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters.

  2. Cliquez sur Next: Save Task Settings and Precheck.

DTS exécute une prévérification avant le démarrage de la tâche de migration. La tâche ne démarre qu'après la réussite de cette prévérification.

  • Si un élément de vérification échoue, cliquez sur View Details à côté de celui-ci, corrigez le problème, puis cliquez sur Precheck Again.

  • Si une alerte se déclenche sur un élément de vérification et que cet élément peut être ignoré en toute sécurité, cliquez sur Confirm Alert Details, puis sur Ignore dans la boîte de dialogue et enfin sur OK. Cliquez ensuite sur Precheck Again. Ignorer une alerte peut entraîner une incohérence des données.

Étape 6 : 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 paramètres suivants.

Paramètre

Description

Resource Group

Groupe de ressources pour l'instance de migration. La valeur par défaut est le groupe de ressources par défaut. Consultez la rubrique Qu'est-ce que Resource Management ?

Instance Class

Classe de vitesse de migration. Sélectionnez l'option adaptée à vos besoins en matière de débit. Consultez la rubrique Classes d'instances pour les instances de migration de données.

  1. Lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms en cochant la case correspondante.

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

La tâche apparaît sur la page Data Migration.

  • Les tâches sans migration incrémentielle s'arrêtent automatiquement une fois la migration complète terminée. Le statut affiche Completed.

  • Les tâches avec migration incrémentielle s'exécutent en continu. Le statut affiche Running. Arrêtez la tâche manuellement lorsque vous êtes prêt à effectuer le basculement.

Structure des tables de données incrémentielles

Exécutez set odps.sql.allow.fullscan=true; dans MaxCompute pour autoriser les analyses complètes de table sur le projet avant d'interroger les tables de données incrémentielles.

DTS écrit les modifications incrémentielles depuis la source vers une table _log dans MaxCompute (par exemple, customer_log). Chaque ligne de la table de données incrémentielles représente un événement de modification et inclut à la fois les colonnes de données de la table source et les colonnes de métadonnées suivantes.

Champ

Description

record_id

L'identifiant unique de l'entrée de journal incrémentielle. Les ID s'incrémentent automatiquement à chaque nouvelle entrée. Pour les opérations UPDATE, DTS génère deux entrées (valeurs avant et après mise à jour) avec le même record_id.

operation_flag

Le type de modification : I (INSERT), D (DELETE) ou U (UPDATE).

utc_timestamp

L'horodatage de l'opération en UTC, extrait du journal binaire.

before_flag

Indique si la ligne contient les valeurs avant mise à jour : Y ou N.

after_flag

Indique si la ligne contient les valeurs après mise à jour : Y ou N.