Data Transmission Service (DTS) permet de synchroniser des données d'une instance PolarDB-X 2,0 vers une instance PolarDB-X 1,0, en prenant en charge la synchronisation complète et incrémentielle des données.
Cette fonctionnalité est en version bêta et n'est disponible que pour certains utilisateurs.
Cette rubrique explique comment :
Consulter les prérequis et les limites avant de commencer
Accorder les autorisations requises aux comptes de base de données
Configurer une tâche de synchronisation DTS
Exécuter une vérification préalable et acheter l'instance de synchronisation
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Une instance PolarDB-X 1,0 de destination dont l'espace de stockage est supérieur au volume de données à synchroniser depuis l'instance PolarDB-X 2,0 source. Consultez les pages Créer une instance PolarDB-X 1,0 et .
Une base de données et des tables créées dans l'instance de destination pour recevoir les données synchronisées. Consultez les pages Créer une base de données et Effectuer des opérations SQL de base.
Assurez-vous que les noms des bases de données et des tables de l'instance de destination correspondent à ceux de l'instance PolarDB-X 2,0 source. Si les noms diffèrent, utilisez la fonctionnalité de mappage des noms d'objets dans la zone Selected Objects sur la page Configure Objects lors de la configuration de la tâche.
Facturation
| Type de synchronisation | Frais |
|---|---|
| Synchronisation complète des données | Gratuit |
| Synchronisation incrémentielle des données | Payant. Consultez la page Présentation de la facturation. |
Limites
Limites de la base de données source
Bande passante : 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 synchronisation.
Instances en lecture seule : Les instances en lecture seule de PolarDB-X 2,0 Enterprise Edition ne peuvent pas servir de source.
-
Restrictions de nommage des tables :
Les tables dont les noms contiennent des lettres majuscules ne peuvent pas être synchronisées.
Les tables dont les noms sont des mots réservés (par exemple,
select) ne peuvent pas être synchronisées.Les objets
TABLEGROUPet les bases de données ou schémas contenant l'attributLocalityne sont pas pris en charge.
Clé primaire requise : Les tables doivent comporter des contraintes
PRIMARY KEYouUNIQUEgarantissant l'unicité de tous les champs. Dans le cas contraire, des enregistrements en double peuvent apparaître dans la base de données de destination.Limite du nombre de tables : Si vous sélectionnez des tables comme objets de synchronisation et devez renommer des tables ou des colonnes dans la destination, une seule tâche prend en charge jusqu'à 5 000 tables. Les tâches dépassant cette limite renvoient une erreur de requête. Répartissez le travail sur plusieurs tâches ou synchronisez au niveau de la base de données.
Paramètres Binlog : La journalisation binaire est activée par défaut sur PolarDB-X 2,0. Définissez le paramètre
binlog_row_imagesurfull. Si ce paramètre n'est pas défini surfull, la vérification préalable échoue et la tâche ne peut pas démarrer. Consultez la page Paramètres.-
Opérations DDL pendant la synchronisation complète : N'exécutez pas d'opérations DDL modifiant le schéma de la base de données ou des tables pendant la synchronisation complète des données. Les opérations DDL peuvent entraîner l'échec de la tâche.
Pendant la synchronisation complète des données, DTS interroge la base de données source. Cela crée des verrous de métadonnées qui peuvent bloquer les opérations DDL dans la base de données source.
Modifications du réseau : Si la configuration réseau de l'instance PolarDB-X 2,0 change, l'instance de synchronisation peut connaître une latence temporaire.
Autres limites
-
Latence du heartbeat : DTS exécute périodiquement
CREATE DATABASE IF NOT EXISTS \sur la base de données source pour écrire des données de heartbeat et avancer le décalage Binlog. Si l'option Whether to delete SQL operations on heartbeat tables of forward and reverse tasks est définie sur Yes (ou si le compte de base de données utilisé par l'instance de synchronisation ne dispose pas de l'autorisation de créer des bases de données), et qu'aucune opération DML n'est exécutée sur la base de données source pendant une période prolongée, la latence affichée peut être inexacte.Pour actualiser la latence, exécutez une opération DML sur la base de données source.
Charge de la base de données pendant la synchronisation complète : La synchronisation complète des données consomme des ressources en lecture et en écriture sur les bases de données source et de destination. Évaluez les performances de la base de données avant de commencer et exécutez la synchronisation pendant les heures creuses, lorsque la charge CPU des deux bases de données est inférieure à 30 %.
Fragmentation du stockage : Lors de l'initialisation complète, DTS exécute des opérations INSERT simultanées, ce qui peut provoquer une fragmentation des tables dans la base de données de destination. Une fois l'initialisation complète terminée, l'espace de stockage utilisé par les tables de destination est supérieur à celui utilisé par les tables source.
Écritures externes : Si des données sont écrites dans la base de données de destination à partir de sources autres que DTS pendant l'exécution de l'instance de synchronisation, une incohérence des données peut survenir entre les bases de données source et de destination, et l'instance de synchronisation peut échouer.
-
Récupération d'instance : En cas de défaillance d'une instance, l'équipe d'assistance DTS tentera de la récupérer dans un délai de 8 heures. La récupération peut impliquer le redémarrage de l'instance ou l'ajustement des paramètres.
Seuls les paramètres de l'instance DTS sont modifiés lors de la récupération. Les paramètres de la base de données ne sont pas modifiés. Pour obtenir la liste des paramètres susceptibles d'être modifiés, consultez la page Modifier les paramètres d'instance .
Opérations SQL prises en charge pour la synchronisation incrémentielle
| Type d'opération | Instructions SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | CREATE TABLE, RENAME TABLE, ALTER TABLE, TRUNCATE TABLE, DROP TABLE, CREATE INDEX, DROP INDEX |
Notes sur la synchronisation DDL :
Seules les opérations CREATE TABLE pour des tables uniques sont prises en charge. L'opération CREATE TABLE pour les bases de données et tables fragmentées n'est pas prise en charge.
Si la source est une instance PolarDB-X 2,0 Enterprise Edition, les opérations CREATE INDEX ne peuvent pas être synchronisées.
L'opération RENAME TABLE peut provoquer une incohérence des données. Si vous sélectionnez une table comme objet de synchronisation et la renommez pendant la synchronisation, les données de cette table cessent d'être synchronisées vers la destination. Pour éviter cela, ajoutez la base de données contenant la table à la liste des objets de synchronisation — incluez à la fois la base de données avant et après le renommage.
Autorisations requises pour les comptes de base de données
| Base de données | Autorisations requises | Référence |
|---|---|---|
| Instance PolarDB-X 2,0 source | REPLICATION SLAVE, REPLICATION CLIENT et SELECT sur les objets à synchroniser | Gérer les comptes de base de données et Problèmes d'autorisations de compte lors de la synchronisation des données |
| Instance PolarDB-X 1,0 de destination | Autorisations en lecture et en écriture | Gérer les comptes de base de données |
Créer une tâche de synchronisation
Étape 1 : Accéder à la page Data Synchronization
Utilisez l'une des méthodes suivantes pour ouvrir la page Data Synchronization.
Console DTS
Connectez-vous à la console DTS.
Dans le volet de navigation de gauche, cliquez sur Data Synchronization.
Dans le coin supérieur gauche, sélectionnez la région où réside la tâche de synchronisation.
Console DMS
Les étapes ci-dessous peuvent varier selon le mode et la disposition de votre console DMS. Consultez les pages Mode simple et Personnaliser la disposition et le style de la console DMS.
Connectez-vous à la console DMS.
Dans la barre de navigation supérieure, placez le pointeur sur Data + AI et choisissez DTS (DTS) > Data Synchronization.
Dans la liste déroulante à côté de Data Synchronization Tasks, sélectionnez la région où réside l'instance de synchronisation.
Étape 2 : Configurer les bases de données source et de destination
Cliquez sur Create Task pour ouvrir la page de configuration de la tâche.
Configurez les bases de données source et de destination à l'aide des paramètres ci-dessous.
Base de données source
| Paramètre | Description |
|---|---|
| Task Name | Nom de la tâche DTS. DTS génère automatiquement un nom. Spécifiez un nom descriptif pour faciliter l'identification de la tâche. Le nom n'a pas besoin d'être unique. |
| Select Existing Connection | Si vous disposez d'une instance de base de données enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante. DTS remplit automatiquement les paramètres de connexion. Si vous n'utilisez pas d'instance enregistrée, saisissez manuellement les détails de connexion. Dans la console DMS, sélectionnez dans la liste déroulante Select a DMS database instance. |
| Database Type | Sélectionnez PolarDB-X 2.0. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | Sélectionnez la région où réside l'instance PolarDB-X 2,0 source. |
| Replicate Data Across Alibaba Cloud Accounts | Sélectionnez No pour utiliser une instance dans le compte Alibaba Cloud actuel. |
| Instance ID | Sélectionnez l'ID de l'instance PolarDB-X 2,0 source. |
| Database Account | Saisissez le compte de base de données pour l'instance source. Pour connaître les exigences en matière d'autorisations, consultez la section Autorisations requises pour les comptes de base de données. |
| Database Password | Saisissez le mot de passe du compte de base de données. |
Base de données de destination
| Paramètre | Description |
|---|---|
| Select Existing Connection | Si vous disposez d'une instance de base de données enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante. DTS remplit automatiquement les paramètres de connexion. Si vous n'utilisez pas d'instance enregistrée, saisissez manuellement les détails de connexion. Dans la console DMS, sélectionnez dans la liste déroulante Select a DMS database instance. |
| Database Type | Sélectionnez PolarDB-X 1.0. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | Sélectionnez la région où réside l'instance PolarDB-X 1,0 de destination. |
| Instance ID | Sélectionnez l'ID de l'instance PolarDB-X 1,0 de destination. |
| Database Account | Saisissez le compte de base de données pour l'instance de destination. Pour connaître les exigences en matière d'autorisations, consultez la section Autorisations requises pour les comptes de base de données. |
| Database Password | Saisissez le mot de passe du compte de base de données. |
Cliquez sur Test Connectivity and Proceed.
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 page Ajouter les adresses IP des serveurs DTS à une liste blanche .
Étape 3 : Configurer les objets de synchronisation
Sur la page Configure Objects, configurez les paramètres suivants.
| Paramètre | Description |
|---|---|
| Synchronization Types | Incremental Data Synchronization est sélectionné par défaut. Pour synchroniser également les données existantes, ajoutez Full Data Synchronization. Schema Synchronization n'est pas disponible pour cette paire source-destination. Lorsque la synchronisation complète des données est activée, DTS copie les données historiques de la source vers la destination comme référence pour la synchronisation incrémentielle ultérieure. |
| Incremental CDC Type | Sélectionnez un type Change Data Capture (CDC) en fonction du moteur de journaux de l'instance PolarDB-X 2,0. Multi-stream CDC nécessite que le multi-stream soit activé sur l'instance source. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors (par défaut) : DTS vérifie si la base de données de destination contient des tables portant les mêmes noms que celles de la source. Si des noms en double existent, la vérification préalable échoue et la tâche ne peut pas démarrer. Pour gérer les noms en double sans bloquer la tâche, utilisez la fonctionnalité de mappage des noms d'objets pour renommer les tables de destination. Consultez la page Mapper les noms d'objets. Ignore Errors and Proceed : ignore la vérification des noms en double. Pendant la synchronisation complète des données, les enregistrements existants dans la destination sont conservés s'ils partagent une valeur de clé primaire ou de clé unique avec un enregistrement source. Pendant la synchronisation incrémentielle des données, les enregistrements source écrasent les enregistrements de destination correspondants. Si la source et la destination ont des schémas différents, l'initialisation peut échouer ou seules certaines colonnes peuvent être synchronisées. |
|
Capitalization of Object Names in Destination Instance
|
Vous pouvez configurer la politique de sensibilité à la casse pour les noms d'objets de base de données, de tables et de colonnes synchronisés vers l'instance de destination. Par défaut, la DTS default policy est sélectionnée. Vous pouvez également choisir d'utiliser les politiques par défaut des bases de données source et de destination. Pour plus d'informations, consultez la page Politique de sensibilité à la casse pour les noms d'objets de destination.
|
|
Source Objects |
Sélectionnez un ou plusieurs objets et cliquez sur l'icône de flèche droite pour les ajouter à Selected Objects. Sélectionnez des bases de données ou des tables comme objets à synchroniser. |
|
Selected Objects |
Pour renommer un objet de synchronisation ou le mapper vers un objet de destination différent, cliquez dessus avec le bouton droit de la souris et configurez le mappage des noms d'objets. Consultez la page Mapper les noms d'objets. Pour supprimer un objet, cliquez dessus, puis sur l'icône de suppression. Pour filtrer les lignes, cliquez avec le bouton droit de la souris sur une table et spécifiez les conditions WHERE. Consultez la page Spécifier les conditions de filtre. Pour sélectionner les opérations SQL à synchroniser de manière incrémentielle, cliquez avec le bouton droit de la souris sur un objet et sélectionnez les opérations. |
Le renommage d'un objet de synchronisation peut entraîner l'échec de la synchronisation d'autres objets qui en dépendent.
Étape 4 : Configurer les paramètres avancés
Cliquez sur Next: Advanced Settings et configurez les paramètres suivants.
| Paramètre | Description |
|---|---|
| Dedicated Cluster for Task Scheduling | Par défaut, DTS planifie les tâches sur un cluster partagé. Pour une stabilité accrue, achetez un cluster dédié. Consultez la page Qu'est-ce qu'un cluster dédié DTS ?. |
| Retry Time for Failed Connections | Durée pendant laquelle DTS réessaie une connexion échouée avant l'échec de la tâche. Valeurs valides : 10–1440 minutes. Valeur par défaut : 720. Nous vous recommandons de définir une valeur supérieure à 30. Si DTS se reconnecte dans la fenêtre spécifiée, la tâche reprend. Sinon, la tâche échoue. Si plusieurs tâches partagent la même base de données source ou de destination, la fenêtre de nouvelle tentative la plus courte s'applique à toutes. |
| Retry Time for Other Issues | Durée pendant laquelle DTS réessaie les opérations DDL ou DML échouées avant l'échec de la tâche. Valeurs valides : 1–1440 minutes. Valeur par défaut : 10. Nous vous recommandons de définir une valeur supérieure à 10. Cette valeur doit être inférieure à la valeur de Retry Time for Failed Connections. |
| Enable Throttling for Full Data Synchronization | Limite l'utilisation des ressources pendant la synchronisation complète des données. Configurez Queries per second (QPS) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s) pour réduire la charge sur la base de données de destination. Disponible uniquement lorsque Full Data Synchronization est sélectionné. |
| Enable Throttling for Incremental Data Synchronization | Limite l'utilisation des ressources pendant la synchronisation incrémentielle des données. Configurez 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 | Contrôle si DTS écrit des opérations SQL de heartbeat dans la base de données source. Yes : DTS n'écrit pas d'opérations de heartbeat. Les informations de latence peuvent sembler élevées. No : DTS écrit des opérations de heartbeat. Cela peut affecter des fonctionnalités telles que la sauvegarde physique et le clonage de base de données. |
| Environment Tag | (Facultatif) Attribuez un tag pour identifier l'environnement de l'instance. |
| Monitoring and Alerting | No : alertes désactivées. Yes : active les alertes. Spécifiez un 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. |
Lorsque DTS réessaie une connexion, vous êtes facturé pour l'instance de synchronisation pendant la période de nouvelle tentative. Libérez rapidement l'instance si les instances source et de destination ne sont plus nécessaires.
Étape 5 : Configurer la vérification des données
Cliquez sur Next Step: Data Verification pour configurer la vérification des données. Consultez la page Configurer une tâche de vérification des données.
Étape 6 : Exécuter la vérification préalable et enregistrer la tâche
Cliquez sur Next: Save Task Settings and Precheck.
Pour prévisualiser les paramètres API permettant de configurer cette tâche par programmation, placez le pointeur sur Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters .
DTS exécute une vérification préalable avant que la tâche ne puisse démarrer. Si un élément échoue :
Cliquez sur View Details à côté de l'élément ayant échoué.
Corrigez le problème en fonction des résultats de la vérification.
Cliquez sur Precheck Again.
Si une alerte est déclenchée :
Pour une alerte qui ne peut pas être ignorée, cliquez sur View Details, corrigez le problème et relancez la vérification préalable.
Pour une alerte pouvant ê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.
Ignorer un élément d'alerte peut entraîner une incohérence des données et exposer votre activité à des risques potentiels.
Étape 7 : Acheter l'instance de synchronisation
Attendez que le Success Rate atteigne 100%, puis cliquez sur Next: Purchase Instance.
Sur la page d'achat, configurez les paramètres suivants.
| Paramètre | Description |
|---|---|
| Billing Method | Subscription : paiement anticipé pour une période déterminée. Plus rentable pour une utilisation à long terme. Pay-as-you-go : facturation horaire. Convient pour 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 page Qu'est-ce que Resource Management ? |
| Instance Class | Sélectionnez une classe d'instance en fonction de la vitesse de synchronisation requise. Consultez la page Classes d'instance des instances de synchronisation de données. |
| Subscription Duration | Disponible lorsque Subscription est sélectionné. Options : 1 à 9 mois, 1 an, 2 ans, 3 ans ou 5 ans. |
Lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.
Cliquez sur Buy and Start, puis sur OK dans la boîte de dialogue.
La tâche apparaît dans la liste des tâches. Surveillez sa progression à partir de là.
Étapes suivantes
Après le démarrage de la tâche de synchronisation :
Surveiller l'état de la tâche : Vérifiez régulièrement la liste des tâches pour détecter les pics de latence ou les erreurs.
Vérifier la cohérence des données : Une fois l'initialisation complète terminée, vérifiez que les données de destination correspondent à la source. Consultez la page Configurer une tâche de vérification des données.
Éviter d'écrire dans la destination depuis d'autres sources : Les écritures externes dans la base de données de destination pendant la synchronisation peuvent provoquer une incohérence des données ou l'échec de la tâche.