Tous les produits
Search
Centre de documentation

Data Transmission Service:Migrate data from PolarDB for MySQL to ApsaraDB for SelectDB

Dernière mise à jour :Aug 10, 2026

Utilisez Data Transmission Service (DTS) pour migrer les données d'un cluster PolarDB for MySQL vers une instance ApsaraDB for SelectDB afin de prendre en charge des charges de travail analytiques à grande échelle. DTS prend en charge la migration de schéma, la migration complète des données et la migration incrémentielle des données, ce qui vous permet de migrer vos données avec un temps d'arrêt minimal.

Prérequis

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

Facturation

Type de migration Frais de configuration du lien Frais de transfert de données
Migration de schéma + migration complète des données Gratuit Gratuit (sauf si la méthode d'accès à la destination est Public IP Address — voir Présentation de la facturation)
Migration incrémentielle des données Facturé — voir Présentation de la facturation

Autorisations requises

Base de données Migration de schéma Migration complète Migration incrémentielle
Source : PolarDB for MySQL SELECT SELECT Liste de contrôle d'accès
Destination : SelectDB USAGE_PRIV, SELECT_PRIV, LOAD_PRIV, ALTER_PRIV, CREATE_PRIV, DROP_PRIV

Pour créer des comptes et accorder des autorisations :

Limites

Base de données source

Limite Détails
Bande passante Le serveur de la base de données source doit disposer d'une bande passante sortante d'au moins 100 Mb/s. Une bande passante inférieure réduit la vitesse de migration.
Objets non pris en charge Les nœuds en lecture seule, les tables externes OSS, les index, les partitions, les vues, les procédures, les fonctions, les déclencheurs et les clés étrangères ne peuvent pas être migrés.
Limite de tables pour le mappage de colonnes Si vous mappez des noms de colonnes ou modifiez autrement les objets de migration, une seule tâche prend en charge jusqu'à 1 000 tables. Pour migrer davantage de tables, répartissez-les sur plusieurs tâches ou migrez la base de données entière sans effectuer de modifications au niveau des colonnes.
Journalisation binaire (migration incrémentielle uniquement) Activez la journalisation binaire et définissez le paramètre loose_polar_log_bin sur on. Sans cette configuration, la prévérification échoue et la migration ne peut pas démarrer. Consultez les rubriques Activer la journalisation binaire et Modifier les paramètres. L'activation de la journalisation binaire consomme de l'espace de stockage et entraîne des frais.
Rétention des journaux binaires (migration incrémentielle uniquement) Conservez les journaux binaires pendant au moins 3 jours (7 jours recommandés). Si DTS ne parvient pas à récupérer les journaux binaires, la migration peut échouer ou entraîner une incohérence ou une perte de données. Cela n'est pas couvert par l'accord de niveau de service (SLA) de DTS. Consultez la rubrique Modifier la période de rétention.

Base de données de destination (SelectDB)

Limite Détails
Moteurs pris en charge Seules les tables utilisant le moteur Unique ou Duplicate sont prises en charge.
Moteur Unique Toutes les clés uniques de la table de destination doivent exister dans la table source et être incluses dans les objets de migration. Sinon, des incohérences de données peuvent survenir.
Moteur Duplicate Des lignes en double peuvent apparaître lors d'une nouvelle tentative, d'un redémarrage de l'instance ou lorsque deux opérations DML ou plus sont effectuées sur la même ligne après le démarrage de l'instance. Utilisez les colonnes supplémentaires _is_deleted, _version et _record_id pour identifier et supprimer les doublons. DTS convertit les instructions UPDATE et DELETE en instructions INSERT pour les tables utilisant le moteur Duplicate.
Paramètre bucket_count Dans la zone Selected Objects, vous pouvez uniquement configurer le paramètre bucket_count (nombre de compartiments). La valeur doit être un entier positif ; la valeur par défaut est auto.
Règles de nommage Les noms de bases de données et de tables doivent commencer par une lettre. Les noms d'objets contenant des caractères chinois (bases de données, tables ou colonnes) doivent être renommés à l'aide de la fonctionnalité de mappage de noms d'objets avant la migration.
Conversion de la longueur VARCHAR Dans PolarDB for MySQL, VARCHAR(M) correspond à une longueur en caractères. Dans SelectDB, VARCHAR(N) correspond à une longueur en octets. Si vous n'utilisez pas la migration de schéma, définissez les longueurs des champs VARCHAR de SelectDB sur quatre fois les valeurs de PolarDB for MySQL.
Fusion de plusieurs tables Lors de la migration depuis plusieurs tables sources vers une seule table de destination, les schémas des tables sources doivent être identiques. Des différences de schéma entraînent une incohérence des données ou l'échec de la tâche.

Limites opérationnelles pendant la migration

Évitez les actions suivantes pendant l'exécution de la migration :

Action interdite Risque
Opérations DDL modifiant les schémas (pendant la migration de schéma ou la migration complète) Échec de la tâche de migration.
Opérations DDL modifiant plusieurs colonnes à la fois ou la même table successivement Non pris en charge ; échec de la tâche.
Opérations DDL en ligne utilisant pt-online-schema-change sur la source Ne peuvent pas être migrées ; peuvent entraîner une perte de données ou l'échec de la tâche.
Création de clusters dans l'instance SelectDB de destination Échec de la tâche. Redémarrez l'instance de migration pour reprendre.
Ajout de nœuds backend (BE) à SelectDB Échec de la tâche. Redémarrez l'instance de migration pour reprendre.
Écriture de données provenant de sources autres que DTS dans la destination Peut entraîner une incohérence des données.
Écriture de nouvelles données dans la source (migration complète uniquement, sans incrémentiel) Entraîne une incohérence des données entre la source et la destination.
Basculement principal/secondaire pendant la migration complète DTS ne prend pas en charge le basculement pendant la migration complète. Reconfigurez la tâche si un basculement se produit.

Autres considérations

  • DDL en ligne avec DMS ou gh-ost : DTS migre uniquement les instructions DDL d'origine, et non les données des tables temporaires. Cela peut verrouiller les tables de destination.

  • Opérations hors journal binaire : Les modifications de données non enregistrées dans les journaux binaires (telles que la récupération de sauvegarde physique et les opérations en cascade) ne sont pas migrées. Exécutez à nouveau une migration complète des données si cela se produit.

  • RENAME TABLE : L'utilisation de RENAME TABLE pendant la migration incrémentielle peut entraîner une incohérence des données. Si vous renommez une table qui est un objet de migration, ses données risquent de ne pas être migrées. Pour éviter cela, sélectionnez la base de données (et non des tables individuelles) comme objet de migration, et assurez-vous que la base de données apparaît dans les objets de migration avant et après le renommage.

  • Latence de synchronisation incrémentielle : Par défaut, DTS écrit dans chaque objet de synchronisation au maximum une fois toutes les 5 secondes. La latence normale est généralement inférieure à 10 secondes. Pour réduire la latence, ajustez le paramètre selectdb.reservoir.timeout.milliseconds dans la console DTS (plage valide : 1 000–10 000 ms). Des intervalles plus courts augmentent la fréquence d'écriture et peuvent accroître la charge de destination et le temps de réponse en écriture (RT).

  • Impact sur les performances : La migration complète lit toutes les données source et écrit simultanément dans la destination, ce qui augmente la charge sur les deux bases de données. Exécutez les migrations pendant les heures creuses et activez la limitation du débit si nécessaire.

  • Taille de l'espace table après la migration complète : Les opérations INSERT concurrentes pendant la migration complète provoquent une fragmentation. L'espace table de destination peut être plus volumineux que celui de la source une fois la migration terminée.

  • Récupération de l'instance : Si l'instance de migration tombe en panne, l'assistance DTS tente une récupération sous 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). Consultez la rubrique Modifier les paramètres de l'instance pour connaître les paramètres susceptibles d'être modifiés.

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

Type d'opération Instructions SQL
DML INSERT, UPDATE, DELETE
DDL ADD COLUMN, MODIFY COLUMN, CHANGE COLUMN, DROP COLUMN, DROP TABLE, TRUNCATE TABLE, RENAME TABLE
Important

L'instruction RENAME TABLE peut entraîner une incohérence des données. Si vous sélectionnez une table comme objet de migration et que vous la renommez pendant la migration, ses données risquent de ne pas être migrées vers la destination. Pour éviter cela, sélectionnez la base de données (et non des tables individuelles) comme objet de migration, et assurez-vous que la base de données apparaît dans les objets de migration avant et après le renommage.

Créer une tâche de migration

Étape 1 : Ouvrir la page Data Migration

Utilisez l'une des consoles suivantes :

Console DTS

  1. Connectez-vous à la console DTS.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éside l'instance de migration.

Console DMS

Remarque

Les étapes exactes peuvent varier selon le mode et la disposition de votre console DMS. Consultez les rubriques Mode simple et Personnaliser la disposition et le style de la console DMS.

  1. Connectez-vous à la console DMS.Console DMS

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

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

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

  1. Cliquez sur Create Task.

  2. Sur la page de configuration de la tâche, définissez les paramètres suivants.

Général

Paramètre Description
Task Name Nom de la tâche DTS. DTS génère automatiquement un nom. Spécifiez un nom descriptif pour identifier la tâche. Le nom n'a pas besoin d'être unique.

Base de données source

Paramètre Description
Select Existing Connection Si l'instance source est déjà enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante : DTS remplira automatiquement les paramètres restants. Dans la console DMS, utilisez la liste déroulante Select a DMS database instance. Si l'instance n'est pas enregistrée, configurez manuellement les paramètres ci-dessous.
Database Type Sélectionnez PolarDB for MySQL.
Access Method Sélectionnez Alibaba Cloud Instance.
Instance Region Région où réside le cluster source PolarDB for MySQL.
Replicate Data Across Alibaba Cloud Accounts Sélectionnez No pour une migration au sein du même compte. Pour migrer entre différents comptes, configurez d'abord l'autorisation RAM.
PolarDB Cluster ID ID du cluster source PolarDB for MySQL.
Database Account Compte de base de données pour le cluster source. Consultez la section Autorisations requises.
Database Password Mot de passe du compte de base de données.
Encryption Sélectionnez une option en fonction des paramètres de votre cluster PolarDB for MySQL. Pour plus de détails sur le chiffrement SSL (Secure Sockets Layer), consultez la rubrique Configurer le chiffrement SSL.

Base de données de destination

Paramètre Description
Select Existing Connection Si l'instance de destination est déjà enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante. Dans la console DMS, utilisez la liste déroulante Select a DMS database instance. Si elle n'est pas enregistrée, configurez manuellement les paramètres ci-dessous.
Database Type Sélectionnez SelectDB.
Access Method Sélectionnez Alibaba Cloud Instance.
Instance Region Région où réside l'instance SelectDB de destination.
Replicate Data Across Alibaba Cloud Accounts Sélectionnez No pour une migration au sein du même compte.
Instance ID ID de l'instance SelectDB de destination.
Database Account Compte de base de données pour l'instance SelectDB de destination. Consultez la section Autorisations requises.
Database Password Mot de passe du compte de base de données.
  1. Cliquez sur Test Connectivity and Proceed.

Les blocs CIDR du serveur DTS doivent être ajoutés aux paramètres de sécurité des deux bases de données avant que le test de connectivité ne puisse réussir. Consultez la rubrique Ajouter les adresses IP des serveurs DTS à une liste d'autorisation .

Étape 3 : Sélectionner les objets de migration

  1. Sur la page Configure Objects, configurez les paramètres suivants.

Configuration Description
Migration Types Sélectionnez les types de migration selon vos besoins : Migration complète uniquement : Sélectionnez Schema Migration et Full Data Migration. Migration avec un temps d'arrêt minimal : Sélectionnez Schema Migration, Full Data Migration et Incremental Data Migration.
Processing Mode of Conflicting Tables Precheck and Report Errors (par défaut) : DTS vérifie l'existence de tables portant le même nom dans la destination. Si des doublons existent, la prévérification échoue et la tâche ne démarre pas. Pour résoudre le problème sans supprimer la table de destination, utilisez le mappage de noms d'objets. Ignore Errors and Proceed : DTS ignore la vérification des tables en double. Utilisez cette option avec prudence : si les schémas correspondent, les enregistrements source écrasent les enregistrements de destination ayant la même clé primaire ; si les schémas diffèrent, certaines colonnes peuvent ne pas être migrées ou la tâche peut échouer.
Capitalization of Object Names in Destination Instance Contrôle la mise en majuscule des 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 mise en majuscule des noms d'objets dans l'instance de destination.
Source Objects Sélectionnez les bases de données ou les tables à migrer. Cliquez sur l'icône de flèche pour les ajouter à la section Selected Objects.
Selected Objects Faites un clic droit sur un objet de migration pour le renommer, définir le paramètre bucket_count (lorsque Schema Migration est sélectionné), sélectionner des opérations SQL incrémentielles spécifiques ou définir des conditions de filtre SQL pour le filtrage au niveau des lignes. Consultez les rubriques Mapper les noms d'objets et Définir des conditions de filtre.
Important
  • Si vous ne sélectionnez pas Schema Migration, créez les tables en utilisant le modèle de clé Unique ou Duplicate dans l'instance SelectDB de destination avant de démarrer la migration. Consultez les rubriques Mappages de types de données, Colonnes supplémentaires et Modèle de données.

  • Si vous ne sélectionnez pas Incremental Data Migration, n'écrivez pas de nouvelles données dans l'instance source pendant la migration.

  • L'utilisation du mappage de noms d'objets peut empêcher la migration des objets dépendants.

  1. Cliquez sur Next: Advanced Settings et configurez les éléments suivants.

Configuration Description
Dedicated Cluster for Task Scheduling Par défaut, DTS utilise un 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 retente les connexions ayant échoué. Plage valide : 10–1 440 minutes. Valeur par défaut : 720 minutes. Définissez une valeur d'au moins 30 minutes. Si DTS se reconnecte dans ce délai, la migration reprend ; sinon, la tâche échoue. Notez que différentes tâches partageant la même source ou destination utilisent la valeur définie le plus récemment, et que DTS facture l'instance pendant la nouvelle tentative.
Retry Time for Other Issues Durée pendant laquelle DTS retente les opérations DDL ou DML ayant échoué. Plage valide : 1–1 440 minutes. Valeur 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 la charge de lecture et d'écriture pendant la migration complète. Configurez 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). Disponible uniquement lorsque Full Data Migration est sélectionné.
Enable Throttling for Incremental Data Migration Limite la charge pendant la migration incrémentielle. Configurez les paramètres 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 (Facultatif) Un tag pour identifier l'instance.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks Yesparamètres de notification d'alerte : n'écrit pas les opérations de heartbeat dans la source (un indicateur de latence peut apparaître sur l'instance DTS). No : écrit les opérations de heartbeat (peut affecter la sauvegarde physique et le clonage de la source).
Configure ETL Yes : configurez le traitement ETL (extraction, transformation et chargement) avec des instructions de traitement des données dans l'éditeur de code. Consultez les rubriques Configurer ETL dans une tâche de migration ou de synchronisation de données et Qu'est-ce que ETL ?. No : ignorer ETL.
Monitoring and Alerting Yes : configurez des alertes en cas d'échec de la tâche ou de dépassement d'un seuil de latence. Définissez le seuil d'alerte et les contacts de notification. Consultez la rubrique Configurer la surveillance et les alertes lors de la création d'une tâche DTS. No : aucune alerte.
  1. (Facultatif) Cliquez sur Next: Configure Database and Table Fields pour définir la Primary Key Column, la Distribution Key et le Engine pour les tables de destination.

