Tous les produits
Search
Centre de documentation

Data Transmission Service:Migrer des données de PolarDB-X 2.0 vers ApsaraDB for SelectDB

Dernière mise à jour :Aug 10, 2026

Utilisez Data Transmission Service (DTS) pour migrer les données d'une instance PolarDB-X 2.0 vers une instance ApsaraDB for SelectDB.

Important

Cette fonctionnalité est en phase de déploiement progressif et n'est disponible que pour certains utilisateurs.

Prérequis

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

  • Une instance PolarDB-X 2.0 (source) avec une bande passante sortante d'au moins 100 Mbit/s

  • Une instance ApsaraDB for SelectDB (destination)

  • Le paramètre binlog_row_image défini sur full sur l'instance source (requis pour la migration incrémentielle des données). Pour plus de détails, consultez la page Paramètres de configuration

  • Des comptes de base de données disposant des autorisations requises sur les deux instances (voir la section Autorisations requises)

  • Les blocs CIDR des serveurs DTS ajoutés aux paramètres de sécurité des deux instances. Pour plus de détails, consultez la page Ajouter les blocs CIDR des serveurs DTS

Objets non pris en charge

Les types d'objets suivants ne peuvent pas être migrés :

  • Les tables dont les noms contiennent des lettres majuscules

  • INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER et clés étrangères (FK)

  • Les objets TABLEGROUP

  • Les bases de données ou tables contenant l'attribut Locality

  • Les instances en lecture seule de l'édition Enterprise de PolarDB-X 2.0

Les tables à migrer doivent comporter des contraintes PRIMARY KEY ou UNIQUE, avec tous les champs uniques. Sans ces contraintes, la base de données de destination peut contenir des enregistrements en double.

Si vous sélectionnez des tables comme objets de migration et que vous devez les renommer ou modifier leurs colonnes dans la destination, une seule tâche prend en charge jusqu'à 1 000 tables. Pour plus de 1 000 tables, configurez plusieurs tâches ou migrez la base de données entière en une seule fois.

Restrictions pendant la migration

N'effectuez pas les opérations suivantes pendant l'exécution de la tâche de migration :

  • Sur l'instance source : N'exécutez pas d'instructions DDL modifiant les schémas de base de données ou de table lors de la migration du schéma ou de la migration complète des données. Cela entraînerait l'échec de la tâche.

  • Sur l'instance de destination :

    • Ne créez pas de clusters dans l'instance ApsaraDB for SelectDB. Si cela provoque un échec de la tâche, redémarrez l'instance de migration pour reprendre.

    • N'ajoutez pas de nœuds backend à la base de données ApsaraDB for SelectDB. Si cela provoque un échec de la tâche, redémarrez l'instance de migration pour reprendre.

    • N'autorisez pas d'autres sources de données à écrire dans la destination pendant l'exécution de DTS. Cela pourrait provoquer une incohérence des données ou l'échec de la tâche.

  • Restrictions DDL : N'exécutez pas d'instructions DDL modifiant plusieurs colonnes à la fois ou modifiant successivement la même table.

Exigences spécifiques à SelectDB

  • Noms de bases de données et de tables : Ils doivent commencer par une lettre. Utilisez la fonctionnalité de mappage des noms d'objets pour renommer les objets qui ne respectent pas cette exigence.

  • Noms en caractères chinois : Les objets dont les noms contiennent des caractères chinois doivent être renommés via le mappage des noms d'objets (par exemple, en anglais). Sinon, la tâche risque d'échouer.

  • Longueur VARCHAR : Dans PolarDB-X 2.0, VARCHAR(M) spécifie une longueur en caractères. Dans SelectDB, VARCHAR(N) spécifie une longueur en octets. Si vous ignorez la migration du schéma, définissez les longueurs des champs VARCHAR de SelectDB sur quatre fois celles des champs correspondants dans PolarDB-X 2.0.

  • Moteur de table de destination : Les données ne peuvent être migrées que vers des tables utilisant le moteur Unique ou le moteur Duplicate. Consultez les sections Tables avec moteur Unique et Tables avec moteur Duplicate ci-dessous.

