Utilisez DTS pour migrer les données d'un cluster PolarDB for MySQL vers un cluster Kafka afin de mettre à l'échelle le traitement de vos messages.
Prérequis
-
Un cluster Kafka auto-géré ou une instance Message Queue for Apache Kafka a été créé en tant que destination.
RemarqueSi la destination est une instance Message Queue for Apache Kafka, assurez-vous qu'un topic a été créé pour recevoir les données migrées. Configurez ensuite l'instance comme un cluster Kafka auto-géré. Pour savoir comment créer un topic, consultez la rubrique Étape 1 : Créer un topic.
Pour connaître les versions sources et destinations prises en charge, consultez la rubrique Présentation des solutions de migration.
Le cluster Kafka de destination dispose d'un espace de stockage supérieur à celui utilisé par le cluster PolarDB for MySQL source.
Limites
DTS ne migre pas les clés étrangères. Par conséquent, les opérations en cascade, telles que la suppression en cascade dans la base de données source, ne sont pas répliquées dans la base de données de destination.
Type | Description |
Limites de la base de données source |
|
Autres limites |
|
Autres remarques |
|
Facturation
|
Type de migration |
Frais de configuration de l'instance |
Frais de trafic Internet |
|
Migration du schéma et migration complète des données |
Gratuit. |
Lorsque le paramètre Access Method de la base de données de destination est défini sur Public IP Address, des frais de trafic Internet vous sont facturés. Pour plus d'informations, consultez la rubrique Présentation de la facturation. |
|
Migration incrémentielle des données |
Facturé. Pour plus d'informations, consultez la rubrique Présentation de la facturation. |
Types de migration
-
Migration du schéma
DTS migre les définitions de schéma des objets de migration de la base de données source vers la base de données de destination.
-
Migration complète
DTS migre toutes les données historiques des objets de migration spécifiés de la base de données source vers la base de données de destination.
-
Migration incrémentielle
Une fois la migration complète terminée, DTS migre les mises à jour incrémentielles des données de la base de données source vers la base de données de destination. La migration incrémentielle vous permet de migrer les données en toute transparence sans interrompre vos applications auto-gérées.
Opérations SQL pour la migration incrémentielle
|
Type |
Instruction SQL |
|
DML |
INSERT, UPDATE et DELETE |
|
DDL |
CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE et TRUNCATE TABLE |
Autorisations requises pour les comptes de base de données
|
Base de données |
Exigences en matière d'autorisations |
Actions |
|
Cluster PolarDB for MySQL |
Autorisation de lecture sur les objets à migrer |
Procédure
-
Accédez à la page de liste des tâches de migration pour la région de destination en utilisant l'une des méthodes suivantes.
Depuis la console DTS
Connectez-vous à la console Data Transmission Service (DTS).
Dans le volet de navigation de gauche, cliquez sur Data Migration.
Dans le coin supérieur gauche de la page, sélectionnez la région où se trouve l'instance de migration.
Depuis la console DMS
RemarqueLes opérations réelles peuvent varier selon le mode et la disposition de la console DMS. Pour plus d'informations, consultez les rubriques Console en mode simple et Personnaliser la disposition et le style de la console DMS.
Connectez-vous à la console Data Management (DMS).
Dans la barre de menu supérieure, choisissez .
À droite de Data Migration Tasks, sélectionnez la région où se trouve l'instance de migration.
Cliquez sur Create Task pour accéder à la page de configuration de la tâche.
-
Configurez les bases de données source et de destination.
Section
Paramètre
Description
S.O.
Task Name
DTS génère automatiquement un nom de tâche. Nous vous recommandons de spécifier un nom descriptif pour une identification facile. Le nom n'a pas besoin d'être unique.
Source Database
Select Existing Connection
Pour utiliser une instance de base de données qui a été ajoutée au système (créée ou enregistrée), sélectionnez l'instance de base de données souhaitée dans la liste déroulante. Les informations de base de données ci-dessous seront configurées automatiquement.
RemarqueDans la console DMS, ce paramètre est nommé Select a DMS database instance..
Si vous n'avez pas enregistré l'instance de base de données auprès du système ou si vous n'avez pas besoin d'utiliser une instance enregistrée, configurez manuellement les informations de base de données ci-dessous.
Database Type
Sélectionnez PolarDB for MySQL.
Access Method
Sélectionnez Alibaba Cloud Instance.
Instance Region
Sélectionnez la région où se trouve le cluster PolarDB for MySQL source.
Cross-account
Sélectionnez No pour migrer les données au sein du même compte Alibaba Cloud.
PolarDB Cluster ID
Sélectionnez l'ID du cluster du cluster PolarDB for MySQL source.
Database Account
Saisissez le compte de base de données pour le cluster PolarDB for MySQL source. Pour plus d'informations sur les autorisations requises, 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.
Encryption
Sélectionnez un type de connexion selon vos besoins. Pour plus d'informations sur la fonctionnalité de chiffrement SSL, consultez la rubrique Activer le chiffrement SSL.
Destination Database
Select Existing Connection
Pour utiliser une instance de base de données qui a été ajoutée au système (créée ou enregistrée), sélectionnez l'instance de base de données souhaitée dans la liste déroulante. Les informations de base de données ci-dessous seront configurées automatiquement.
RemarqueDans la console DMS, ce paramètre est nommé Select a DMS database instance..
Si vous n'avez pas enregistré l'instance de base de données auprès du système ou si vous n'avez pas besoin d'utiliser une instance enregistrée, configurez manuellement les informations de base de données ci-dessous.
Database Type
Sélectionnez Kafka.
Access Method
Sélectionnez un type de connexion en fonction de l'emplacement de déploiement de l'instance de destination. Cet exemple utilise Self-managed Database on ECS.
RemarqueSi la destination est une base de données auto-gérée, vous devez également remplir des prérequis supplémentaires. Pour plus d'informations, consultez la rubrique Aperçu de la préparation.
Instance Region
Sélectionnez la région où se trouve le cluster Kafka de destination.
ECS Instance ID
Sélectionnez l'ID de l'instance ECS sur laquelle le cluster Kafka de destination est déployé.
Port Number
Saisissez le port de service du cluster Kafka de destination. Le port par défaut est 9092.
Database Account
Saisissez le nom d'utilisateur du cluster Kafka. Laissez ce champ vide si l'authentification n'est pas activée.
Database Password
Saisissez le mot de passe du nom d'utilisateur du cluster Kafka. Laissez ce champ vide si l'authentification n'est pas activée.
Kafka Version
Sélectionnez la version de votre cluster Kafka.
RemarqueSi votre cluster Kafka auto-géré est en version 1.0 ou ultérieure, définissez le paramètre Kafka Version sur Later Than 1.0.
Connection Method
Sélectionnez Non-encrypted ou SCRAM-SHA-256 en fonction de vos exigences métier et de sécurité.
Topic
Sélectionnez le topic pour recevoir les données dans la liste déroulante.
Use Kafka Schema Registry
Kafka Schema Registry fournit une interface RESTful pour stocker et récupérer les schémas Avro.
No : N'utilisez pas Kafka Schema Registry.
Yes : Utilisez Kafka Schema Registry. Vous devez saisir l'URL ou l'adresse IP où le schéma Avro est enregistré dans Kafka Schema Registry.
-
Une fois la configuration terminée, cliquez sur Test Connectivity and Proceed en bas de la page.
RemarqueAssurez-vous que le segment d'adresses IP du service DTS est ajouté automatiquement ou manuellement aux paramètres de sécurité des bases de données source et de destination pour autoriser l'accès depuis les serveurs DTS. Pour plus d'informations, consultez la rubrique Ajouter les adresses IP des serveurs DTS à une liste d'autorisation.
Si la base de données source ou de destination est une base de données auto-gérée (le paramètre Access Method n'est pas défini sur Alibaba Cloud Instance), vous devez également cliquer sur Test Connectivity dans la boîte de dialogue CIDR Blocks of DTS Servers qui s'affiche.
-
Configurez les objets de la tâche.
-
Sur la page Configure Objects, configurez les objets que vous souhaitez migrer.
Parameter
Description
Migration Types
Pour une migration complète des données uniquement, sélectionnez à la fois Schema Migration et Full Data Migration.
Pour une migration avec un temps d'arrêt minimal, sélectionnez Schema Migration, Full Data Migration et Incremental Data Migration.
RemarqueSchema Migration n'est pas pris en charge lorsque la Access Method de l'instance Kafka de destination est définie sur Alibaba Cloud Instance.
Si vous ne sélectionnez pas Schema Migration, assurez-vous que la base de données de destination contient les bases de données et les tables nécessaires pour recevoir les données. Vous devrez peut-être également utiliser la fonctionnalité de mappage des noms d'objets dans la zone Selected Objects.
Pour garantir la cohérence des données, si vous ne sélectionnez pas Incremental Data Migration, n'écrivez pas de nouvelles données dans l'instance source pendant la migration des données.
Processing Mode for Existing Destination Tables
Precheck and Report Errors : vérifie l'existence de tables portant les mêmes noms dans la base de données de destination. Si aucune table portant le même nom n'existe, la prévérification est réussie. Si des tables portant les mêmes noms existent, une erreur est signalée lors de la prévérification et la tâche de migration des données ne démarre pas.
RemarqueSi une table de la base de données de destination porte le même nom mais ne peut pas être facilement supprimée ou renommée, vous pouvez modifier le nom de la table dans la base de données de destination. Pour plus d'informations, consultez la rubrique Object name mapping.
Ignore Errors and Proceed : ignore la vérification des tables portant les mêmes noms.
AvertissementLa sélection de l'option Ignore Errors and Proceed peut entraîner des incohérences de données et des risques commerciaux. Par exemple :
Si les schémas de table sont cohérents et qu'un enregistrement de la base de données de destination possède la même valeur de clé primaire qu'un enregistrement de la base de données source :
Lors de la migration complète, DTS conserve l'enregistrement dans la base de données de destination. L'enregistrement de la base de données source n'est pas migré.
Lors de la migration incrémentielle, DTS ne conserve pas l'enregistrement dans la base de données de destination. L'enregistrement de la base de données source écrase l'enregistrement de la base de données de destination.
Si les schémas de table sont incohérents, seules certaines colonnes de données peuvent être migrées ou la migration peut échouer. Procédez avec prudence.
Data Format in Kafka
Sélectionnez le format de données pour le stockage des données dans l'instance Kafka.
Si vous sélectionnez DTS Avro, vous devez analyser les données en fonction de la définition du schéma DTS Avro. Pour plus d'informations, consultez les rubriques DTS Avro schema definition et DTS Avro deserialization example.
Si vous sélectionnez Canal JSON, consultez la rubrique Canal JSON format pour obtenir des descriptions de paramètres et des exemples.
Si vous sélectionnez Shareplex JSON, consultez la rubrique Shareplex JSON format pour obtenir des descriptions de paramètres et des exemples.
Kafka Data Compression Format
Sélectionnez un format de compression pour les messages Kafka en fonction de vos besoins.
LZ4 (par défaut) : faible taux de compression, vitesse de compression élevée.
GZIP : taux de compression élevé, vitesse de compression faible.
RemarqueConsommation CPU élevée.
Snappy : taux de compression moyen, vitesse de compression moyenne.
Policy for Shipping Data to Kafka Partitions
Sélectionnez une policy en fonction de vos besoins métier.
Message acknowledgement mechanism
Sélectionnez un message acknowledgment mechanism en fonction de vos besoins métier.
Topic That Stores DDL Information
Sélectionnez le topic pour le stockage des informations DDL.
RemarqueSi aucun topic n'est sélectionné, DTS stocke les informations DDL dans le topic de données par défaut.
Case Sensitivity Policy for Destination Object Names
Configurez la sensibilité à la casse des noms de bases de données, de tables et de colonnes migrés dans l'instance de destination. Par défaut, l'option DTS default policy est sélectionnée. Vous pouvez également choisir une politique cohérente avec la base de données source ou de destination. Pour plus d'informations, consultez la rubrique Case sensitivity of object names in the destination instance.
Source Objects
Sélectionnez un ou plusieurs objets dans la section Source Objects. Cliquez sur l'icône
et ajoutez les objets à la section Selected Objects. RemarqueVous pouvez sélectionner des objets à migrer au niveau de la table.
Selected Objects
Utilisez la fonctionnalité de mappage pour définir le nom du topic, le nombre de partitions et la clé de partition pour chaque table source dans l'instance Kafka de destination. Pour plus d'informations, consultez la section Map information.
RemarqueSi vous utilisez la fonctionnalité de mappage des noms d'objets, les autres objets qui dépendent de l'objet mappé peuvent ne pas être migrés.
Pour sélectionner les opérations SQL pour la migration incrémentielle, cliquez avec le bouton droit sur un objet de migration dans la zone Selected Objects et sélectionnez les opérations SQL souhaitées dans la boîte de dialogue qui s'affiche.
-
Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés.
Parameter
Description
Dedicated Cluster for Task Scheduling
Par défaut, DTS planifie les tâches sur un cluster partagé. Vous n'avez pas besoin d'en sélectionner un. Si vous souhaitez des tâches plus stables, vous pouvez acheter un dedicated cluster pour exécuter les tâches de migration DTS.
Retry Time for Failed Connections
Une fois la tâche de migration démarrée, si la connexion à la base de données source ou de destination échoue, DTS signale une erreur et tente immédiatement de rétablir la connexion. La durée de nouvelle tentative par défaut est de 720 minutes. Vous pouvez personnaliser la durée de nouvelle tentative entre 10 et 1 440 minutes. Nous vous recommandons de définir la durée sur plus de 30 minutes. Si DTS se reconnecte aux bases de données source et de destination dans le délai spécifié, la tâche de migration reprend automatiquement. Dans le cas contraire, la tâche échoue.
RemarquePour plusieurs instances DTS partageant la même source ou la même destination, la durée de nouvelle tentative réseau est déterminée par le paramètre de la dernière tâche créée.
Étant donné que vous êtes facturé pour la tâche pendant la période de nouvelle tentative de connexion, nous vous recommandons de personnaliser la durée de nouvelle tentative en fonction de vos besoins métier ou de libérer l'instance DTS dès que possible après la libération des instances de base de données source et de destination.
Retry Time for Other Issues
Une fois la tâche de migration démarrée, si un problème autre qu'un problème de connectivité, tel qu'une exception d'exécution DDL ou DML, se produit dans la base de données source ou de destination, DTS signale une erreur et tente immédiatement de relancer l'opération. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez personnaliser la durée de nouvelle tentative entre 1 et 1 440 minutes. Nous vous recommandons de définir la durée sur plus de 10 minutes. Si les opérations associées réussissent dans le délai de nouvelle tentative spécifié, la tâche de migration reprend automatiquement. Dans le cas contraire, la tâche échoue.
ImportantLa valeur de Retry Time for Other Issues doit être inférieure à la valeur de Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Lors de la migration complète, DTS consomme des ressources de lecture et d'écriture sur les bases de données source et de destination, ce qui peut augmenter la charge de la base de données. Si nécessaire, vous pouvez activer la limitation de débit pour la tâche de migration complète. Vous pouvez définir 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) afin de réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Full Data Migration pour Migration Types.
Vous pouvez également ajuster la vitesse de migration complète une fois l'instance de migration en cours d'exécution.
Enable Throttling for Incremental Data Migration
Si nécessaire, vous pouvez également choisir de définir des limites de vitesse pour la tâche de migration incrémentielle. Vous pouvez définir les paramètres RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s) afin de réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Incremental Data Migration pour Migration Types.
Vous pouvez également ajuster la vitesse de migration incrémentielle une fois l'instance de migration en cours d'exécution.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Choisissez d'écrire ou non les informations SQL de heartbeat dans la base de données source lorsque l'instance DTS est en cours d'exécution.
-
Yes : Les informations SQL de heartbeat ne sont pas écrites dans la base de données source. Cela peut entraîner un retard signalé par l'instance DTS.
-
No : Écrit les informations SQL de heartbeat dans la base de données source. Cela peut interférer avec des fonctionnalités telles que la sauvegarde physique et le clonage de la base de données source.
Environment Tag
Sélectionnez un tag d'environnement pour identifier l'instance. Ce paramètre est facultatif.
Configure ETL
En fonction de vos besoins métier, choisissez de configurer ou non la fonctionnalité ETL pour traiter les données.
Yes : Configure la fonctionnalité ETL. Vous devez également saisir des instructions de traitement des données dans la zone de texte.
No : Ne configure pas la fonctionnalité ETL.
Monitoring and Alerting
Choisissez de définir ou non des alertes et de recevoir des notifications d'alerte en fonction de vos besoins métier.
No : Ne définit pas d'alerte.
Yes : Configurez les alertes en définissant un seuil d'alerte et des notifications d'alerte. En cas d'échec de la migration ou si la latence dépasse le seuil, le système envoie une notification d'alerte.
-
-
Enregistrez la tâche et exécutez une prévérification.
Pour afficher les paramètres de configuration de cette instance lors de l'appel de l'opération API, placez le pointeur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans la bulle qui s'affiche.
Si vous n'avez pas besoin d'afficher les paramètres API ou si vous avez terminé leur consultation, cliquez sur Next: Save Task Settings and Precheck en bas de la page.
RemarqueAvant le démarrage de la tâche de migration, DTS effectue une prévérification. La tâche ne démarre qu'après avoir réussi la prévérification.
Si la prévérification échoue, cliquez sur View Details à côté de l'élément de vérification ayant échoué, corrigez le problème selon l'invite, puis exécutez à nouveau la prévérification.
-
Si un avertissement est signalé lors de la prévérification :
Pour les éléments de vérification qui ne peuvent pas être ignorés, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème selon l'invite, puis exécutez à nouveau la prévérification.
Pour les éléments de vérification qui peuvent être ignorés, vous pouvez cliquer sur Confirm Alert Details, Ignore, OK et Precheck Again pour ignorer l'élément d'avertissement et exécuter à nouveau la prévérification. Si vous choisissez d'ignorer un avertissement, cela peut entraîner des problèmes tels que des incohérences de données et présenter des risques pour votre activité.
-
Achetez l'instance.
Lorsque le Success Rate atteint 100 %, cliquez sur Next: Purchase Instance.
-
Sur la page Purchase, sélectionnez la spécification de lien pour l'instance de migration des données. Pour plus d'informations, consultez le tableau suivant.
Category
Parameter
Description
New Instance Class
Resource Group Settings
Sélectionnez le groupe de ressources auquel appartient l'instance. La valeur par défaut est le groupe de ressources par défaut. Pour plus d'informations, consultez la rubrique What is resource management?
Instance Class
DTS propose des spécifications de migration avec différents niveaux de performance. La spécification de lien affecte la vitesse de migration. Vous pouvez sélectionner une spécification en fonction de votre scénario métier. Pour plus d'informations, consultez la rubrique Data migration link specifications.
Une fois la configuration terminée, lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.
-
Cliquez sur Buy and Start. Dans la boîte de dialogue OK qui s'affiche, cliquez sur OK.
Vous pouvez consulter la progression de la tâche de migration sur la page de liste Data Migration Tasks.
RemarqueSi la tâche de migration n'inclut pas de migration incrémentielle, elle s'arrête automatiquement une fois la migration complète terminée. Une fois la tâche arrêtée, son Status passe à Completed.
Si la tâche de migration inclut une migration incrémentielle, elle ne s'arrête pas automatiquement. La tâche de migration incrémentielle continue de s'exécuter. Pendant l'exécution de la tâche de migration incrémentielle, le Status de la tâche est Running.
Dans la zone Selected Objects, placez le curseur sur le nom du topic de destination au niveau de la table.
Cliquez sur Edit à côté du nom du topic de destination.
-
Dans la boîte de dialogue Edit Table, configurez les informations de mappage.
RemarqueLa boîte de dialogue s'intitule Edit Schema au niveau de la base de données et Edit Table au niveau de la table. La boîte de dialogue Edit Schema contient moins de paramètres.
Si vous ne migrez pas l'intégralité de la base de données, vous ne pouvez pas modifier les paramètres Name of target Topic et Number of Partitions dans la boîte de dialogue Edit Schema.
Parameter
Description
Name of target Topic
Le nom du topic qui reçoit les données de la table source. Par défaut, il s'agit du Topic que vous avez sélectionné dans la section Destination Database lors de l'étape Configurations for Source and Destination Databases.
ImportantSi la destination est une instance Message Queue for Apache Kafka, le topic spécifié doit déjà exister dans l'instance de destination. Sinon, la tâche de migration des données échoue. Si la destination est une base de données Kafka auto-hébergée et que la tâche de migration des données inclut la migration de la structure de la base de données et des tables, DTS tente de créer le topic spécifié dans la base de données de destination.
Si vous modifiez le paramètre Name of target Topic, DTS écrit les données dans le topic spécifié.
Filter Conditions
Pour plus d'informations, consultez la rubrique Configurer les conditions de filtrage.
Number of Partitions
Le nombre de partitions dans le topic de destination.
Partition Key
Disponible lorsque le paramètre Policy for Shipping Data to Kafka Partitions est défini sur Ship Data to Separate Partitions Based on Hash Values of Primary Keys. Spécifiez une ou plusieurs colonnes comme clé de partition. DTS calcule une valeur de hachage pour les colonnes spécifiées et distribue les lignes entre les partitions du topic de destination.
RemarqueVous pouvez sélectionner le paramètre Partition Key uniquement dans la boîte de dialogue Edit Table.
Cliquez sur OK.