Tous les produits
Search
Centre de documentation

Data Transmission Service:Synchronize data from a PolarDB for MySQL cluster to an ApsaraDB for ClickHouse cluster

Dernière mise à jour :Sep 18, 2026

Data Transmission Service (DTS) synchronise en temps réel un cluster PolarDB for MySQL avec un cluster ApsaraDB for ClickHouse, permettant ainsi une analyse centralisée sans perturber votre base de données source.

Types de synchronisation et facturation

Type de synchronisation

Facturation

Synchronisation du schéma

Gratuit

Synchronisation complète des données

Gratuit

Synchronisation incrémentielle des données

Payant. Pour plus de détails, consultez la rubrique Présentation de la facturation.

Prérequis

Avant de commencer, assurez-vous que :

Important

Les journaux binaires du cluster source doivent être conservés pendant au moins sept jours. Une période de rétention plus courte peut entraîner la perte de la position de DTS dans le journal binaire, provoquant l'échec de la tâche ou une perte de données. L'activation de la journalisation binaire engendre des frais de stockage sur PolarDB for MySQL.

Autorisations requises pour les comptes de base de données

Base de données

Autorisations requises

Références

Cluster PolarDB for MySQL source

Autorisations de lecture sur tous les objets à synchroniser

Créer et gérer un compte de base de données et Gérer le mot de passe d'un compte de base de données

Destination ApsaraDB for ClickHouse V22.8 ou version ultérieure

Autorisations de lecture et d'écriture sur la base de données de destination (un compte privilégié convient)

Gérer les comptes de base de données dans un cluster compatible avec la version Community

Destination ApsaraDB for ClickHouse V21.8

Read, Write and Set Permissions et Enable DDL

Identique à ci-dessus

Limites

Limites de l'instance source

  • Le serveur source doit disposer d'une bande passante sortante suffisante. Une bande passante insuffisante ralentit la synchronisation.

  • Si vous synchronisez des tables et souhaitez renommer ou modifier des colonnes au niveau de la destination, une seule tâche prend en charge jusqu'à 1 000 tables. Au-delà de 1 000 tables, divisez la synchronisation en plusieurs tâches ou synchronisez la base de données entière.

  • N'exécutez pas d'opérations DDL sur la source pendant la synchronisation complète des données, sous peine d'échec de la tâche.

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

Autres limites

  • DTS ne synchronise pas les nœuds en lecture seule ni les tables externes Object Storage Service (OSS) depuis le cluster source.

  • Les instructions DDL qui ne respectent pas la syntaxe MySQL standard peuvent provoquer l'échec de la tâche ou une perte de données.

  • L'opération RENAME TABLE n'est pas prise en charge.

  • Les valeurs DATETIME de la source doivent se situer dans les plages horaires prises en charge par ClickHouse (consultez la section Plage horaire).

  • Toutes les colonnes sélectionnées comme Partition Key doivent contenir des champs non vides.

  • Jusqu'à 256 bases de données peuvent être synchronisées vers un seul cluster ApsaraDB for ClickHouse.

  • Les noms des bases de données, des tables et des colonnes doivent respecter les conventions de nommage d'ApsaraDB for ClickHouse. Consultez la rubrique Limites relatives aux conventions de nommage des objets.

  • Pendant la synchronisation du schéma, DTS ajoute les champs _sign, _is_deleted et _version aux tables de destination. Si vous désactivez l'option Schema Synchronization, créez manuellement la table de destination en incluant ces champs.

  • N'écrivez pas de données provenant d'autres sources dans la base de données de destination pendant la synchronisation. Les écritures simultanées entraînent une incohérence des données.

  • N'utilisez pas pt-online-schema-change pour exécuter des opérations DDL sur les tables synchronisées au niveau de la table. Utilisez plutôt l'outil Data Management (DMS) lock-free DDL.

  • Exécutez la synchronisation pendant les heures creuses lorsque cela est possible. La synchronisation complète des données utilise les ressources de lecture et d'écriture des deux clusters.

  • En cas d'échec d'une tâche, l'assistance DTS tentera de la restaurer dans un délai de 8 heures et pourra redémarrer la tâche ou modifier ses paramètres (mais pas les paramètres de la base de données).

Opérations SQL prenant en charge la synchronisation des données

DML

INSERT, UPDATE et DELETE

DDL

Opération DDL

Prise en charge

CREATE TABLE

Oui

TRUNCATE TABLE

Oui

ALTER TABLE

Oui

ADD COLUMN

Oui

MODIFY COLUMN

Oui

DROP TABLE

Oui

DROP COLUMN

Oui

RENAME TABLE

Non

Mappages des types de données

PolarDB for MySQL et ApsaraDB for ClickHouse prennent en charge différents types de données. Lors de la synchronisation initiale du schéma, DTS mappe les types source vers des types de destination compatibles. Consultez la rubrique Mappages des types de données pour la synchronisation initiale du schéma.

Créer une tâche de synchronisation