Cette étape est disponible uniquement lorsque Schema Migration est sélectionné. Définissez Definition Status sur All pour afficher toutes les tables.
Sélectionnez une ou plusieurs colonnes en tant que Primary Key Column . Au moins une colonne de clé primaire doit également être sélectionnée comme Distribution Key .
Pour les tables sans clés primaires ni contraintes UNIQUE, définissez Engine sur duplicate . Sinon, la migration peut échouer ou des données peuvent être perdues.

Étape 4 : Exécuter une prévérification

Cliquez sur Next: Save Task Settings and Precheck.

Pour prévisualiser les paramètres de l'API pour cette tâche, placez le curseur sur Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters .

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

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

  • Si une alerte est déclenchée :

    • Si elle ne peut pas être ignorée, cliquez sur View Details, corrigez le problème et exécutez à nouveau la prévérification.

    • Si elle peut être ignorée, cliquez sur Confirm Alert Details, cliquez sur Ignore dans la boîte de dialogue, cliquez sur OK, puis cliquez sur Precheck Again.

Avertissement

Ignorer les alertes de prévérification peut entraîner une incohérence des données ou d'autres risques.

Étape 5 : Acheter et démarrer l'instance de migration

  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.

Section Paramètre Description
New Instance Class Resource Group 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 Détermine la vitesse de migration. Sélectionnez en fonction du volume de données et de la fenêtre de migration. Consultez la rubrique Classes d'instances des instances de migration de données.
  1. Lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.

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

