Tous les produits
Search
Centre de documentation

Data Transmission Service:Synchronize data between ApsaraDB RDS for MariaDB instances

Dernière mise à jour :Aug 10, 2026

Pour maintenir une synchronisation continue entre deux instances ApsaraDB RDS for MariaDB, que ce soit pour des migrations, la reprise après sinistre ou la mise à l'échelle en lecture, le service Data Transmission Service (DTS) gère la synchronisation du schéma, la synchronisation complète des données et la synchronisation incrémentielle des données au sein d'une seule tâche. Suivez les étapes ci-dessous pour créer une tâche de synchronisation entre deux instances MariaDB.

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Une instance de destination ApsaraDB RDS for MariaDB. Consultez la rubrique Créer une instance ApsaraDB RDS for MariaDB.

  • Un espace de stockage disponible sur l'instance de destination supérieur à la taille totale des données de l'instance source.

  • Un compte de base de données source disposant des autorisations répertoriées dans la section Autorisations requises.

Facturation

Type de synchronisation Coût
Synchronisation du schéma et synchronisation complète des données Gratuit
Synchronisation incrémentielle des données Payant. Consultez la page Présentation de la facturation.

Topologies de synchronisation prises en charge

DTS prend en charge les topologies suivantes entre les instances MariaDB :

  • Synchronisation unidirectionnelle un-à-un

  • Synchronisation unidirectionnelle un-à-plusieurs

  • Synchronisation en cascade unidirectionnelle

  • Synchronisation unidirectionnelle plusieurs-à-un

  • Synchronisation bidirectionnelle un-à-un

Pour obtenir la référence complète des topologies, consultez la rubrique Topologies de synchronisation.

Opérations SQL prises en charge

Type d'opération Instructions SQL
DML INSERT, UPDATE, DELETE
DDL ALTER TABLE, ALTER VIEW, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW, DROP INDEX, DROP TABLE, RENAME TABLE, TRUNCATE TABLE
Important

L'opération RENAME TABLE peut entraîner une incohérence des données. Si une table synchronisée est renommée pendant la synchronisation, DTS arrête la synchronisation de ses données. Pour éviter cela, sélectionnez la base de données entière — et non des tables individuelles — comme objet de synchronisation. Assurez-vous que la base de données contenant la table est incluse dans les objets de synchronisation avant et après le renommage.

Autorisations requises

Accordez les autorisations suivantes au compte de base de données utilisé pour chaque instance :

Instance Autorisations requises
Source ApsaraDB RDS for MariaDB Autorisations de lecture et d'écriture. Consultez les rubriques Créer un compte et Modifier ou réinitialiser les autorisations d'un compte.
Destination ApsaraDB RDS for MariaDB Autorisations de lecture et d'écriture
Remarque

Si le compte source n'a pas été créé via la console ApsaraDB RDS for MariaDB, accordez-lui explicitement les autorisations suivantes : REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW et SELECT.

Limites

Exigences relatives à la base de données source

  • Les tables à synchroniser doivent disposer de 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.

  • Lors de la synchronisation de tables spécifiques (et non de la base de données entière) nécessitant un renommage des tables ou des colonnes dans la destination, une seule tâche prend en charge jusqu'à 1 000 tables. Les tâches dépassant cette limite renvoient une erreur de requête. Utilisez plusieurs tâches par lots ou synchronisez plutôt la base de données entière.

  • Configurez les paramètres du journal binaire comme suit avant de démarrer la tâche :

    Paramètre Valeur requise Raison
    binlog_row_image full La journalisation binaire est activée par défaut sur ApsaraDB RDS for MariaDB. Si ce paramètre n'est pas défini sur full, la prévérification échoue et la tâche ne peut pas démarrer.
    Rétention du journal binaire — synchronisation incrémentielle uniquement Au moins 24 heures Si DTS ne peut pas obtenir les journaux binaires, la tâche échoue et une incohérence ou une perte de données peut survenir. Le contrat de niveau de service (SLA) de DTS ne s'applique pas si les exigences de rétention ne sont pas respectées.
    Rétention du journal binaire — synchronisation complète + incrémentielle Au moins 7 jours Une fois la synchronisation complète des données terminée, la période de rétention peut être réduite à plus de 24 heures.