Étape 1 : Accéder à la page de synchronisation des données

Console DTS

  1. Connectez-vous à la console DTS

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

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

Console DMS

Remarque

Le chemin de navigation exact varie selon le mode 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 et choisissez DTS (DTS) > Data Synchronization.

  3. Dans la liste déroulante située à côté de Data Synchronization Tasks, sélectionnez la région où résidera l'instance de synchronisation.

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

Cliquez sur Create Task, puis renseignez les paramètres suivants.

Section

Paramètre

Description

S.O.

Task Name

Nom de la tâche DTS. DTS génère automatiquement un nom. Utilisez un nom descriptif pour identifier facilement la tâche. Le nom n'a pas besoin d'être unique.

Source Database

Select Existing Connection

Sélectionnez une instance de base de données enregistrée dans la liste déroulante, ou configurez manuellement la connexion si l'instance n'est pas enregistrée.

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 pour une synchronisation au sein du même compte.

PolarDB Cluster ID

ID du cluster PolarDB for MySQL source.

Database Account

Compte de base de données pour le cluster source.

Database Password

Mot de passe du compte.

Encryption

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

Destination Database

Select Existing Connection

Sélectionnez une instance enregistrée ou configurez manuellement la connexion.

Database Type

Sélectionnez ClickHouse.

Access Method

Sélectionnez Alibaba Cloud Instance.

Instance Region

Région où réside le cluster ApsaraDB for ClickHouse de destination.

Replicate Data Across Alibaba Cloud Accounts

Sélectionnez No pour une synchronisation au sein du même compte.

Cluster Type

Type du cluster ApsaraDB for ClickHouse de destination.

Cluster ID

ID du cluster ApsaraDB for ClickHouse de destination.

Database Account

Compte de base de données pour le cluster de destination.

Database Password

Mot de passe du compte.

Cliquez sur Test Connectivity and Proceed.

Assurez-vous que les blocs CIDR des serveurs DTS sont ajoutés aux règles du groupe 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 à synchroniser

À l'étape Configure Objects, définissez les paramètres suivants.

Paramètre

Description

Synchronization Types

Sélectionnez Schema Synchronization, Full Data Synchronization et Incremental Data Synchronization. La synchronisation complète des données charge les données historiques avant le début de la synchronisation incrémentielle.

Processing Mode of Conflicting Tables

Precheck and Report Errors (par défaut) : échoue la prévérification si la destination contient des tables portant les mêmes noms que la source. Utilisez le mappage des noms d'objets pour éviter les conflits. Ignore Errors and Proceed : ignore la vérification des conflits. Lors de la synchronisation complète, les enregistrements existants dans la destination sont conservés ; lors de la synchronisation incrémentielle, ils sont écrasés. Si les schémas diffèrent, la tâche peut échouer. À utiliser avec prudence.

Capitalization of Object Names in Destination Instance

Contrôle la gestion de la casse pour les noms de bases de données, de tables et de colonnes. 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 bases de données, tables ou colonnes à synchroniser et cliquez sur l'icône de flèche pour les ajouter à la section Selected Objects.

Selected Objects

