Tous les produits
Search
Centre de documentation

Data Transmission Service:Migrer des données d'un cluster PolarDB for MySQL vers une base de données Doris auto-gérée

Dernière mise à jour :Sep 20, 2026

Data Transmission Service (DTS) migre les données d'un cluster PolarDB for MySQL vers une base de données Doris auto-gérée, permettant ainsi d'exécuter des charges de travail analytiques à grande échelle sur Doris. Cette rubrique détaille la configuration en utilisant une base de données Doris déployée sur une instance ECS comme destination.

Pour effectuer cette migration :

  1. Accordez les autorisations requises aux comptes de base de données.

  2. Créez une tâche DTS et connectez les bases de données source et de destination.

  3. Sélectionnez les types de migration et les objets.

  4. Exécutez une pré-vérification, achetez une instance DTS et démarrez la migration.

Prérequis

Une base de données Doris de destination est créée. L'espace de stockage disponible de cette base de données doit être supérieur à l'espace de stockage utilisé par le cluster PolarDB for MySQL source.

Pour plus d'informations sur les versions prises en charge des bases de données source et de destination, consultez Présentation des solutions de migration .

Autorisations requises pour les comptes de base de données

Les autorisations requises varient selon les types de migration que vous sélectionnez.

Base de données

Migration du schéma

Migration complète des données

Migration incrémentielle des données

Cluster PolarDB for MySQL source

SELECT

SELECT

Autorisations de lecture et d'écriture

Base de données Doris de destination

Usage_priv, Select_priv, Load_priv, Alter_priv, Create_priv, Drop_priv

(identique)

(identique)

Pour créer et autoriser des comptes de base de données :

Facturation

Type de migration

Frais de configuration de liaison

Coût de transfert de données

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

Gratuit

Gratuit, sauf si la Méthode d'accès pour la destination est définie sur Public IP Address. Consultez Présentation de la facturation.

Migration incrémentielle des données

Facturé. Consultez Présentation 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, MODIFY COLUMN, CHANGE COLUMN, DROP COLUMN, DROP TABLE, TRUNCATE TABLE, RENAME TABLE

Important

Les opérations RENAME TABLE peuvent 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, les données de cette table ne sont pas migrées vers la destination. Pour éviter cela, sélectionnez la base de données contenant la table comme objet de migration et assurez-vous que les bases de données avant et après le renommage sont incluses dans les objets de migration.

Contraintes et limites

Passez en revue les contraintes suivantes avant de configurer votre tâche de migration.

Limites de la base de données source

  • Bande passante sortante : le serveur hébergeant la base de données source doit disposer d'une bande passante sortante suffisante. Une bande passante insuffisante réduit la vitesse de migration.

  • Exigences relatives aux tables :

    • Tables avec clés primaires ou contraintes UNIQUE : assurez-vous que les champs de la table sont uniques pour éviter les données en double dans la destination.

    • Tables sans clés primaires ni contraintes UNIQUE : lors de la configuration de la tâche, sélectionnez Schema Migration sous Migration Types, puis définissez Engine sur duplicate pour ces tables à l'étape Configurations for Databases, Tables, and Columns. Sinon, la tâche peut échouer ou des données peuvent être perdues.

  • Limite de mappage de colonnes : si vous mappez des noms de colonnes ou effectuez des modifications par colonne, une seule tâche peut migrer un maximum de 1 000 tables. Pour dépasser cette limite, répartissez les tables sur plusieurs tâches ou migrez la base de données entière sans modifications par colonne.

  • Incremental migration only :

    • Activez la journalisation binaire et définissez loose_polar_log_bin sur on. Sans cela, la pré-vérification échoue et la tâche ne peut pas démarrer. Consultez Activer la journalisation binaire et Modifier les paramètres. > Note: L'activation de la journalisation binaire sur un cluster PolarDB for MySQL consomme de l'espace de stockage et engendre des frais.

    • Conservez les journaux binaires pendant au moins 3 jours (7 jours recommandés). Une période de rétention plus courte peut empêcher DTS de lire les journaux requis, ce qui peut entraîner une incohérence ou une perte de données — problèmes non couverts par l'accord de niveau de service (SLA) de DTS. Consultez Modifier la période de rétention.

  • Opérations à éviter pendant la migration :

    • N'effectuez pas d'opérations DDL qui modifient le schéma de la base de données ou de la table pendant la migration du schéma ou la migration complète des données. Cela entraînerait l'échec de la tâche.

    • Si vous n'effectuez que la migration complète des données (sans incrémentiel), n'écrivez pas de nouvelles données dans la source. Pour maintenir une cohérence en temps réel, sélectionnez conjointement la migration du schéma, la migration complète des données et la migration incrémentielle des données.

    • Les modifications de données résultant d'opérations non enregistrées dans les journaux binaires, telles que la restauration de sauvegarde physique ou les opérations en cascade, ne sont pas migrées. > Note: Si cela se produit, exécutez à nouveau une migration complète des données lorsque votre activité le permet.