Comportement des clés étrangères

  • Pendant la synchronisation du schéma, DTS synchronise les clés étrangères de la source vers la destination.

  • Pendant la synchronisation complète des données et la synchronisation incrémentielle des données, DTS désactive temporairement les vérifications de contrainte et les opérations en cascade sur les clés étrangères au niveau de la session. Les opérations de mise à jour et de suppression en cascade sur la source pendant la synchronisation peuvent provoquer une incohérence des données.

Autres limites

  • La version de la base de données de destination doit être identique ou ultérieure à celle de la base de données source. Une version de destination antérieure entraîne des problèmes de compatibilité.

  • Exécutez les tâches de synchronisation pendant les heures creuses. La synchronisation initiale complète des données utilise les ressources de lecture et d'écriture des deux instances, ce qui augmente la charge du serveur.

  • Les opérations INSERT concurrentes lors de la synchronisation initiale complète des données provoquent une fragmentation de l'espace de table dans la destination. Une fois la synchronisation complète terminée, l'espace de table utilisé dans la destination est plus grand que dans la source.

  • N'utilisez pas d'outils tels que pt-online-schema-change pour les opérations DDL en ligne sur les tables synchronisées. Utilisez plutôt Data Management (DMS). Consultez la page Effectuer des opérations DDL sans verrouillage.

  • Écrivez dans la base de données de destination uniquement via DTS pendant la synchronisation. L'utilisation d'autres outils pour écrire dans la destination peut provoquer une incohérence des données. Si vous devez utiliser d'autres outils, n'utilisez pas DMS pour les opérations DDL en ligne, car cela pourrait entraîner une perte de données dans la destination.

  • Si une instruction DDL échoue dans la base de données de destination, la tâche DTS continue de s'exécuter. Vérifiez les instructions DDL ayant échoué dans les journaux de la tâche. Consultez la rubrique Afficher les journaux de la tâche.

Créer une tâche de synchronisation

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

  1. Connectez-vous à la console Data Management (DMS).

  2. Dans la barre de navigation supérieure, cliquez sur Data + AI.

  3. Dans le volet de navigation de gauche, choisissez DTS (DTS) > Data Synchronization.

Remarque

La disposition de la console DMS peut varier selon votre configuration. Consultez les pages Mode simple et Personnaliser la disposition et le style de la console DMS. Vous pouvez également accéder directement à la page Tâches de synchronisation des données dans la nouvelle console DTS.

Étape 2 : Sélectionner la région

À droite de Data Synchronization Tasks, sélectionnez la région où réside l'instance de synchronisation.

Remarque

Dans la nouvelle console DTS, sélectionnez la région dans la barre de navigation supérieure.

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

Cliquez sur Create Task. Dans l'assistant de création de tâche, configurez les paramètres suivants.

Avertissement

Lisez les Limits affichées sur la page avant de continuer. Ignorer cette étape peut entraîner des échecs de tâche ou une incohérence des données.

Paramètres de la tâche :

Paramètre Description
Task Name DTS génère automatiquement un nom. Spécifiez un nom descriptif pour faciliter l'identification de la tâche. Les noms uniques ne sont pas requis.

Source Database

Paramètre Valeur
Select an existing DMS database instance Facultatif. Laissez vide si aucune instance de base de données DMS n'est enregistrée.
Database Type MariaDB
Connection Type Alibaba Cloud Instance
Instance Region Région où réside l'instance ApsaraDB RDS for MariaDB source
Cross-account No (pour la synchronisation intra-compte)
Instance ID ID de l'instance ApsaraDB RDS for MariaDB source
Database Account Compte disposant d'autorisations de lecture sur les objets à synchroniser
Database Password Mot de passe du compte de base de données
Encryption Non-encrypted

Destination Database