Cliquez avec le bouton droit sur un objet pour le renommer, ou cliquez sur Batch Edit pour renommer plusieurs objets à la fois. Cliquez avec le bouton droit sur une table pour ajouter des conditions de filtre SQL. Consultez les rubriques Mapper les noms d'objets et Définir des conditions de filtre

    .

    Si vous utilisez le mappage des noms d'objets, les objets qui dépendent des objets renommés peuvent ne pas être synchronisés correctement.

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

    Paramètre

    Description

    Dedicated Cluster for Task Scheduling

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

    Time zone of destination database

    Fuseau horaire appliqué aux données DateTime écrites dans le cluster ClickHouse de destination.

    Retry Time for Failed Connections

    Durée pendant laquelle DTS retente les connexions ayant échoué après le démarrage de la tâche. Valeurs valides : 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 source ou la même destination, la durée de nouvelle tentative la plus courte s'applique. La facturation DTS se poursuit pendant les nouvelles tentatives.

    Retry Time for Other Issues

    Durée pendant laquelle DTS retente les opérations DDL ou DML ayant échoué. Valeurs valides : 1 à 1 440 minutes. Par défaut : 10 minutes. Définissez une valeur d'au moins 10 minutes. Cette valeur doit être inférieure à Retry Time for Failed Connections.

    Enable Throttling for Full Data Synchronization

    Limite la charge de lecture et d'écriture pendant la synchronisation 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 l'option Full Data Synchronization est sélectionnée.

    Enable Throttling for Incremental Data Synchronization

    Limite la charge pendant la synchronisation incrémentielle. Configurez les paramètres RPS of Incremental Data Synchronization et Data synchronization speed for incremental synchronization (MB/s).

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

    Yesparamètres de notification d'alerte : DTS n'écrit pas de SQL de pulsation dans la source, ce qui peut afficher une latence de tâche. No : DTS écrit du SQL de pulsation, ce qui peut affecter la sauvegarde physique et le clonage de la source.

    Environment Tag

    Tags facultatifs pour catégoriser l'instance de synchronisation.

    Configure ETL

    Indique s'il faut activer la fonctionnalité extract, transform, and load (ETL). Yes : saisissez 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 : ignorer ETL.

    Monitoring and Alerting

    Yes : configurez les seuils d'alerte et les contacts de notification afin que DTS vous alerte en cas d'échec de la tâche ou si la latence de synchronisation dépasse le seuil. Consultez la rubrique Configurer la surveillance et les alertes. No : aucune alerte.

    Cliquez sur Next: Configure Database and Table Fields pour définir le Type, la Primary Key Column, la Sort Key, la Distribution Key et la Partition Key pour chaque table de destination ClickHouse.

    DTS configure automatiquement ces champs par défaut. Pour les modifier, définissez Definition Status sur All .
    Les paramètres Primary Key Column et Sort Key acceptent plusieurs colonnes. Distribution Key n'accepte qu'une seule colonne.
    Le paramètre Partition Key est facultatif. S'il est configuré, toutes les colonnes sélectionnées doivent contenir des champs non vides.
    Pour plus de détails sur les paramètres des tables ClickHouse, consultez la rubrique CREATE TABLE .

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

    Cliquez sur Next: Save Task Settings and Precheck.

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

    DTS exécute une prévérification avant de démarrer la tâche. Si la prévérification échoue :

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

    • Pour les éléments d'alerte pouvant être ignorés, 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 5 : Acheter une instance

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

    2. Sur la page buy, configurez les paramètres suivants.

    Paramètre

    Description

    Billing Method

    Subscription : paiement anticipé, plus rentable pour une utilisation à long terme. Pay-as-you-go : facturation horaire, adapté à une utilisation à court terme. Libérez l'instance lorsqu'elle n'est plus nécessaire pour arrêter la facturation.

    Resource Group Settings

    Groupe de ressources pour l'instance de synchronisation. 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 synchronisation. Consultez la rubrique Classes d'instances pour les instances de synchronisation de données.

    Subscription Duration

    Disponible uniquement pour la méthode de facturation Subscription. Options : 1 à 9 mois, ou 1, 2, 3 ou 5 ans.

    1. Lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.

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

    La tâche apparaît dans la liste des tâches. Surveillez sa progression à cet endroit.

    Interroger les données synchronisées

    Une fois la synchronisation terminée, utilisez l'instruction suivante pour interroger les données dans le cluster ClickHouse de destination :

    SELECT * FROM table_name FINAL WHERE _sign > 0;

    Le mot-clé FINAL fusionne les lignes ayant la même clé de tri et renvoie la dernière version. Le filtre WHERE _sign > 0 exclut les lignes marquées pour suppression.

    Annexe

    Plage horaire

    Type de données

    Valeur minimale

    Valeur maximale

    Date

    1970-01-01 00:00:00

    2149-06-06 00:00:00

    Date32

    1925-01-01 00:00:00

    2283-11-11 00:00:00

    DateTime

    1970-01-01 08:00:00

    2106-02-07 14:28:15

    DateTime64

    1925-01-01 08:00:00

    2283-11-12 07:59:59

    Tables

    Si vous créez manuellement les tables de destination (sans synchronisation du schéma), celles-ci doivent répondre aux exigences suivantes.

    Important

    Si la table de destination inclut le paramètre ENGINE, définissez-le sur ENGINE = ReplicatedReplacingMergeTree(_version, _is_deleted). Toute autre valeur entraîne une incohérence des données.

    • Community-compatible Edition : créez une table locale et une table distribuée. Le nom de la table distribuée doit correspondre au nom de la table source. Le nom de la table locale suit le format <distributed_table_name>_local.

    • Enterprise Edition : créez une table portant le même nom que la table source.

    Champs

    DTS ajoute les champs de métadonnées suivants aux tables de destination.

    ApsaraDB for ClickHouse Community-compatible Edition exécutant la version V23.8 ou antérieure

    Champ

    Type de données

    Valeur par défaut

    Description

    _sign

    Int8

    1

    Type d'opération DML : INSERT ou UPDATE = 1 ; DELETE = -1.

    _version

    UInt64

    1

    Horodatage d'écriture de la ligne dans le cluster ClickHouse.

    ApsaraDB for ClickHouse Enterprise Edition ou Community-compatible Edition exécutant la version V23.8 ou ultérieure

    Champ

    Type de données

    Valeur par défaut

    Description

    _sign

    Int8

    1

    Type d'opération DML : INSERT ou UPDATE = 1 ; DELETE = -1.

    _is_deleted

    UInt8

    0

    Indique si la ligne est supprimée : INSERT ou UPDATE = 0 ; DELETE = 1.

    _version

    UInt64

    1

    Horodatage d'écriture de la ligne dans le cluster ClickHouse.