Autres limites

  • Nœuds en lecture seule : la migration des nœuds en lecture seule depuis le cluster PolarDB for MySQL source n'est pas prise en charge.

  • Tables externes OSS : la migration des tables externes OSS depuis la source n'est pas prise en charge.

  • Basculement primaire/secondaire : DTS ne prend pas en charge le basculement primaire/secondaire de la base de données source pendant la migration complète. En cas de basculement, reconfigurez rapidement la tâche.

  • Modèles de table de destination : les données ne peuvent être migrées que vers des tables utilisant le modèle Unique Key ou Duplicate Key dans Doris.

    • Modèle Duplicate Key : des données en double peuvent apparaître en cas de nouvelle tentative ou de redémarrage, ou si deux opérations DML ou plus sont effectuées sur la même ligne après le démarrage de la tâche. Dédupliquez à l'aide des colonnes supplémentaires (_is_deleted, _version, _record_id). DTS convertit les instructions UPDATE et DELETE en instructions INSERT pour les tables du modèle Duplicate Key.

  • Paramètre bucket_count : seul paramètre configurable dans la zone Selected Objects. Doit être un entier positif. Valeur par défaut : auto.

  • Création de cluster : ne créez pas de clusters dans la base de données Doris de destination pendant la migration. Si cela provoque un échec, redémarrez l'instance de migration pour reprendre.

  • Exigences relatives aux noms d'objets :

    • Doris prend uniquement en charge les noms de bases de données et de tables commençant par une lettre. Utilisez la fonctionnalité de mappage de nom d'objet pour renommer les objets qui ne satisfont pas à cette exigence.

    • Si un nom de base de données, de table ou de colonne contient des caractères chinois, utilisez la fonctionnalité de mappage de nom d'objet pour le renommer (par exemple, en équivalent anglais). Sinon, la tâche peut échouer.

  • Restrictions DDL : les opérations DDL qui modifient simultanément plusieurs colonnes, ou qui modifient successivement la même table, ne sont pas prises en charge.

  • Nœuds Backend (BE) : n'ajoutez pas de nœuds BE à la base de données Doris de destination pendant la migration. Si cela provoque un échec, redémarrez l'instance de migration pour reprendre.

  • Fusion multi-tables : lors de la migration des données de plusieurs tables sources vers une seule table de destination, tous les schémas de tables sources doivent être cohérents. Des schémas incohérents peuvent entraîner une incohérence des données ou l'échec de la tâche.

  • Longueur VARCHAR : dans PolarDB for MySQL, VARCHAR(M) spécifie la longueur en caractères. Dans Doris, VARCHAR(N) spécifie la longueur en octets. Si vous n'utilisez pas la migration de schéma DTS, définissez la longueur du champ VARCHAR dans Doris à quatre fois la longueur MySQL.

  • Outils DDL en ligne :

    • DTS prend en charge les modifications DDL en ligne effectuées à l'aide de DMS ou gh-ost. DTS migre uniquement les instructions DDL d'origine, pas les données des tables temporaires. Cependant, la table de destination peut être verrouillée pendant ce processus.

    • DTS ne prend pas en charge les modifications DDL en ligne effectuées à l'aide d'outils tels que pt-online-schema-change sur la source. De telles modifications sur la source peuvent entraîner une perte de données ou l'échec de la tâche.

  • Impact sur les performances : pendant la migration complète, DTS lit depuis la source et écrit dans la destination, augmentant la charge du serveur de base de données. Exécutez la migration pendant les heures creuses lorsque la charge CPU est inférieure à 30 %.

  • Fragmentation de l'espace de table : les opérations INSERT concurrentes pendant la migration complète provoquent une fragmentation de la table dans la destination. Après la migration complète, l'espace de table utilisé dans la destination sera plus grand que dans la source.

  • Écritures concurrentes vers la destination : l'écriture de données provenant d'autres sources vers la destination pendant la migration peut entraîner une incohérence des données.

  • Table heartbeat : DTS exécute périodiquement CREATE DATABASE IF NOT EXISTS \ test\`` sur la source pour faire avancer le décalage du journal binaire.

  • Latence de migration incrémentielle : DTS utilise une politique de synchronisation par lots pour réduire la charge sur la destination. Par défaut, DTS écrit dans un seul objet au maximum toutes les 5 secondes, ce qui entraîne une latence de synchronisation typique inférieure à 10 secondes. Pour réduire la latence, ajustez le paramètre selectdb.reservoir.timeout.milliseconds dans la console. Plage valide : 1 000–10 000 millisecondes.

    Une valeur plus petite augmente la fréquence d'écriture, ce qui peut augmenter la charge et le temps de réponse (RT) de la destination et, par conséquent, augmenter la latence de synchronisation. Ajustez en fonction de la charge de la destination.
  • Récupération d'instance : si une instance DTS échoue, le support technique tente une récupération dans un délai de 8 heures. Pendant la récupération, DTS peut redémarrer l'instance ou ajuster ses paramètres (uniquement les paramètres de l'instance DTS, pas les paramètres de la base de données). Consultez Modifier les paramètres de l'instance pour connaître les paramètres susceptibles d'être modifiés.

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

Migrer des données de PolarDB for MySQL vers Doris

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

Utilisez l'une des méthodes suivantes pour accéder à la page Data Migration et sélectionnez la région où réside l'instance de migration.

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 de données.

Console DMS

Remarque

Les étapes réelles peuvent varier en fonction du mode et de 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.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.

  4. Configurez les paramètres de la base de données source et de la base de données de destination décrits dans le tableau suivant.

    Catégorie

    Paramètre

    Description

    S.O.

    Nom de la tâche

    Nom de la tâche DTS. DTS génère automatiquement un nom. Spécifiez un nom descriptif qui facilite l'identification de la tâche. Le nom n'a pas besoin d'être unique.

    Base de données source

    Sélectionner une connexion existante

    Si l'instance est enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante. DTS remplit automatiquement les paramètres ci-dessous. Si elle n'est pas enregistrée, configurez les paramètres manuellement.

    Type de base de données

    Sélectionnez Create Task.

    Méthode d'accès

    Sélectionnez PolarDB for MySQL.

    Région de l'instance

    Sélectionnez la région où réside le cluster PolarDB for MySQL source.

    Répliquer les données entre les comptes Alibaba Cloud

    Sélectionnez Alibaba Cloud Instance pour utiliser une instance sous le compte Alibaba Cloud actuel.

    ID du cluster PolarDB

    Sélectionnez l'ID du cluster PolarDB for MySQL source.

    Compte de base de données

    Saisissez le compte de base de données du cluster source. Consultez la section Autorisations requises pour les comptes de base de données.

    Mot de passe de la base de données

    Saisissez le mot de passe du compte de base de données.

    Chiffrement

    Sélectionnez une méthode de connexion. Pour le chiffrement SSL, consultez la rubrique Configurer le chiffrement SSL.

    Base de données de destination

    Sélectionner une connexion existante

    Si l'instance est enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante. DTS remplit automatiquement les paramètres ci-dessous. Si elle n'est pas enregistrée, configurez les paramètres manuellement.

    Type de base de données

    Sélectionnez Doris.

    Méthode d'accès

    Sélectionnez Self-managed Database on ECS. Pour les autres types de connexion, consultez la rubrique Préparatifs.

    Région de l'instance

    Sélectionnez la région où réside la base de données Doris de destination.

    ID de l'instance ECS

    Sélectionnez l'ID de l'instance ECS sur laquelle la base de données Doris est déployée. Si Doris est déployé sur plusieurs instances ECS (par exemple, des nœuds BE ou Frontend (FE) sur des instances distinctes), ajoutez les blocs CIDR des serveurs DTS aux règles de sécurité de chaque instance ECS.

    Numéro de port

    Saisissez le port de service de la base de données Doris de destination. Valeur par défaut : 9030.

    Compte de base de données

    Saisissez le compte de base de données de la base de données Doris de destination. Consultez la section Autorisations requises pour les comptes de base de données.

    Mot de passe de la base de données

    Saisissez le mot de passe du compte de base de données.

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

    Assurez-vous que les blocs CIDR des serveurs DTS sont ajoutés aux paramètres de sécurité des bases de données source et de destination. Consultez la rubrique Ajouter des adresses IP de serveur DTS à une liste d'autorisation .

Étape 3 : Configurer les objets de migration

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

    Paramètre

    Description

    Dedicated cluster for task scheduling

    Par défaut, DTS planifie les tâches 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 ?

    Migration Types

    Plage de temps pendant laquelle DTS tente de reconnecter la connexion lorsque la source ou la destination est inaccessible après le démarrage de la tâche. Valeurs valides : 10 à 1 440 minutes. Valeur par défaut : 720 minutes. Définissez une valeur supérieure à 30. Si DTS se reconnecte dans ce délai, il reprend la tâche ; sinon, la tâche échoue.<br>

    Remarque

    Si plusieurs tâches partagent la même source ou la même destination, la valeur spécifiée le plus récemment est prioritaire. DTS facture l'instance pendant les nouvelles tentatives.

    Retry time for other issues

    Plage de temps pendant laquelle DTS retente les opérations DDL ou DML ayant échoué après le démarrage de la tâche. Valeurs valides : 1 à 1 440 minutes. Valeur par défaut : 10 minutes. Définissez une valeur supérieure à 10.

    Important

    Cette valeur doit être inférieure à Retry time for failed connections.

    Schema Migration

    Limite les opérations de lecture et d'écriture pendant la migration complète pour réduire la charge du serveur. Configurez Full Data Migration, Incremental Data Migration et Schema Migration. Disponible uniquement lorsque Full Data Migration est sélectionné.

    Processing Mode of Conflicting Tables

    Limite les opérations pendant la migration incrémentielle. Configurez Precheck and Report Errors et Ignore Errors and Proceed. Disponible uniquement lorsque Capitalization of object names in destination instance est sélectionné.

    DTS default policy

    Contrôle si DTS écrit les opérations SQL sur les tables de heartbeat dans la source pendant l'exécution de l'instance.

    • Source Objects : n'écrit pas les opérations de la table de heartbeat. Une latence peut apparaître sur l'instance DTS.

    • No : écrit les opérations de la table de heartbeat. Cela peut affecter des fonctionnalités telles que la sauvegarde physique et le clonage de la base de données source.

    Selected Objects

    (Facultatif) Sélectionnez un tag pour identifier l'instance.

    Selected Objects

    Indique s'il faut configurer la fonctionnalité Extract, Transform, Load (ETL). Consultez la rubrique Qu'est-ce que l'ETL ?

    Monitoring and alerting

    Configure les alertes pour la tâche. Si la tâche échoue ou si la latence de migration dépasse le seuil, les contacts d'alerte sont notifiés.

  2. (Facultatif) Cliquez sur Next: Configure Database and Table Fields pour définir la Primary Key Column, la Distribution Key et le Retry time for failed connections pour les tables de destination.

    - Cette étape est disponible uniquement si vous avez sélectionné Schema Migration à l'étape précédente. Définissez Queries per second (QPS) to the source database sur RPS of Full Data Migration pour afficher et modifier toutes les tables. - Pour Data migration speed for full migration (MB/s) , sélectionnez une ou plusieurs colonnes pour former une clé primaire composite. Au moins une Full Data Migration doit également être définie comme Enable throttling for incremental data migration . - Pour les tables sans clés primaires ni contraintes UNIQUE, définissez RPS of Incremental Data Migration sur Data migration speed for incremental migration (MB/s) . Sinon, la migration peut échouer ou des données peuvent être perdues.

Étape 4 : Exécuter une pré-vérification et démarrer la migration

  1. Cliquez sur Incremental Data Migration.

    - Pour afficher les paramètres API pour cette configuration de tâche, placez le pointeur sur Whether to delete SQL operations on heartbeat tables of forward and reverse tasks et cliquez sur Yes . - DTS exécute une pré-vérification avant de démarrer la tâche. La tâche ne démarre qu'après avoir réussi la pré-vérification. - Si la pré-vérification échoue, cliquez sur No à côté de chaque élément ayant échoué, corrigez les problèmes et relancez la pré-vérification. - Si une alerte est déclenchée pendant la pré-vérification : pour les alertes qui ne peuvent pas être ignorées, corrigez le problème et relancez la pré-vérification. Pour les alertes qui peuvent être ignorées, cliquez sur Environment tag > Configure ETL > OK , puis relancez la pré-vérification. Ignorer les alertes peut entraîner une incohérence des données ou exposer votre activité à des risques.
  2. Une fois que le No atteint 100%.

  3. Sur la page No. Dans le message de confirmation, cliquez sur Yes.

Suivez la progression sur la page Data Migration.

Si la tâche ne peut pas migrer les données incrémentielles, elle s'arrête automatiquement. La colonne Status affiche Completed .
Si la tâche migre les données incrémentielles, elle s'exécute en continu et ne s'arrête pas automatiquement. La colonne Engine affiche Schema Migration .

Mappages des types de données

Lorsque DTS migre des données de PolarDB for MySQL vers Doris, les conversions de type suivantes s'appliquent.

Catégorie

Type PolarDB for MySQL

Type Doris

Notes

Entier

TINYINT

TINYINT

TINYINT UNSIGNED

SMALLINT

Les types non signés sont promus au type signé suivant pour éviter les dépassements.

SMALLINT

SMALLINT

SMALLINT UNSIGNED

INT

MEDIUMINT

INT

MEDIUMINT UNSIGNED

BIGINT

INT

INT

INT UNSIGNED

BIGINT

BIGINT

BIGINT

BIGINT UNSIGNED

LARGEINT

BIT(M)

INT

Décimal

DECIMAL

DECIMAL

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

Doris ne dispose pas de type TIME natif.

YEAR[(4)]

INT

Chaîne

CHAR / VARCHAR

VARCHAR

Important

Pour éviter toute perte de données, CHAR et VARCHAR(n) sont convertis en VARCHAR(4×n). 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.

BINARY / VARBINARY

STRING

TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT

STRING

TINYBLOB / BLOB / MEDIUMBLOB / LONGBLOB

STRING

ENUM

STRING

SET

STRING

JSON

STRING

Informations supplémentaires sur les colonnes

Pour les tables utilisant le modèle de clé Duplicate Key, DTS ajoute automatiquement les colonnes suivantes aux tables de destination. Utilisez ces colonnes pour dédupliquer les données.

Nom de la colonne

Type de données

Valeur par défaut

Description

_is_deleted

INT

0

Indique si la ligne est supprimée. INSERT et UPDATE définissent cette valeur sur Definition Status ; DELETE la définit sur All.

_version

BIGINT

0

Pour la migration complète des données : 0. Pour la migration incrémentielle des données : l'horodatage en secondes issu du journal binaire source.

_record_id

BIGINT

0

Pour la migration complète des données : 0. Pour la migration incrémentielle des données : l'ID d'enregistrement unique et auto-incrémenté de l'entrée de journal incrémentielle.