Utilisez Data Transmission Service (DTS) pour migrer les données d'un cluster PolarDB for MySQL vers le moteur de table large d'une instance Lindorm. DTS prend en charge la migration complète des données, la migration incrémentielle des données, ou les deux.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Une instance Lindorm de destination utilisant le moteur de table large, avec une capacité de stockage supérieure à l'espace utilisé par le cluster PolarDB for MySQL source. Consultez Créer une instance.
La fonctionnalité de compatibilité MySQL activée sur l'instance Lindorm de destination. Consultez Activer la fonctionnalité de compatibilité MySQL.
Une base de données (namespace) et une table large créées dans l'instance Lindorm de destination. Si nécessaire, pré-partitionnez la table large en fonction du volume de données attendu. Consultez Se connecter au moteur de table large et l'utiliser à l'aide d'un outil en ligne de commande MySQL, Se connecter au moteur de table large et l'utiliser à l'aide de Lindorm-cli, Accéder au moteur de table large à l'aide de Lindorm Shell, CREATE TABLE et Mappage des types de données.
Les objets que vous créez doivent respecter les exigences décrites dans Quotas et limites .
Limitations
Les limitations suivantes s'appliquent à ce chemin de migration. Chaque limitation est étiquetée selon le type de migration concerné : (Full), (Incrémentielle) ou (Les deux).
Base de données source
Limitation | S'applique à |
Le serveur de la base de données source doit disposer d'une bande passante sortante suffisante. Une bande passante insuffisante réduit la vitesse de migration. | Les deux |
Les tables doivent posséder des contraintes PRIMARY KEY ou UNIQUE, avec tous les champs uniques. Sinon, la base de données de destination peut contenir des enregistrements en double. | Les deux |
Si vous sélectionnez des tables comme objets de migration et devez renommer des tables ou des colonnes dans la base de données de destination, une seule tâche prend en charge jusqu'à 1 000 tables. Pour plus de 1 000 tables, configurez plusieurs tâches ou migrez plutôt la base de données entière. | Les deux |
La journalisation binaire doit être activée et Remarque L'activation de la journalisation binaire entraîne des frais de stockage pour l'espace occupé par les journaux binaires. | Incrémentielle uniquement |
Les journaux binaires doivent être conservés pendant au moins 3 jours. Une période de conservation de 7 jours est fortement recommandée. Une conservation plus courte peut entraîner l'échec de DTS lors de la récupération des journaux binaires, ce qui provoque l'échec de la tâche ou une perte de données. Une conservation insuffisante signifie également que l'accord de niveau de service (SLA) du service DTS peut ne pas s'appliquer. Consultez Modifier la période de conservation. | Incrémentielle uniquement |
N'effectuez pas d'opérations DDL sur les objets de migration pendant la migration. DTS interroge la base de données source lors de la migration complète, créant ainsi des verrous de métadonnées qui peuvent bloquer les opérations DDL. | Complète uniquement |
N'écrivez pas de nouvelles données dans la base de données source. Pour maintenir la cohérence des données en temps réel, exécutez à la fois la migration complète des données et la migration incrémentielle des données, plutôt que la migration complète seule. | Complète uniquement (lorsqu'elle est exécutée sans incrémentiel) |
Autres limitations
|
Limitation |
S'applique à |
|
La migration du schéma n'est pas prise en charge. |
Les deux |
|
La migration des colonnes de type de données BIT n'est pas prise en charge. |
Les deux |
|
Vous ne pouvez pas migrer uniquement les champs de clé primaire. Les données migrées doivent inclure au moins un champ non clé primaire. |
Les deux |
|
DTS ne migre pas les nœuds en lecture seule du cluster PolarDB for MySQL source. |
Les deux |
|
DTS ne migre pas les tables externes Object Storage Service (OSS) depuis le cluster source. |
Les deux |
|
DTS écrit les données uniquement dans le moteur de table large de l'instance Lindorm. |
Les deux |
|
DTS ne prend pas en charge le basculement primaire/secondaire pendant la migration complète. Si un basculement se produit, reconfigurez rapidement la tâche de migration. |
Complète uniquement |
|
Les chaînes vides VARBINARY sont traitées comme des valeurs nulles dans DTS et dans l'instance Lindorm. Par exemple, une valeur de colonne source |
Les deux |
|
Si les colonnes DECIMAL de l'instance Lindorm de destination ont une précision différente de celle de la source, la tâche échoue. |
Les deux |
|
Les données de l'instance Lindorm doivent respecter les exigences décrites dans Limites des demandes de données. Sinon, la tâche échoue. |
Les deux |
|
DTS consomme des ressources de lecture et d'écriture sur les bases de données source et de destination, augmentant la charge de la base de données. Exécutez les migrations pendant les heures creuses, lorsque la charge CPU des deux bases de données est inférieure à 30 %. |
Complète uniquement |
|
Les opérations INSERT concurrentes pendant la migration complète provoquent une fragmentation des tables dans la base de données de destination. Après la migration complète, l'espace de stockage utilisé par les tables de destination est supérieur à celui de l'instance source. |
Complète uniquement |
|
N'utilisez pas d'outils tels que pt-online-schema-change pour effectuer des opérations DDL en ligne sur les objets de migration dans la base de données source pendant la migration. |
Les deux |
|
Si d'autres sources écrivent dans la base de données de destination pendant la migration, une incohérence des données peut survenir. |
Les deux |
|
En cas d'échec d'une instance DTS, l'assistance DTS tente une récupération sous 8 heures. Pendant la récupération, des opérations telles que le redémarrage de l'instance ou l'ajustement des paramètres de l'instance DTS (et non des paramètres de la base de données) peuvent être effectuées. Consultez Modifier les paramètres de l'instance pour connaître les paramètres susceptibles d'être modifiés. |
Les deux |
Facturation
|
Type de migration |
Frais de configuration de liaison |
Frais de transfert de données |
|
Migration complète des données |
Gratuit |
Gratuit lorsque Access Method pour la base de données de destination est Alibaba Cloud Instance. Si Access Method est Adresse IP publique, le transfert de données via Internet entraîne des frais supplémentaires. Consultez Présentation de la facturation. |
|
Migration incrémentielle des données |
Facturé. Consultez Présentation de la facturation. |
— |
Opérations SQL prises en charge pour la migration incrémentielle
|
Type d'opération |
Instructions SQL |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
CREATE TABLE, DROP TABLE, ADD COLUMN |
En raison des limitations du moteur de table large , les attributs supplémentaires dans les instructions ADD COLUMN ne sont pas migrés. Par exemple,ALTER TABLE test ADD COLUMN col INT DEFAULT 0;sur la source devientALTER TABLE test ADD COLUMN col INT;sur la destination.
Autorisations requises
Base de données | Migration complète | Migration incrémentielle |
Cluster PolarDB for MySQL source | SELECT | Lecture et écriture |
Instance Lindorm de destination | Lecture et écriture sur le namespace de destination | |
Pour des instructions étape par étape sur la création de comptes et l'octroi d'autorisations :
PolarDB for MySQL : Créer et gérer des comptes de base de données
Lindorm : Gestion des utilisateurs
Créer une tâche de migration
-
Accédez à la page Data Migration et sélectionnez la région où réside l'instance de migration.
Console DTS
Connectez-vous à la console 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 dans laquelle réside l'instance de migration de données.
Console DMS
Remarque
La disposition de la console DMS peut varier selon le mode. Consultez 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 .
Dans la liste déroulante à droite de Data Migration Tasks, sélectionnez la région dans laquelle réside l'instance de synchronisation de données.
Cliquez sur Create Task.
-
Configurez les bases de données source et de destination.
Section
Paramètre
Description
(Aucun)
Task Name
Un nom pour la tâche DTS. DTS génère automatiquement un nom. Spécifiez un nom descriptif pour identifier facilement la tâche. Le nom n'a pas besoin d'être unique.
Source Database
Select Existing Connection
Si l'instance est enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante et DTS remplit automatiquement les champs restants. Sinon, configurez manuellement les champs ci-dessous. Dans la console DMS, sélectionnez l'instance dans Select a DMS database instance. Consultez Gérer les connexions de base de données.
Database Type
Sélectionnez PolarDB for MySQL.
Access Method
Sélectionnez Alibaba Cloud Instance.
Instance Region
Sélectionnez la région du cluster PolarDB for MySQL source.
Replicate Data Across Alibaba Cloud Accounts
Sélectionnez No si l'instance source appartient au compte Alibaba Cloud actuel.
PolarDB Cluster ID
Sélectionnez l'ID du cluster PolarDB for MySQL source.
Database Account
Saisissez le compte de base de données. Consultez Autorisations requises.
Database Password
Saisissez le mot de passe du compte de base de données.
Encryption
Sélectionnez une méthode de chiffrement si nécessaire. Pour le chiffrement Secure Sockets Layer (SSL), consultez Configurer le chiffrement SSL.
Destination Database
Select Existing Connection
Si l'instance est enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante. Sinon, configurez manuellement les champs ci-dessous. Consultez Gérer les connexions de base de données.
Database Type
Sélectionnez Lindorm.
Access Method
Sélectionnez Alibaba Cloud Instance.
Instance Region
Sélectionnez la région de l'instance Lindorm de destination.
Instance ID
Sélectionnez l'ID de l'instance Lindorm de destination.
Database Account
Saisissez le compte de base de données. Consultez Autorisations requises.
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é (listes d'autorisation) des bases de données source et de destination. Consultez Ajouter les adresses IP des serveurs DTS à une liste d'autorisation . Si la base de données source ou de destination utilise une méthode d'accès autre que Alibaba Cloud Instance , cliquez sur Test Connectivity dans la boîte de dialogue CIDR Blocks of DTS Servers .
-
Sur la page Configure Objects, sélectionnez les objets à migrer et configurez les paramètres de migration.
Si vous renommez des objets à l'aide du mappage de noms d'objets, d'autres objets dépendant de l'objet renommé peuvent échouer à migrer.
Paramètre
Description
Migration Types
Sélectionnez Full Data Migration pour une migration ponctuelle. Sélectionnez à la fois Full Data Migration et Incremental Data Migration pour maintenir la cohérence des données tout en gardant vos services en ligne. Si vous sélectionnez uniquement la migration complète, n'écrivez pas dans la base de données source pendant la migration.
Processing Mode of Conflicting Tables
Utilisez la valeur par défaut.
Capitalization of Object Names in Destination Instance
Contrôle la mise en majuscule des noms de bases de données, de tables et de colonnes dans la destination. La valeur par défaut est DTS default policy. Consultez Spécifier la mise en majuscule des noms d'objets dans l'instance de destination.
Source Objects
Sélectionnez les objets à migrer et cliquez sur
pour les déplacer vers Selected Objects. Les bases de données, les tables et les colonnes sont toutes sélectionnables.Selected Objects
Si les noms de base de données (namespace), de table ou de colonne dans la destination diffèrent de ceux de la source, utilisez le mappage de noms d'objets. Consultez Mapper les noms d'objets. Pour filtrer les lignes par condition, faites un clic droit sur une table et spécifiez une clause WHERE. Consultez Spécifier les conditions de filtrage. Pour sélectionner des opérations SQL spécifiques pour la migration incrémentielle, faites un clic droit sur un objet dans Selected Objects.
-
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 le cluster partagé. Achetez un cluster dédié pour une stabilité améliorée. Consultez Qu'est-ce qu'un cluster dédié DTS ?.
Retry Time for Failed Connections
Durée pendant laquelle DTS effectue des tentatives lorsque la base de données source ou de destination devient inaccessible. Valeurs valides : 10–1 440 minutes. Par défaut : 720 minutes. Définissez cette valeur sur plus de 30 minutes. Si les bases de données se reconnectent dans ce délai, DTS reprend la tâche ; sinon, la tâche échoue. Si plusieurs tâches partagent la même source ou destination, la valeur définie le plus récemment s'applique. DTS facture l'instance pendant la tentative.
Retry Time for Other Issues
Durée pendant laquelle DTS effectue des tentatives après des échecs DDL ou DML. Valeurs valides : 1–1 440 minutes. Par défaut : 10 minutes. Définissez cette valeur sur plus de 10 minutes. Cette valeur doit être inférieure à Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Limite la consommation de ressources de lecture et d'écriture de DTS pendant la migration complète pour réduire la charge de la base de 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). Disponible uniquement lorsque Full Data Migration est sélectionné.
Enable Throttling for Incremental Data Migration
Limite la consommation de ressources pendant la migration incrémentielle. Configurez RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s). Disponible uniquement lorsque Incremental Data Migration est sélectionné.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Contrôle si DTS écrit les opérations de table de heartbeat dans la base de données source. Yesalert notification settings : n'écrit pas les opérations de heartbeat (une latence peut être affichée pour l'instance DTS). No : écrit les opérations de heartbeat (peut affecter des fonctionnalités telles que la sauvegarde physique et le clonage de la base de données source).
Environment Tag
(Facultatif) Sélectionnez un tag pour identifier l'instance.
Configure ETL
Indique s'il faut activer l'extraction, la transformation et le chargement (ETL). Yes : ouvre un éditeur de code pour les instructions de traitement des données. Consultez Configurer ETL dans une tâche de migration ou de synchronisation de données. No : ETL est désactivé. Consultez Qu'est-ce que l'ETL ?
Monitoring and Alerting
Indique s'il faut configurer des alertes pour les échecs de tâche ou les seuils de latence. Yes : configurez le seuil d'alerte et les contacts de notification. Consultez Configurer la surveillance et les alertes lors de la création d'une tâche DTS. No : aucune alerte.
-
Cliquez sur Next: Save Task Settings and Precheck. Pour prévisualiser les paramètres API pour cette tâche, survolez Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters avant de continuer.
DTS exécute une vérification préalable avant de démarrer la tâche de migration. La tâche ne démarre qu'après avoir réussi la vérification préalable. - Si un élément de vérification préalable échoue, cliquez sur View Details à côté de celui-ci, résolvez le problème, puis cliquez sur Precheck Again . - Si une alerte est déclenchée pour un élément de vérification préalable : - Si l'alerte ne peut pas être ignorée, corrigez le problème et relancez la vérification préalable. - Si l'alerte peut être ignorée, cliquez sur Confirm Alert Details , puis Ignore , puis OK , puis Precheck Again . Ignorer les alertes peut entraîner une incohérence des données.
Lorsque Success Rate atteint 100%, cliquez sur Next: Purchase Instance.
-
Sur la page Purchase Instance, configurez la classe d'instance.
Section
Paramètre
Description
New Instance Class
Resource Group
Le groupe de ressources pour l'instance de migration. Par défaut : default resource group. Consultez Qu'est-ce que Resource Management ?
Instance Class
La classe d'instance détermine la vitesse de migration. Sélectionnez en fonction de vos besoins. Consultez Classes d'instances des instances de migration de données.
Lisez les Data Transmission Service (Pay-as-you-go) Service Terms, cochez la case pour accepter, puis cliquez sur Buy and Start. Dans la boîte de dialogue de confirmation, cliquez sur OK.
Vérifier la migration
Surveillez la progression de la tâche sur la page Data Migration :
Full data migration only : La tâche s'arrête automatiquement une fois terminée. Le statut passe à Completed.
Full and incremental data migration : La phase de migration incrémentielle s'exécute en continu et ne s'arrête pas automatiquement. Le statut affiche Running.