Tables avec moteur Unique

Toutes les clés uniques de la table de destination utilisant le moteur Unique doivent exister dans la table source et être incluses dans les objets à migrer. Sinon, des incohérences de données peuvent survenir.

Tables avec moteur Duplicate

Lorsque la table de destination utilise le moteur Duplicate, DTS convertit les instructions UPDATE et DELETE en instructions INSERT. Des enregistrements en double peuvent apparaître dans les scénarios suivants :

  • L'instance de migration fait l'objet d'une nouvelle tentative ou d'un redémarrage.

  • Les mêmes données sont modifiées par des opérations DML deux fois ou plus après le démarrage de l'instance de migration.

Pour dédupliquer les enregistrements, utilisez les colonnes supplémentaires créées automatiquement par DTS : _is_deleted, _version et _record_id. Consultez la section Colonnes supplémentaires.

Autres remarques

  • Performances de la migration complète des données : La migration complète des données utilise les ressources de lecture et d'écriture des deux instances, ce qui augmente la charge de la base de données. Exécutez la migration pendant les heures creuses, lorsque la charge CPU des deux instances est inférieure à 30 %.

  • Fragmentation du stockage : Étant donné que la migration complète des données utilise des opérations INSERT concurrentes, les tables de destination deviennent fragmentées. Après la migration complète, les tables de destination occupent plus d'espace de stockage que les tables sources.

  • Écritures de heartbeat : DTS exécute périodiquement CREATE DATABASE IF NOT EXISTS \ sur l'instance source pour écrire des données de heartbeat et faire avancer la position du journal binaire. Si vous définissez l'option Whether to delete SQL operations on heartbeat tables of forward and reverse tasks sur Yes, ou si le compte source ne dispose pas de l'autorisation de créer des bases de données, et qu'aucune opération DML n'est effectuée sur la source pendant une période prolongée, les informations de latence peuvent être inexactes. Pour actualiser les données de latence, effectuez une opération DML sur l'instance source.

  • Récupération de tâche : Si une tâche DTS échoue, l'assistance DTS tente de la restaurer dans un délai de 8 heures. Pendant la restauration, la tâche peut être redémarrée et certains paramètres de tâche peuvent être ajustés. Les paramètres de la base de données ne sont pas modifiés.

Facturation

Type de migration Frais de configuration de tâche Frais de transfert de données
Migration du schéma et migration complète des données Gratuit Gratuit lorsque la Méthode d'accès est Alibaba Cloud Instance. Des frais s'appliquent lorsque la Méthode d'accès est Public IP Address. Consultez la page Présentation de la facturation.
Migration incrémentielle des données Payant. Consultez la page Présentation de la facturation. —

Opérations SQL prises en charge lors de la migration incrémentielle

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

Les opérations RENAME TABLE peuvent provoquer une incohérence des données. Par exemple, si vous sélectionnez une table comme objet de migration et que vous la renommez pendant la migration, les données de cette table ne seront pas migrées. Pour éviter cela, sélectionnez la base de données contenant la table comme objet de migration, et assurez-vous que les noms de base de données avant et après le renommage sont inclus dans les objets à migrer.

Autorisations requises

Base de donnéesMigration du schémaMigration complèteMigration incrémentielle
Source PolarDB-X 2.0SELECTSELECTREPLICATION SLAVE, REPLICATION CLIENT et SELECT sur les objets à migrer
Destination ApsaraDB for SelectDBUsage_priv (accès au cluster), Select_priv, Load_priv, Alter_priv, Create_priv, Drop_priv

Pour obtenir des instructions sur la création de comptes et l'attribution d'autorisations :

Créer une tâche de migration

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

Utilisez l'une des méthodes suivantes :

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éside l'instance de migration.

Console DMS