Suivez la progression de la migration sur la page Data Migration :

  • Migration complète uniquement : La tâche s'arrête automatiquement une fois terminée. Le statut indique Completed.

  • Incremental migration: La tâche s'exécute en continu et ne s'arrête pas automatiquement. Le statut indique Running.

Mappages de types de données

Le tableau suivant montre comment les types de données PolarDB for MySQL sont mappés aux types de données SelectDB.

Catégorie PolarDB for MySQL 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 (Zerofill non 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 CHAR / VARCHAR VARCHAR
BINARY / VARBINARY STRING
TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT STRING
TINYBLOB / BLOB / MEDIUMBLOB / LONGBLOB STRING
ENUM STRING
SET STRING
JSON STRING
Important

Pour éviter toute perte de données, CHAR et VARCHAR(n) sont convertis en VARCHAR(4*n) lors de la migration vers SelectDB.

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

  • Les données dépassant 65 533 caractères sont converties en STRING.

Colonnes supplémentaires

Pour les tables utilisant le moteur Duplicate, DTS ajoute automatiquement les colonnes suivantes aux tables de destination. Si vous créez manuellement les tables de destination, ajoutez ces colonnes vous-même.

Nom de colonne Type de données Valeur par défaut Description
_is_deleted Int 0 Indique si la ligne est supprimée. 0 pour INSERT et UPDATE ; 1 pour DELETE.
_version Bigint 0 0 pour la migration complète. Pour la migration incrémentielle, l'horodatage en secondes issu du journal binaire source.
_record_id Bigint 0 0 pour la migration complète. Pour la migration incrémentielle, l'ID d'enregistrement unique auto-incrémenté issu de l'entrée de journal incrémentiel.

Étapes suivantes

Une fois la migration terminée, vérifiez la cohérence des données entre les bases de données source et de destination. Pour la migration incrémentielle, arrêtez les écritures sur la source, laissez DTS synchroniser les modifications restantes, puis basculez le trafic de votre application vers SelectDB.