Paramètre Valeur
Select an existing DMS database instance Facultatif. Laissez vide si aucune instance de base de données DMS n'est enregistrée.
Database Type MariaDB
Connection Type Alibaba Cloud Instance
Instance Region Région où réside l'instance ApsaraDB RDS for MariaDB de destination
RDS Instance ID ID de l'instance ApsaraDB RDS for MariaDB de destination
Database Account Compte disposant d'autorisations de lecture et d'écriture sur la base de données de destination
Database Password Mot de passe du compte de base de données
Encryption Non-encrypted

Étape 4 : Tester la connectivité

Cliquez sur Test Connectivity and Proceed.

DTS ajoute automatiquement ses blocs CIDR à la liste d'autorisation des instances de base de données Alibaba Cloud et aux règles de groupe de sécurité des instances Elastic Compute Service (ECS) hébergeant des bases de données auto-gérées. Vous devez vous assurer que l'instance ECS peut accéder à la base de données. Si la base de données est déployée sur plusieurs instances ECS, vous devez ajouter manuellement les blocs CIDR des serveurs DTS aux règles de groupe de sécurité de chaque instance ECS. Pour les bases de données auto-gérées dans un centre de données ou hébergées par un fournisseur cloud tiers, ajoutez manuellement les blocs CIDR de DTS à la liste d'autorisation de la base de données. Consultez la page Blocs CIDR des serveurs DTS.

Avertissement

L'ajout de blocs CIDR aux listes d'autorisation ou aux règles de groupe de sécurité crée une exposition potentielle à la sécurité. Avant d'utiliser DTS, prenez des précautions telles que : l'utilisation d'identifiants forts, la limitation des ports exposés, l'authentification des appels API, la révision régulière des listes d'autorisation et des règles de groupe de sécurité, et la connexion via Express Connect, VPN Gateway ou Smart Access Gateway lorsque cela est possible.

Étape 5 : Configurer les objets de synchronisation

Configurez les paramètres suivants, puis passez aux paramètres avancés.

Paramètre Description
Synchronization Types Sélectionnez Schema Synchronization, Full Data Synchronization et Incremental Data Synchronization. La synchronisation incrémentielle des données est sélectionnée par défaut. La synchronisation complète des données copie les données historiques de la source vers la destination, ce qui sert de base de référence pour la synchronisation incrémentielle.
Method to Migrate Triggers in Source Database Sélectionnez la méthode de synchronisation des déclencheurs. Affiché uniquement lorsque Schema Synchronization est sélectionné. Si aucun déclencheur ne doit être synchronisé, ignorez ce paramètre. Consultez la rubrique Synchroniser ou migrer les déclencheurs de la base de données source.
Processing Mode of Conflicting Tables Precheck and Report Errors (par défaut) : échoue la prévérification si la source et la destination ont des tables portant des noms identiques. Si les tables de la destination ne peuvent pas être supprimées ou renommées, utilisez la fonctionnalité de mappage des noms d'objets pour les renommer. Consultez la page Mapper les noms d'objets. Ignore Errors and Proceed : ignore la vérification des conflits. À utiliser avec prudence — une incohérence des données peut survenir. Lors de la synchronisation complète des données, si un enregistrement de destination a la même clé primaire ou clé unique qu'un enregistrement source, l'enregistrement de destination est conservé (non écrasé). Lors de la synchronisation incrémentielle des données, l'enregistrement de destination est écrasé. Si les schémas diffèrent, seules certaines colonnes peuvent être synchronisées ou la tâche peut échouer.
Source Objects Sélectionnez des objets dans la section Source Objects et cliquez sur l'icône de flèche pour les déplacer vers la section Selected Objects. Sélectionnez des colonnes, des tables ou des bases de données. La sélection de tables ou de colonnes exclut les vues, les déclencheurs et les procédures stockées.
Selected Objects Cliquez avec le bouton droit sur un objet pour le renommer. Pour renommer plusieurs objets, cliquez sur Batch Edit dans le coin supérieur droit. Cliquez avec le bouton droit sur une table pour sélectionner des opérations SQL spécifiques à synchroniser ou pour ajouter des conditions WHERE pour le filtrage des données. Consultez les pages Mapper les noms d'objets et Utiliser des conditions SQL pour filtrer les données. Le renommage d'un objet avec le mappage des noms d'objets peut empêcher la synchronisation des objets dépendants.

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

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