Les étapes réelles peuvent varier en fonction du mode et de la disposition de la console DMS. Consultez les pages 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 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. Configurez les paramètres décrits dans le tableau suivant.

    CatégorieParamètreDescription
    S.O.Nom de la tâcheNom de la tâche DTS. DTS génère un nom par défaut. Spécifiez un nom explicite facilitant l'identification de la tâche. Le nom n'a pas besoin d'être unique.
    Base de données sourceSélectionner une connexion existanteSi l'instance source est enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante. DTS remplit automatiquement les autres paramètres. Sinon, configurez les paramètres manuellement. Dans la console DMS, sélectionnez l'instance depuis Select a DMS database instance.
    Type de base de donnéesSélectionnez PolarDB-X 2.0.
    Méthode d'accèsSélectionnez Alibaba Cloud Instance.
    Région de l'instanceSélectionnez la région où réside l'instance source PolarDB-X 2.0.
    Répliquer les données entre les comptes Alibaba CloudSélectionnez No si les instances source et de destination appartiennent au même compte Alibaba Cloud.
    ID d'instanceSélectionnez l'ID de l'instance source PolarDB-X 2.0.
    Compte de base de donnéesSaisissez le compte de base de données. Consultez la section Autorisations requises pour connaître les autorisations minimales nécessaires.
    Mot de passe de la base de donnéesSaisissez le mot de passe du compte de base de données.
    Base de données de destinationSélectionner une connexion existanteSi l'instance de destination est enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante. DTS remplit automatiquement les autres paramètres. Sinon, configurez les paramètres manuellement. Dans la console DMS, sélectionnez l'instance depuis Select a DMS database instance.
    Type de base de donnéesSélectionnez SelectDB.
    Méthode d'accèsSélectionnez Alibaba Cloud Instance.
    Région de l'instanceSélectionnez la région où réside l'instance de destination SelectDB.
    Répliquer les données entre les comptes Alibaba CloudSélectionnez No si les instances source et de destination appartiennent au même compte Alibaba Cloud.
    ID d'instanceSélectionnez l'ID de l'instance de destination SelectDB.
    Compte de base de donnéesSaisissez le compte de base de données. Consultez la section Autorisations requises pour connaître les autorisations minimales nécessaires.
    Mot de passe de la base de donnéesSaisissez le mot de passe du compte de base de données.
  3. Cliquez sur Test Connectivity and Proceed.

