Utilisez Data Transmission Service (DTS) pour synchroniser les données incrémentielles d'une instance PolarDB-X 1.0 vers un projet DataHub afin de traiter et d'analyser les données en temps réel.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Activé une instance DataHub et créé un projet pour recevoir les données synchronisées. Consultez les rubriques Prise en main de DataHub et Gérer les projets.
Disposé d'un espace de stockage suffisant dans le projet DataHub de destination, supérieur à la taille totale des données de l'instance PolarDB-X 1.0 source.
Limites
DTS ne synchronise pas les clés étrangères de la base de données source vers la base de données de destination. Les opérations en cascade et les suppressions effectuées sur la source ne sont pas propagées vers la destination.
Types de synchronisation pris en charge
Seules la synchronisation des données incrémentielles et la synchronisation du schéma sont prises en charge. La synchronisation complète des données n'est pas disponible.
Seules les tables peuvent être sélectionnées comme objets de synchronisation. Une fois la tâche démarrée, DTS ne synchronise pas les colonnes ajoutées à la base de données source vers le projet DataHub de destination.
Contraintes de la base de données source
Les tables doivent comporter une clé primaire ou des contraintes UNIQUE, et tous les champs doivent être uniques. Les tables dotées uniquement de contraintes UNIQUE ne prennent pas en charge la synchronisation du schéma ; utilisez des tables avec des contraintes de clé primaire. Les tables comportant des index secondaires ne peuvent pas être synchronisées.
Si vous sélectionnez des tables comme objets de synchronisation et souhaitez renommer des tables ou des colonnes dans la destination, une seule tâche prend en charge jusqu'à 5 000 tables. Pour plus de 5 000 tables, configurez plusieurs tâches ou synchronisez la base de données entière.
Le type de stockage de l'instance PolarDB-X 1.0 doit être ApsaraDB RDS for MySQL (instances personnalisées ou achetées). PolarDB for MySQL n'est pas pris en charge.
Les ressources de stockage de PolarDB-X 1.0 prennent uniquement en charge le partitionnement horizontal (bases de données et tables). Le partitionnement vertical n'est pas pris en charge.
Les instances en lecture seule au niveau de la couche de calcul de PolarDB-X 1.0 ne sont pas prises en charge.
Exigences relatives aux journaux binaires
Les exigences suivantes s'appliquent aux journaux binaires des instances ApsaraDB RDS for MySQL attachées à l'instance PolarDB-X 1.0 :
La journalisation binaire doit être activée et le paramètre
binlog_row_imagedoit être défini surfull. Dans le cas contraire, la prévérification échoue et la tâche ne peut pas démarrer.Pour la synchronisation des données incrémentielles, les journaux binaires doivent être conservés pendant au moins 24 heures.
Pour la synchronisation complète et incrémentielle des données, les journaux binaires doivent être conservés pendant au moins sept jours.
Si les journaux binaires ne sont pas conservés pendant la durée requise, DTS risque de ne pas pouvoir les récupérer, ce qui peut entraîner l'échec de la tâche ou une perte de données. Une fois la synchronisation complète des données terminée, vous pouvez réduire la période de rétention à plus de 24 heures. Assurez-vous de définir la période de rétention des journaux binaires conformément aux exigences précédentes. À défaut, la fiabilité et les performances du service stipulées dans l'accord de niveau de service (SLA) de DTS ne pourront pas être garanties.
Restrictions opérationnelles
Pendant la synchronisation des données :
Ne modifiez pas l'échelle de l'instance source (y compris les instances ApsaraDB RDS for MySQL attachées) et ne changez pas la distribution des bases de données physiques pour les bases de données ou les tables logiques.
Ne migrez pas les tables fréquemment accédées, ne modifiez pas les clés de partitionnement et n'effectuez pas d'opérations DDL en ligne sur l'instance source. Ces actions entraîneraient l'échec de la tâche ou une incohérence des données.
N'utilisez pas gh-ost ni pt-online-schema-change pour effectuer des opérations DDL sur les objets synchronisés.
Écrivez les données dans la base de données de destination uniquement via DTS. L'utilisation d'autres outils pour écrire dans la destination peut provoquer une incohérence des données, et une perte de données peut survenir lorsque DMS effectue des opérations DDL en ligne.
Si vous modifiez le type de réseau de l'instance PolarDB-X 1.0 pendant la synchronisation, mettez à jour les informations de connexion réseau dans la configuration de la tâche par la suite.
Avant de synchroniser les données, évaluez l'impact de cette opération sur les performances des bases de données source et de destination. Nous vous recommandons de synchroniser les données pendant les heures creuses.
Facturation
| Type de synchronisation | Frais |
|---|---|
| Synchronisation du schéma et synchronisation complète des données | Gratuit |
| Synchronisation des données incrémentielles | Facturé. Pour plus de détails, consultez la rubrique Présentation de la facturation. |
Topologies de synchronisation prises en charge
DTS prend en charge les topologies de synchronisation unidirectionnelle suivantes pour ce scénario :
Un-à-un
Un-à-plusieurs
En cascade
Plusieurs-à-un
Pour la liste complète des topologies prises en charge, consultez la rubrique Topologies de synchronisation.
Opérations SQL pouvant être synchronisées
| Type d'opération | Instructions SQL |
|---|---|
| LMD (DML) | INSERT, UPDATE, DELETE |
| LDD (DDL) | ADD COLUMN |
Autorisations requises
| Base de données | Autorisation requise |
|---|---|
| Instance PolarDB-X 1.0 source | Autorisations de lecture sur les objets à synchroniser. Consultez la rubrique Gérer les comptes. |
Créer une tâche de synchronisation
Étape 1 : Accéder à la page Tâches de synchronisation des données
Connectez-vous à la console Data Management (DMS).
Dans la barre de navigation supérieure, cliquez sur Data + AI.
Dans le volet de navigation de gauche, choisissez DTS (DTS) > Data Synchronization.
Les étapes de navigation peuvent varier selon le mode et la disposition de la console DMS. Pour plus de détails, consultez les rubriques 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 : Configurer les bases de données source et de destination
-
Sélectionnez la région où réside l'instance de synchronisation des données.
Dans la nouvelle console DTS, sélectionnez plutôt la région dans la barre de navigation supérieure.
Cliquez sur Create Task. Dans l'assistant, configurez les paramètres suivants.
Paramètres de la tâche
| 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. |
Base de données source
| Paramètre | Description |
|---|---|
| Select a DMS database instance | Sélectionnez une instance de base de données existante pour remplir automatiquement les paramètres, ou configurez la base de données manuellement. |
| Database Type | Sélectionnez PolarDB-X 1.0. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | Région où réside l'instance PolarDB-X 1.0 source. |
| Replicate Data Across Alibaba Cloud Accounts | Sélectionnez No si la source et la destination se trouvent dans le même compte Alibaba Cloud. |
| Instance ID | ID de l'instance PolarDB-X 1.0 source. |
| Database Account | Compte de la base de données source. Consultez la section Autorisations requises pour connaître les autorisations nécessaires. |
| Database Password | Mot de passe du compte de la base de données. |
Base de données de destination
| Paramètre | Description |
|---|---|
| Select a DMS database instance | Sélectionnez une instance de base de données existante pour remplir automatiquement les paramètres, ou configurez la base de données manuellement. |
| Database Type | Sélectionnez DataHub. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | Région où réside le projet DataHub de destination. |
| Project | Nom du projet DataHub de destination. |
Étape 3 : Tester la connectivité et continuer
Cliquez sur Test Connectivity and Proceed.
DTS ajoute automatiquement ses blocs CIDR de serveur à la liste d'autorisation des instances de base de données Alibaba Cloud (telles que ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB). Pour les bases de données autogérées sur des instances Elastic Compute Service (ECS), DTS ajoute ses blocs CIDR aux règles du groupe de sécurité ECS ; assurez-vous que l'instance ECS peut atteindre la base de données. Pour les bases de données réparties sur plusieurs instances ECS, ajoutez manuellement les blocs CIDR de DTS aux règles du groupe de sécurité de chaque instance. Pour les bases de données locales ou hébergées sur un cloud tiers, ajoutez manuellement les blocs CIDR de DTS à la liste d'autorisation de la base de données. Pour la liste complète des blocs CIDR, consultez la rubrique Ajouter les blocs CIDR des serveurs DTS.
L'ajout des blocs CIDR de DTS aux listes d'autorisation de bases de données ou aux groupes de sécurité ECS présente des risques de sécurité. Avant d'utiliser DTS, prenez des mesures préventives telles que : utiliser des identifiants robustes, limiter les ports exposés, authentifier les appels API, examiner régulièrement les listes d'autorisation et les règles des groupes de sécurité, et connecter DTS à votre base de données via Express Connect, VPN Gateway ou Smart Access Gateway.
Étape 4 : Configurer les objets et les paramètres
Paramètres de base
| Paramètre | Description |
|---|---|
| Synchronization Types | Synchronisation des données incrémentielles est sélectionné par défaut. Vous pouvez également sélectionner uniquement Schema Synchronization. Synchronisation complète des données n'est pas disponible pour cette combinaison source-destination. Lors de la synchronisation du schéma, DTS synchronise les schémas des objets sélectionnés (tels que les tables) vers le projet DataHub de destination. |
| Processing Mode of Conflicting Tables | Vérifier et signaler les erreurs (par défaut) : vérifie si la destination contient des tables portant les mêmes noms que celles de la source. Si des noms identiques existent, la vérification échoue et la tâche ne peut pas démarrer. Pour gérer les conflits, utilisez la fonctionnalité de mappage des noms d'objets pour renommer les tables dans la destination. Consultez la rubrique Mapper les noms d'objets. Ignorer les erreurs et continuer : ignore la vérification des noms de tables identiques. Avertissement La sélection de cette option peut entraîner une incohérence des données. Si les schémas correspondent et qu'un enregistrement avec la même clé primaire ou clé unique existe dans la destination : lors de la synchronisation complète, l'enregistrement de destination est conservé ; lors de la synchronisation incrémentielle, l'enregistrement de destination est écrasé. Si les schémas diffèrent, l'initialisation peut échouer ou seules certaines colonnes peuvent être synchronisées. |
| Naming Rules of Additional Columns | Lors de la synchronisation vers un projet DataHub, DTS ajoute des colonnes supplémentaires au sujet de destination. Si ces noms de colonnes entrent en conflit avec les colonnes existantes du sujet, la synchronisation échoue. Définissez ce paramètre sur New Rule ou Previous Rule selon vos besoins. Avant de modifier ce paramètre, vérifiez que les colonnes supplémentaires et les colonnes existantes n'ont pas de conflits de noms. Consultez la rubrique Modifier les règles de dénomination des colonnes supplémentaires. |
| Capitalization of Object Names in Destination Instance | Politique de mise en majuscule pour les noms de bases de données, de tables et de colonnes dans la destination. Par défaut : Stratégie par défaut de DTS. Consultez la rubrique Spécifier la mise en majuscule des noms d'objets dans l'instance de destination. |
| Source Objects | Sélectionnez un ou plusieurs objets et cliquez sur |
| Selected Objects | Pour renommer un seul objet dans la destination, faites un clic droit dessus. Pour renommer plusieurs objets à la fois, cliquez sur Batch Edit en haut à droite. Pour plus de détails, consultez la rubrique Mapper les noms d'objets. Pour filtrer les lignes à l'aide de conditions WHERE, faites un clic droit sur un objet et spécifiez les conditions. Consultez la rubrique Spécifier les conditions de filtrage. |
Paramètres avancés
| Paramètre | Description |
|---|---|
| Monitoring and Alerting | Configurez les alertes pour la tâche de synchronisation. Sélectionnez Yes pour définir les seuils d'alerte et les contacts de notification ; les alertes se déclenchent lorsque la tâche échoue ou lorsque la latence de synchronisation dépasse le seuil. Consultez la rubrique Configurer la surveillance et les alertes. Sélectionnez No pour désactiver les alertes. |
| Retry Time for Failed Connections | Durée pendant laquelle DTS tente de reconnecter les connexions ayant échoué après le démarrage de la tâche. Valeurs valides : 10–1440 minutes. Valeur par défaut : 720. Définissez cette valeur sur au moins 30 minutes. Si DTS se reconnecte dans ce délai, la tâche reprend ; sinon, la tâche échoue. Si plusieurs tâches partagent la même source ou la même destination, la fenêtre de nouvelle tentative la plus courte s'applique. La facturation DTS continue pendant les tentatives de reconnexion ; définissez donc cette valeur en fonction de vos besoins et libérez l'instance rapidement si elle n'est plus nécessaire. |
| Configure ETL | Sélectionnez Yes pour activer l'extraction, la transformation et le chargement (ETL) et saisissez les instructions de traitement des données dans l'éditeur de code. Sélectionnez No pour ignorer l'ETL. Consultez les rubriques Qu'est-ce que l'ETL ? et Configurer l'ETL dans une tâche de synchronisation des données. |
Étape 5 : Enregistrer les paramètres et exécuter la prévérification
Pour afficher un aperçu des paramètres OpenAPI pour cette configuration de tâche, placez le curseur sur Suivant : Enregistrer les paramètres de la tâche et prévérifier, puis cliquez sur Preview OpenAPI parameters.
Cliquez sur Next: Save Task Settings and Precheck.
DTS exécute une prévérification avant que la tâche 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 une alerte de prévérification peut être ignorée, 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 6 : Acheter l'instance de synchronisation
Attendez que le Taux de réussite atteigne 100%, puis cliquez sur Next: Purchase Instance.
Sur la page d'achat, configurez les paramètres suivants.
| Paramètre | Description |
|---|---|
| Billing Method | Abonnement : payez à l'avance pour une durée fixe. Plus économique pour une utilisation à long terme. Paiement à l'utilisation : 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 | Détermine la vitesse de synchronisation. Consultez la rubrique Classes d'instance des instances de synchronisation des données. |
| Subscription Duration | Disponible uniquement pour la méthode de facturation Abonnement. Options : 1–9 mois, ou 1, 2, 3 ou 5 ans. |
Lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.
Cliquez sur Buy and Start, puis cliquez sur OK dans la boîte de dialogue de confirmation.
La tâche apparaît dans la liste des tâches. Lorsque DTS synchronise les données d'une instance PolarDB-X 1.0, les données sont distribuées sur les instances ApsaraDB RDS for MySQL attachées, et DTS exécute une sous-tâche pour chaque instance. Affichez l'état d'exécution de chaque sous-tâche dans Topologie des tâches.
Étapes suivantes
Surveillez la tâche de synchronisation depuis la liste des tâches pour confirmer qu'elle s'exécute comme prévu.
Pour afficher et gérer les données synchronisées dans le projet DataHub de destination, consultez la rubrique Gérer les projets.
Pour ajuster les paramètres d'alerte après le démarrage de la tâche, consultez la rubrique Configurer la surveillance et les alertes.