Paramètre Description
Monitoring and Alerting Activez l'alerte pour recevoir des notifications en cas d'échec de la tâche ou lorsque la latence de synchronisation dépasse un seuil. Définissez le seuil d'alerte et les destinataires des notifications. Consultez la page Configurer la surveillance et les alertes lors de la création d'une tâche DTS.
Retry Time for Failed Connections Durée pendant laquelle DTS tente de reconnecter les connexions échouées après le démarrage de la tâche. Plage : 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. DTS facture l'instance pendant les tentatives. Si plusieurs tâches partagent la même base de données source ou de destination, le temps de retry le plus court s'applique.
Retry Time for Other Issues Durée pendant laquelle DTS tente de réexécuter les opérations DDL ou DML ayant échoué. Plage : 1–1 440 minutes. Par défaut : 10 minutes. Définissez une valeur supérieure à 10 minutes. Cette valeur doit être inférieure à Retry Time for Failed Connections.
Enable Throttling for Full Data Migration Limitez les requêtes par seconde (QPS) vers la base de données source, les RPS de la migration complète des données et la vitesse de migration des données (Mo/s) pour réduire la charge sur le serveur de destination. Disponible uniquement lorsque Full Data Synchronization est sélectionné.
Enable Throttling for Incremental Data Synchronization Limitez les RPS et la vitesse de synchronisation des données (Mo/s) pour la synchronisation incrémentielle afin de réduire la charge sur le serveur de destination.
Environment Tag Tag pour identifier l'instance DTS. Facultatif.
Configure ETL Activez la fonctionnalité extract, transform, and load (ETL) pour traiter les données pendant la synchronisation. Saisissez les instructions de traitement des données dans l'éditeur de code. Consultez les pages Qu'est-ce que l'ETL ? et Configurer l'ETL dans une tâche de migration ou de synchronisation de données.

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

Cliquez sur Next: Save Task Settings and Precheck.

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

Remarque

DTS exécute une prévérification avant que la tâche ne puisse démarrer. Si la prévérification échoue, cliquez sur View Details à côté de chaque élément ayant échoué, résolvez les problèmes, puis relancez la prévérification. Si un élément d'alerte peut être ignoré, cliquez sur Confirm Alert Details > Ignore > OK, puis cliquez sur Precheck Again. Ignorer les éléments d'alerte peut entraîner une incohérence des données.

Étape 8 : Attendre la réussite de la prévérification

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

Étape 9 : Acheter une instance de synchronisation

Sur la page buy, configurez les éléments suivants :

Paramètre Description
Billing Method Subscription : payez à l'avance pour une durée déterminée ; plus rentable pour une utilisation à long terme. Pay-as-you-go : facturé à l'heure ; adapté à une utilisation à court terme. Libérez l'instance lorsqu'elle n'est plus nécessaire pour arrêter les frais.
Resource Group Settings Groupe de ressources pour l'instance de synchronisation. Par défaut, le groupe de ressources par défaut. Consultez la page Qu'est-ce que Resource Management ?
Instance Class Détermine la vitesse de synchronisation. Consultez la page Classes d'instances des instances de synchronisation de données.
Subscription Duration Disponible uniquement avec la méthode de facturation Subscription. Options : 1–9 mois, ou 1, 2, 3 ou 5 ans.

Étape 10 : Accepter les conditions de service

Lisez et sélectionnez Data Transmission Service (Pay-as-you-go) Service Terms.

Étape 11 : Démarrer la tâche

Cliquez sur Buy and Start. Dans la boîte de dialogue, cliquez sur OK.

Suivez la progression dans la liste des tâches.