Étape 3 : Configurer les objets de migration

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

    ParamètreDescription
    Migration TypesSélectionnez les types de migration selon vos besoins : <br>- Migration du schéma + Migration complète des données : Migre uniquement les données existantes. N'écrivez pas de nouvelles données dans la source pendant la migration. <br>- Migration du schéma + Migration complète des données + Migration incrémentielle des données : Migre les données existantes et maintient la synchronisation de la destination avec les modifications en cours. Utilisez cette combinaison pour minimiser les interruptions de service. <br><br>Si vous ignorez la Migration du schéma, créez des tables avec le moteur Unique ou Duplicate ayant la structure correcte dans SelectDB avant de démarrer la tâche. Pour plus de détails, consultez les sections Mappage des types de données, Colonnes supplémentaires et Modèle de données.
    Processing Mode of Conflicting Tables- Vérification préalable et signalement des erreurs : La vérification préalable échoue si la destination contient des tables portant les mêmes noms que celles de la source. Pour résoudre les conflits, utilisez le mappage des noms d'objets pour renommer les tables migrées. Consultez la page Mapper les noms d'objets. <br>- Ignorer les erreurs et continuer : Ignore la vérification préalable pour les noms de tables identiques.
    Avertissement

    Cela peut provoquer une incohérence des données. Lors de la migration complète, DTS ignore les enregistrements en conflit et conserve les données de destination existantes. Lors de la migration incrémentielle, DTS écrase les enregistrements en conflit. Si les schémas source et de destination diffèrent, seules certaines colonnes sont migrées ou la tâche peut échouer.

    Capitalization of Object Names in Destination InstancePolitique de casse 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 page Spécifier la casse des noms d'objets dans l'instance de destination.
    Source ObjectsSélectionnez les bases de données ou tables à migrer, puis cliquez sur 向右小箭头 pour les déplacer vers Objets sélectionnés.
    Selected Objects- Pour renommer une table dans la destination, faites un clic droit dessus et sélectionnez une option de mappage de nom d'objet. Consultez la page Mapper les noms d'objets. <br>- Pour filtrer les lignes, faites un clic droit sur une table et spécifiez des conditions WHERE. Consultez la page Spécifier les conditions de filtrage. <br>- Pour sélectionner des opérations SQL spécifiques pour une base de données ou une table, faites un clic droit sur l'objet et choisissez les opérations à inclure. <br>- Si la Migration du schéma est sélectionnée, vous ne pouvez sélectionner que des tables (et non des bases de données) comme objets de migration, et vous devez définir le paramètre bucket_count : faites un clic droit sur une table, activez Enable Parameter Settings, définissez Value sur un entier positif (par défaut : auto) et cliquez sur OK. <br><br>
    Remarque

    Le renommage d'un objet via le mappage des noms d'objets peut empêcher la migration des objets dépendants.

  2. Cliquez sur Next: Advanced Settings et configurez les paramètres suivants.

    ParamètreDescription
    Dedicated Cluster for Task SchedulingPar défaut, DTS planifie la tâche sur un cluster partagé. Pour améliorer la stabilité de la tâche, achetez un cluster dédié. Consultez la page Qu'est-ce qu'un cluster dédié DTS ?.
    Retry Time for Failed ConnectionsDurée pendant laquelle DTS tente de reconnecter les connexions ayant échoué après le démarrage de la tâche. Plage valide : 10–1 440 minutes. Par défaut : 720 minutes. Définissez une valeur supérieure à 30 minutes. Si DTS se reconnecte dans ce délai, la tâche reprend. Sinon, la tâche échoue.
    Remarque

    Lorsque plusieurs tâches partagent la même source ou destination, la durée de nouvelle tentative définie le plus récemment est prioritaire. DTS facture l'instance pendant la nouvelle tentative.

    Retry Time for Other IssuesDurée pendant laquelle DTS retente les opérations DDL ou DML ayant échoué. Plage valide : 1–1 440 minutes. Par défaut : 10 minutes. Définissez une valeur supérieure à 10 minutes. Elle doit être inférieure à la Durée de nouvelle tentative pour les échecs de connexion.
    Enable Throttling for Full Data MigrationLimite le débit de lecture et d'écriture lors de la migration complète pour réduire la charge sur les deux instances. Configurez les paramètres Queries per second (QPS) to the source database, RPS de la migration complète des données et Vitesse de migration des données pour la migration complète (Mo/s). Disponible uniquement lorsque l'option Migration complète des données est sélectionnée.
    Enable Throttling for Incremental Data MigrationLimite le débit lors de la migration incrémentielle. Configurez les paramètres RPS of Incremental Data Migration et Vitesse de migration des données pour la migration incrémentielle (Mo/s). Disponible uniquement lorsque l'option Migration incrémentielle des données est sélectionnée.
    Whether to delete SQL operations on heartbeat tables of forward and reverse tasksContrôle si DTS écrit des opérations SQL de heartbeat sur l'instance source. <br>- Yes : DTS n'écrit pas d'opérations de heartbeat. Les informations de latence peuvent être inexactes. <br>- No : DTS écrit des opérations de heartbeat. La sauvegarde physique et le clonage de la source peuvent être affectés.
    Environment TagTag facultatif permettant d'identifier l'instance.
    Configure ETLIndique s'il faut activer la fonctionnalité extract, transform, load (ETL). Consultez les pages Qu'est-ce que l'ETL ? et Configurer l'ETL dans une tâche de migration ou de synchronisation des données.
    Monitoring and AlertingIndique s'il faut recevoir des alertes en cas d'échec de la tâche ou si la latence de migration dépasse un seuil. Si vous sélectionnez Yes, configurez le seuil d'alerte et les paramètres de notification. Consultez la page Configurer la surveillance et les alertes lors de la création d'une tâche DTS.
  3. (Facultatif) Cliquez sur Next: Configure Database and Table Fields. Pour chaque table à migrer, spécifiez les paramètres Primary Key Column, Distribution Key et Engine.

    - Cette étape est disponible uniquement lorsque l'option Migration du schéma est sélectionnée. Définissez Definition Status sur All pour afficher toutes les tables. - Le paramètre Primary Key Column prend en charge plusieurs colonnes. Une ou plusieurs colonnes de clé primaire peuvent également être sélectionnées comme Distribution Key . - Si une table ne possède ni clé primaire ni contrainte UNIQUE, sélectionnez duplicate pour le paramètre Engine . Sinon, la tâche risque d'échouer ou des pertes de données peuvent survenir.

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

Cliquez sur Next: Save Task Settings and Precheck.

Pour prévisualiser les paramètres API pour cette configuration avant de continuer, placez le pointeur sur Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters.

La tâche doit réussir la vérification préalable avant de pouvoir démarrer.
Si un élément de 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 .
Si une alerte est déclenchée : si elle ne peut pas être ignorée, résolvez-la et relancez la vérification. Si elle peut être ignorée en toute sécurité, cliquez sur Confirm Alert Details , cliquez sur Ignore dans la boîte de dialogue, confirmez, puis cliquez sur Precheck Again . Ignorer les alertes peut provoquer une incohérence des données.

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

  1. Attendez que le Taux de réussite atteigne 100 %, puis cliquez sur Next: Purchase Instance.

  2. Sur la page Purchase Instance , configurez l'instance.

    SectionParamètreDescription
    Nouvelle classe d'instanceGroupe de ressourcesGroupe de ressources pour l'instance de migration. Par défaut : default resource group. Consultez la page Qu'est-ce que Resource Management ?
    Classe d'instanceLa classe d'instance détermine la vitesse de migration. Sélectionnez une classe en fonction de vos besoins. Consultez la page Classes d'instances de migration de données.
  3. Cochez la case Data Transmission Service (Pay-as-you-go) Service Terms.

  4. 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 . Suivez sa progression à cet endroit.

Si la tâche n'inclut pas la migration incrémentielle des données, elle s'arrête automatiquement une fois terminée. Le Status affiche Completed .
Si la tâche inclut la migration incrémentielle des données, elle s'exécute en continu. Le Status affiche Running . La tâche de migration incrémentielle des données ne s'arrête ni ne se termine jamais automatiquement.

Mappage des types de données

CatégorieType PolarDB-X 2.0Type SelectDB
NumériqueTINYINTTINYINT
TINYINT UNSIGNEDSMALLINT
SMALLINTSMALLINT
SMALLINT UNSIGNEDINT
MEDIUMINTINT
MEDIUMINT UNSIGNEDBIGINT
INTINT
INT UNSIGNEDBIGINT
BIGINTBIGINT
BIGINT UNSIGNEDLARGEINT
BIT(M)INT
DecimalDecimal (
Remarque

zerofill n'est pas pris en charge)

NumericDecimal
FloatFloat
DoubleDOUBLE
BOOL / BOOLEANBOOLEAN
Date et heureDATEDATEV2
DATETIME[(fsp)]DATETIMEV2
Timestamp[(fsp)]DATETIMEV2
Time[(fsp)]VARCHAR
YEAR[(4)]INT
ChaîneCHAR / VARCHARVARCHAR
BINARY / VARBINARYSTRING
TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXTSTRING
TINYBLOB / BLOB / MEDIUMBOLB / LONGBLOBSTRING
ENUMSTRING
SETSTRING
JSONSTRING
Important

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

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

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

Colonnes supplémentaires

DTS crée automatiquement les colonnes suivantes dans les tables utilisant le moteur Duplicate (ou vous pouvez les ajouter manuellement) :

Colonne Type Valeur par défaut Description
_is_deleted Int 0 Indique si l'enregistrement est supprimé. Défini sur 0 pour les opérations INSERT et UPDATE, et sur 1 pour les opérations DELETE.
_version Bigint 0 Défini sur 0 lors de la migration complète des données. Lors de la migration incrémentielle, contient l'horodatage (en secondes) issu du fichier journal binaire source.
_record_id Bigint 0 Défini sur 0 lors de la migration complète des données. Lors de la migration incrémentielle, contient l'ID unique de l'entrée de journal incrémentielle. L'ID s'incrémente automatiquement pour chaque nouvelle entrée de journal.