Tous les produits
Search
Centre de documentation

Data Transmission Service:Synchroniser ApsaraDB for MongoDB vers AnalyticDB for MySQL 3.0

Dernière mise à jour :Oct 09, 2026

Data Transmission Service (DTS) synchronise les données de MongoDB vers un cluster AnalyticDB for MySQL 3,0. Cette rubrique explique comment synchroniser les données depuis une instance de jeu de réplicas ApsaraDB for MongoDB.

Prérequis

  • Si la source est une instance de cluster fragmenté ApsaraDB for MongoDB, demandez un endpoint pour chaque nœud shard et configurez tous les nœuds shards avec le même nom d'utilisateur et mot de passe. Pour plus d'informations, consultez Demander un endpoint pour un nœud shard ou le nœud ConfigServer dans une instance de cluster fragmenté.

  • Créez un cluster de destination AnalyticDB for MySQL 3,0 disposant d'un espace de stockage supérieur à celui de l'instance source ApsaraDB for MongoDB. Pour plus d'informations, consultez Créer un cluster.

    Remarque

    L'instance de destination doit disposer d'au moins 10 % d'espace de stockage supplémentaire par rapport à l'espace utilisé par la base de données source.

  • Dans le cluster de destination AnalyticDB for MySQL 3,0, créez une base de données et une table dotées d'une clé primaire. Pour plus d'informations, consultez CREATE DATABASE et CREATE TABLE.

    Important
    • Assurez-vous que les types de données de la table de destination sont compatibles avec les données MongoDB sources. Par exemple, si le champ _id dans MongoDB est un ObjectId, son type de données correspondant dans le cluster AnalyticDB for MySQL 3.0 doit être varchar.

    • N'utilisez pas _id ni _value comme noms de colonnes dans la table de destination du cluster AnalyticDB for MySQL 3,0.

  • Exécutez la commande SET ADB_CONFIG ALLOW_MULTI_QUERIES=true; dans le cluster de destination AnalyticDB for MySQL 3.0 pour activer la fonctionnalité multi-instructions.

    Remarque

    La fonctionnalité multi-instructions est disponible uniquement pour les clusters exécutant la version mineure 3.1.9.3 ou ultérieure. Pour afficher et mettre à niveau la version mineure de votre cluster, consultez Mettre à niveau la version mineure.

Remarques

Type

Description

Limites de la base de données source

  • Bandwidth requirement: The server where your source database resides must have sufficient outbound bandwidth. Otherwise, synchronization speed may be affected.

  • To edit objects (such as rename collections), one synchronization task supports up to 1,000 collections. If you exceed this limit, the task fails with an error after submission. To resolve this, split the collections into batches and configure multiple tasks. Or configure a full-database synchronization task.

  • If your source MongoDB is a sharded cluster instance, the _id field in the collections to synchronize must have unique values. Otherwise, data inconsistency may occur.

  • If your source MongoDB is a sharded cluster instance, the number of Mongos nodes cannot exceed 10. Also ensure no orphaned documents exist in your MongoDB sharded cluster instance. Otherwise, data inconsistency or task failure may occur. For more information, see orphaned documents and How to clean orphaned documents in MongoDB (sharded cluster architecture).

  • If your source instance is a self-managed MongoDB sharded cluster:

    • Access Method supports only Express Connect, VPN Gateway, or Smart Access Gateway and Cloud Enterprise Network (CEN).

    • If your MongoDB version is 8.0 or later and Migration Method is Oplog, ensure the Shard account used by the synchronization task has the directShardOperations permission. Add this permission using the command db.adminCommand({ grantRolesToUser: "username", roles: [{ role: "directShardOperations", db: "admin"}]}).

      Remarque

      Replace username in the command with the Shard account used by the synchronization task.

    • If Migration Method is Oplog and the task includes full data synchronization, ensure the Mongos account for your source MongoDB sharded cluster has permission to run the db.runCommand({"balancerStatus":1}) command. DTS checks whether the Balancer is disabled using this command during precheck.

  • Your source database does not support standalone MongoDB, Azure Cosmos DB for MongoDB, or Amazon DocumentDB (elastic cluster).

  • Your source database must enable Oplog and retain Oplog for at least seven days. Or enable Change Streams and ensure DTS can subscribe to data changes in the last seven days through Change Streams. Otherwise, DTS may fail to capture data changes, causing task failure. In extreme cases, this may cause data inconsistency or loss. These issues are not covered by the DTS Service-level agreement (SLA).

    Important
    • We recommend using Oplog to capture data changes.

    • Only MongoDB 4.0 and later support Change Streams. Change Streams do not support two-way synchronization.

    • If your source database is Amazon DocumentDB (non-elastic cluster), manually enable Change Streams. When you configure the task, set Migration Method to ChangeStream and set Architecture to Sharded Cluster.

  • Source database operation limits:

    • During full data synchronization, do not change the schema of databases or collections (including array-type data updates). Otherwise, the synchronization task may fail or cause data inconsistency between the source and destination databases.

    • If your source MongoDB is a sharded cluster instance, while the synchronization instance is running, do not run commands that change data distribution on the objects to synchronize in the source database (for example, shardCollection, reshardCollection, unshardCollection, moveCollection, or movePrimary). Otherwise, data inconsistency may occur.

  • If your source MongoDB is a sharded cluster and the Balancer balances data, latency may occur.

  • DTS does not support connecting to MongoDB databases using SRV addresses.

Autres limites

  • Seule la synchronisation au niveau des collections est prise en charge.

  • La base de données de destination doit contenir une clé primaire personnalisée. Sinon, à l'étape Configurations for Databases, Tables, and Columns, configurez une Primary Key Column. Dans le cas contraire, la synchronisation peut échouer.

  • La table qui reçoit les données dans le cluster cible AnalyticDB for MySQL 3,0 doit posséder une colonne de clé primaire unique (et non une clé primaire composite). Lors de la configuration des champs de synchronisation dans la section Selected Objects, l'Assignment pour cette colonne de clé primaire doit être bson_value("_id").

  • Dans le cluster cible AnalyticDB for MySQL 3,0, les tables qui reçoivent les données ne doivent pas contenir de champs nommés _id ou _value, sous peine d'échec de la synchronisation.

  • Si les types de données dans le cluster AnalyticDB for MySQL 3,0 sont incompatibles avec les données MongoDB, la tâche échoue.

  • En raison des limites des clusters AnalyticDB for MySQL 3,0, les tâches DTS deviennent anormales et subissent des retards lorsque l'utilisation de l'espace disque par les nœuds dépasse 80 %. Nous vous recommandons d'estimer l'espace disque requis en fonction des objets à synchroniser. Assurez-vous que le cluster de destination dispose d'un stockage suffisant.

  • Si le cluster cible AnalyticDB for MySQL 3,0 fait l'objet d'une sauvegarde pendant l'exécution de la tâche DTS, celle-ci échouera.

  • DTS ne prend pas en charge la synchronisation des données depuis les bases de données admin, config et local.

  • Les informations de transaction ne sont pas conservées. Les transactions de la base de données source deviennent des enregistrements individuels dans la base de données de destination.

  • Évaluez les performances des bases de données source et de destination avant la synchronisation. Exécutez la synchronisation pendant les heures creuses. Dans le cas contraire, la synchronisation complète des données consomme des ressources de lecture et d'écriture, augmentant ainsi la charge de la base de données.

  • La synchronisation complète des données exécute des opérations INSERT de manière concurrente. Cela crée de la fragmentation dans la collection de la base de données de destination. Après la synchronisation complète, l'espace de stockage de la collection dans la base de données de destination est supérieur à celui de l'instance source.

  • Vérifiez que la précision de synchronisation DTS pour les colonnes FLOAT ou DOUBLE répond aux attentes de votre activité. DTS lit ces colonnes en utilisant ROUND(COLUMN,PRECISION). Si la précision n'est pas définie, DTS utilise 38 chiffres pour FLOAT et 308 chiffres pour DOUBLE.

  • DTS tente de récupérer les tâches de synchronisation ayant échoué dans un délai de sept jours. Avant de basculer le trafic vers l'instance de destination, terminez ou libérez la tâche. Vous pouvez également utiliser la commande revoke pour révoquer les autorisations d'écriture du compte DTS sur l'instance de destination. Cela empêche la récupération automatique d'écraser les données de destination avec les données source.

  • DTS calcule la latence de synchronisation incrémentielle en comparant l'horodatage du dernier document synchronisé avec l'horodatage actuel. Si la base de données source ne subit aucune mise à jour pendant une longue période, les informations de latence peuvent être inexactes. Si la latence semble trop élevée, exécutez une opération de mise à jour dans la base de données source pour actualiser les informations de latence.

  • DTS ne prend pas en charge la synchronisation des collections de séries temporelles introduites dans MongoDB 5.0 et versions ultérieures.

  • En cas d'échec d'une tâche, l'équipe d'assistance DTS tentera de la restaurer dans un délai de huit heures. Pendant la restauration, elle peut redémarrer la tâche ou ajuster ses paramètres.

    Remarque

    Seuls les paramètres de la tâche DTS sont modifiés, et non les paramètres de la base de données. Les paramètres susceptibles d'être ajustés incluent ceux répertoriés dans Modify instance parameters.

  • La synchronisation de données contenant un encodage non UTF-8 n'est pas prise en charge, ce qui peut entraîner une incohérence des données.

Facturation

Type

Frais

Synchronisation complète des données

Gratuit.

Synchronisation incrémentielle des données

Facturé. Pour plus de détails, consultez Présentation de la facturation.

Types de synchronisation

Type

Description

Synchronisation complète des données

Synchronise toutes les données existantes des objets sélectionnés depuis l'instance source ApsaraDB for MongoDB vers le cluster de destination AnalyticDB for MySQL 3,0.

Synchronisation incrémentielle des données

Synchronise les mises à jour incrémentielles depuis l'instance source ApsaraDB for MongoDB vers le cluster de destination AnalyticDB for MySQL 3,0. Ce processus s'appuie sur une synchronisation complète des données.

Remarque
  • Prend uniquement en charge les opérations d'insertion, de mise à jour et de suppression sur les documents d'une collection.

  • Pour les mises à jour de documents, seules les opérations utilisant la commande $set sont répliquées.

Autorisations des comptes de base de données

Base de données

Autorisations

Actions

Instance source ApsaraDB for MongoDB

Autorisations de lecture sur les bases de données à synchroniser, ainsi que sur les bases de données admin et local.

Gestion des comptes

Cluster de destination AnalyticDB for MySQL 3,0

Autorisations de lecture et d'écriture sur la base de données de destination.

Créer un compte de base de données

Remarque

Si vous utilisez ChangeStream comme méthode de synchronisation incrémentielle, le compte de la base de données source nécessite des autorisations de lecture Change Streams à l'échelle de l'instance (telles que readAnyDatabase). Si la source est une instance ApsaraDB for MongoDB avec un compte personnalisé, vous devez également accorder au compte l'autorisation de lecture sur la base de données admin. Pour plus de détails, consultez Autorisations du compte root spécifié lors de la création de l'instance.

Procédure

  1. Accédez à la page de liste des tâches de synchronisation de la région de destination. Vous pouvez utiliser l'une des deux méthodes suivantes :

    Depuis la console DTS

    1. Connectez-vous à la Data Transmission Service (DTS) console.

    2. Dans le volet de navigation de gauche, cliquez sur Data Synchronization.

    3. Dans le coin supérieur gauche de la page, sélectionnez la région où se trouve l'instance de synchronisation.

    Depuis la console DMS

    Remarque

    Les opérations réelles peuvent varier en fonction du mode et de la disposition de la console DMS. Pour plus d'informations, consultez Simple mode et Customize the layout and style of the DMS interface.

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

    2. Dans la barre de menu supérieure, choisissez Data Synchronization > Data + AI > Data Transmission (DTS).

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

  2. Cliquez sur Create Task pour ouvrir la page de configuration de la tâche.

  3. Configurez les bases de données source et de destination.

    Catégorie

    Paramètre

    Description

    N/A

    Data Synchronization

    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.

    Data Synchronization Tasks

    Create Task

    • Pour utiliser une instance de base de données ajoutée au système (nouvellement créée ou enregistrée), sélectionnez l'instance de base de données dans la liste déroulante. Les informations de la base de données sont configurées automatiquement.

      Remarque

      Dans la console DMS, cet élément de configuration est nommé Task Name.

    • Si vous n'avez pas ajouté l'instance de base de données au système, ou si vous n'avez pas besoin d'utiliser une instance déjà ajoutée, configurez manuellement les informations de base de données suivantes.

    Source Database

    Sélectionnez Select Existing Connection.

    Access Method

    Sélectionnez Database Type.

    MongoDB

    Sélectionnez la région de l'instance ApsaraDB for MongoDB source.

    Replicate Data Across Alibaba Cloud Accounts

    Cet exemple utilise une instance de base de données appartenant au compte Alibaba Cloud actuel. Sélectionnez Alibaba Cloud Instance.

    Instance Region

    Dans cet exemple, sélectionnez Replica Set.

    Remarque

    Si votre instance ApsaraDB for MongoDB source utilise une architecture No, vous devez également saisir le Shard account et le Shard password.

    Migration Method

    Sélectionnez une méthode de synchronisation des données incrémentielles en fonction de vos besoins.

    • Oplog (Recommandé) :

      Cette option est disponible si Oplog est activé pour la base de données source.

      Remarque

      Oplog est activé par défaut pour les bases de données MongoDB gérées par l'utilisateur et les instances ApsaraDB for MongoDB. Cette méthode offre une latence plus faible pour les tâches de synchronisation incrémentielle car les journaux sont récupérés plus rapidement. Nous vous recommandons de sélectionner Oplog.

    • ChangeStream :

      Cette option est disponible si Change Streams sont activés pour la base de données source.

      Remarque
      • Si la base de données source est une instance Amazon DocumentDB (cluster non élastique), vous ne pouvez sélectionner que ChangeStream.

      • Si vous définissez l'Architecture de la base de données source sur Sharded Cluster, vous n'avez pas besoin de spécifier le Shard account ni le Shard password.

    Instance ID

    Sélectionnez l'ID d'instance de l'instance ApsaraDB for MongoDB source.

    Authentication Database

    Saisissez le nom de la base de données à laquelle appartient le compte de base de données sur l'instance ApsaraDB for MongoDB source. Si vous ne l'avez pas modifié, la valeur par défaut est admin.

    Database Account

    Saisissez le compte de base de données de l'instance ApsaraDB for MongoDB source. Pour plus d'informations sur les autorisations requises, consultez Autorisations du compte de base de données.

    Database Password

    Saisissez le mot de passe correspondant au compte de base de données.

    Encryption

    DTS prend en charge trois méthodes de connexion : Non-encrypted, SSL-encrypted et Mongo Atlas SSL. Les options d'Encryption varient en fonction de la Access Method et de l'Architecture sélectionnées. Les options affichées dans la console font foi.

    Remarque
    • Une base de données MongoDB dont l'Architecture est Sharded Cluster et dont la Migration Method est Architecture ne prend pas en charge le chiffrement Sharded Cluster.

    • Si la source est une base de données MongoDB gérée par l'utilisateur (la Access Method n'est pas Oplog) avec une architecture SSL-encrypted, et que vous sélectionnez SSL-encrypted, DTS vous permet également de télécharger un certificat CA pour vérifier la connexion.

    Alibaba Cloud Instance

    Replica Set

    • Pour utiliser une instance de base de données ajoutée au système (nouvellement créée ou enregistrée), sélectionnez l'instance de base de données dans la liste déroulante. Les informations de la base de données sont configurées automatiquement.

      Remarque

      Dans la console DMS, cet élément de configuration est nommé Select a DMS database instance..

    • Si vous n'avez pas ajouté l'instance de base de données au système, ou si vous n'avez pas besoin d'utiliser une instance déjà ajoutée, configurez manuellement les informations de base de données suivantes.

    Destination Database

    Sélectionnez Select Existing Connection.

    Select a DMS database instance.

    Sélectionnez Database Type.

    AnalyticDB for MySQL 3.0

    Sélectionnez la région du cluster AnalyticDB for MySQL 3,0 de destination.

    Access Method

    Sélectionnez l'ID du cluster AnalyticDB for MySQL 3,0 de destination.

    Alibaba Cloud Instance

    Saisissez le compte de base de données du cluster AnalyticDB for MySQL 3,0 de destination. Pour plus d'informations sur les autorisations requises, consultez Autorisations du compte de base de données.

    Instance Region

    Saisissez le mot de passe correspondant au compte de base de données.

  4. Une fois la configuration terminée, cliquez sur Test Connectivity and Proceed en bas de la page.

    Remarque
    • Assurez-vous que les plages CIDR d'adresses IP des serveurs DTS sont ajoutées aux paramètres de sécurité des bases de données source et de destination pour autoriser l'accès depuis les serveurs DTS. Cela peut être fait automatiquement ou manuellement. Pour plus d'informations, consultez Ajouter les plages CIDR d'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 gérée par l'utilisateur (où la Instance ID n'est pas Database Account), vous devez également cliquer sur Test Connectivity dans la boîte de dialogue CIDR Blocks of DTS Servers.

  5. Configurez les objets de la tâche.

    1. Sur la page Database Password, configurez les objets à synchroniser.

      Paramètre

      Description

      Test Connectivity and Proceed

      Access Method est sélectionné. Vous ne pouvez sélectionner que Alibaba Cloud Instance. La Test Connectivity n'est pas prise en charge. Une fois la vérification préalable terminée, DTS synchronise les données des objets sélectionnés depuis l'instance source vers le cluster de destination. Cela sert de données de base pour la synchronisation incrémentielle ultérieure.

      CIDR Blocks of DTS Servers

      Sélectionnez les opérations incrémentielles à synchroniser au niveau de l'instance.

      Remarque

      Pour sélectionner les opérations incrémentielles à synchroniser au niveau de la collection, cliquez avec le bouton droit sur un objet de synchronisation dans la section Configure Objects et choisissez les opérations souhaitées dans la boîte de dialogue qui s'affiche.

      Synchronization Types

      • Sélectionnez Incremental Data Synchronization : Dans les scénarios OLTP, le sharding de bases de données et de tables est souvent utilisé pour améliorer le temps de réponse des tables métier. Dans les scénarios OLAP, comme la base de données de destination dans cet exemple, une seule table de données peut stocker des volumes massifs de données, ce qui rend les requêtes sur table unique plus pratiques. Dans de tels scénarios, vous pouvez utiliser la fonctionnalité de fusion multi-tables de DTS pour synchroniser plusieurs tables ayant le même schéma (tables shardées) depuis la base de données source vers une seule table dans la base de données de destination. Pour des instructions spécifiques, consultez Activer la fusion multi-tables.

        Remarque
        • Après avoir sélectionné plusieurs tables dans la base de données source, vous devez utiliser la fonctionnalité de mappage de noms d'objets pour modifier leurs noms afin qu'ils correspondent au même nom de table dans la base de données de destination. Pour plus d'informations sur la fonctionnalité de mappage de noms d'objets, consultez Mapper les noms de tables et de colonnes.

        • DTS ajoute la colonne __dts_data_source de type texte à la table de destination pour stocker la source des données. La valeur de la colonne utilise le format ID de l'instance DTS : nom de la base de données : nom du schéma : nom de la table pour identifier la source de la table, par exemple dts****:dtstestdata:testschema:customer1.

        • La fonctionnalité de fusion multi-tables s'applique au niveau de la tâche, ce qui signifie que vous ne pouvez pas effectuer de fusion multi-tables au niveau de la table. Si vous souhaitez fusionner certaines tables mais pas d'autres, vous devez créer deux tâches de synchronisation de données.

        Avertissement

        N'exécutez pas d'opérations DDL pour modifier le schéma de la base de données ou de la table dans la base de données source. Sinon, une incohérence des données ou un échec de la tâche de synchronisation peut survenir.

      • Sélectionnez Full Data Synchronization. Il s'agit de l'option par défaut.

      Schema Synchronization

      • DDL and DML Operations to Be Synchronized : Vérifie si une table portant le même nom existe dans la base de données de destination. Si aucune table portant le même nom n'existe, la vérification préalable réussit. Si une table portant le même nom existe, la vérification préalable échoue et la tâche de synchronisation des données ne démarre pas.

        Remarque

        Si vous ne pouvez pas supprimer ou renommer la table portant le même nom dans la base de données de destination, vous pouvez la mapper vers un nom de table différent. Pour plus d'informations, consultez Mapper les noms de tables et de colonnes.

      • Selected Objects : Ignore la vérification des noms de tables en double dans la base de données de destination.

        Avertissement

        La sélection de l'option Merge Tables peut entraîner une incohérence des données et mettre votre activité à risque. Par exemple :

        • Si les schémas de table sont identiques et qu'un enregistrement dans la base de données de destination possède la même valeur de clé primaire ou de clé unique qu'un enregistrement dans la base de données source :

          • Lors de la synchronisation complète, DTS conserve l'enregistrement dans le cluster de destination. L'enregistrement correspondant de la base de données source n'est pas synchronisé.

          • Lors de la synchronisation incrémentielle, l'enregistrement de la base de données source écrase l'enregistrement dans la base de données de destination.

        • Si les schémas de table sont différents, la synchronisation initiale des données peut échouer. Cela peut entraîner la synchronisation uniquement des données de certaines colonnes ou un échec complet de la synchronisation. Procédez avec prudence.

      Yes

      Dans la zone No, cliquez sur un objet à synchroniser, puis cliquez sur 向右 pour le déplacer vers la zone Processing Mode of Conflicting Tables.

      Remarque

      Vous pouvez sélectionner des objets à synchroniser au niveau de la collection.

      Precheck and Report Errors

      1. Modifiez le mappage des noms de bases de données.

        1. Dans la liste Ignore Errors and Proceed, cliquez avec le bouton droit sur la base de données contenant la collection à synchroniser.

          Par exemple, cliquez avec le bouton droit sur la base de données dtsdb.

        2. Modifiez le Ignore Errors and Proceed pour le nommer selon la base de données qui recevra les données dans le cluster AnalyticDB for MySQL 3,0 de destination.

        3. Facultatif : Dans la zone Source Objects, sélectionnez les opérations incrémentielles à synchroniser.

          Les opérations DML disponibles sont insert, update et delete. Vous pouvez cliquer sur Select All pour sélectionner toutes les opérations en une fois.

        4. Cliquez sur Source Objects.

      2. Modifiez le mappage des noms de tables.

        1. Cliquez avec le bouton droit sur la collection à synchroniser dans la liste Selected Objects.

          Le panneau Selected Objects affiche les objets à synchroniser sous forme arborescente, avec la hiérarchie suivante : Nom de la base de données > Type d'objet > Nom spécifique de l'objet (par exemple, dtsdb > Table > class).

        2. Modifiez le Selected Objects pour le nommer selon la table qui recevra les données dans le cluster AnalyticDB for MySQL 3,0 de destination.

        3. Facultatif : Définissez des conditions de filtre pour la synchronisation complète des données. Pour plus d'informations, consultez Définir des conditions de filtre.

          Dans la zone de saisie Filter Conditions, entrez une instruction de filtre. Pour ApsaraDB for MongoDB, la syntaxe des conditions de filtre diffère des clauses WHERE SQL standard. Par exemple, pour filtrer par ID utilisateur, entrez {"_id": {$gt:"user100844658590795**",$lte:"user101674868045948**"}}, où gt signifie « supérieur à » et lte signifie « inférieur ou égal à ».

        4. Facultatif : Dans la zone Selected Objects, sélectionnez les opérations incrémentielles à synchroniser.

          Les opérations DML disponibles sont insert, update et delete.

      3. Configurez les champs à synchroniser depuis MongoDB.

        Par défaut, DTS mappe les données de la collection à synchroniser en configurant une expression dans la colonne Schema Name. Vous devez vérifier si l'expression répond à vos besoins et configurer des paramètres tels que Select DDL and DML Operations to Be Synchronized, OK, Selected Objects et Table Name.

        Important
        • La colonne de clé primaire de la table de destination doit recevoir la valeur bson_value("_id").

        • Lors de la configuration d'une expression bson_value(), vous devez spécifier la hiérarchie jusqu'au plus petit sous-champ. Sinon, une perte de données ou un échec de la tâche peut survenir.

        1. Dans l'expression bson_value() de la colonne Select DDL and DML Operations to Be Synchronized, consultez le nom du champ MongoDB pour cette ligne.

          Le texte entre guillemets "" correspond au nom du champ dans MongoDB. Par exemple, si l'expression est bson_value("age"), cette ligne correspond au champ age dans MongoDB.

        2. Facultatif : Supprimez les champs que vous ne souhaitez pas synchroniser.

          Remarque

          Pour supprimer un champ que vous ne souhaitez pas synchroniser, cliquez sur image pour cette ligne.

        3. Configurez les champs à synchroniser.

          Effectuez les opérations suivantes selon que l'expression bson_value() répond ou non à vos besoins.

          Champs avec des expressions correspondantes

          1. Saisissez un Parameter Value.

            Remarque

            Saisissez le nom de la colonne dans la table qui recevra les données dans le cluster AnalyticDB for MySQL 3,0 de destination.

          2. Sélectionnez un Column Name pour les données de la colonne.

            Important

            Assurez-vous que les types de données dans la table de destination sont compatibles avec les données de l'instance MongoDB source. Pour obtenir des informations sur les mappages de types de données, consultez Mappage des types de données.

          3. Facultatif : Configurez la Type et la Length des données de la colonne.

          4. Répétez les étapes précédentes pour mapper chaque champ pertinent.

          Champs avec des expressions non correspondantes

          Remarque

          Par exemple, les champs ayant une structure hiérarchique (parent-enfant).

          1. Dans la colonne Precision, cliquez sur image pour cette ligne.

          2. Cliquez sur Parameter Value. Dans la section Appended Columns, cliquez sur + Add Column dans le coin supérieur droit.

          3. Configurez le Column Name, le Type, la Length et la Precision.

          4. Dans la zone de texte sous Operation, saisissez une expression bson_value(). Pour plus d'informations, consultez Exemples d'affectation de valeurs.

          5. Répétez les étapes précédentes pour mapper chaque champ pertinent.

      4. Cliquez sur + Add Column.

    2. Cliquez sur Column Name pour configurer les paramètres avancés.

      Paramètre

      Description

      Type

      Par défaut, DTS planifie les tâches sur un cluster partagé et vous n'avez pas besoin de sélectionner un cluster. Pour des performances plus stables, vous pouvez acheter un cluster dédié pour exécuter les tâches de synchronisation DTS. Pour plus d'informations, consultez Qu'est-ce qu'un cluster dédié DTS ?.

      Length

      Une fois la tâche de synchronisation 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 reconnecter. La durée de nouvelle tentative par défaut est de 720 minutes. Vous pouvez également spécifier une durée de nouvelle tentative personnalisée comprise entre 10 et 1 440 minutes. Nous vous recommandons de définir la durée à 30 minutes ou plus. Si DTS se reconnecte avec succès à la base de données dans le délai spécifié, la tâche de synchronisation reprend automatiquement. Sinon, la tâche échoue.

      Remarque
      • Si vous disposez de plusieurs instances DTS (par exemple, l'instance A et l'instance B) qui partagent la même source ou la même destination, et que vous définissez le temps de nouvelle tentative réseau à 30 minutes pour l'instance A et à 60 minutes pour l'instance B, la durée la plus courte, soit 30 minutes, sera utilisée pour les deux.

      • Étant donné que DTS facture l'exécution de 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.

      Precision

      Une fois la tâche de synchronisation démarrée, si d'autres problèmes non liés à la connectivité surviennent avec la base de données source ou de destination (tels que des exceptions d'exécution DDL ou DML), DTS signale une erreur et lance immédiatement des opérations de nouvelle tentative continues. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez également personnaliser la durée de nouvelle tentative dans la plage de 1 à 1 440 minutes. Nous vous recommandons de la définir à 10 minutes ou plus. Si les opérations pertinentes aboutissent dans le délai de nouvelle tentative défini, la tâche de synchronisation reprend automatiquement. Sinon, la tâche échoue.

      Important

      La valeur de Parameter Value doit être inférieure à celle de OK.

      Next: Advanced Settings

      Spécifiez si les types de données de la clé primaire _id sont uniques au sein de chaque collection à synchroniser.

      Important
      • Sélectionnez une option en fonction de vos données réelles. Une sélection incorrecte peut entraîner une perte de données.

      • Ce paramètre est disponible uniquement si Dedicated Cluster for Task Scheduling inclut Retry Time for Failed Connections.

      • Retry Time for Other Issues : Les types de données sont uniques. Pendant la phase de synchronisation complète, DTS n'analyse pas les types de données des clés primaires dans les données source. Pour chaque collection, DTS synchronise uniquement les données correspondant à un type de données de clé primaire.

      • Retry Time for Other Issues : Les types de données ne sont pas uniques. Pendant la phase de synchronisation complète, DTS analyse les types de données des clés primaires dans les données source et synchronise toutes les données.

      Retry Time for Failed Connections

      Pendant l'étape de synchronisation complète, DTS consomme des ressources de lecture et d'écriture des bases de données source et de destination, ce qui peut augmenter la charge de la base de données. Pour réduire la charge sur les bases de données source et de destination, vous pouvez définir une limite de débit pour la tâche de synchronisation complète en configurant les paramètres Only one data type for primary key _id in a table of the data to be synchronized, Synchronization Types et Full Data Synchronization.

      Remarque

      Enable Throttling for Full Data Synchronization

      Vous pouvez également définir une limite de débit pour la tâche de synchronisation incrémentielle. Pour soulager la pression sur la base de données de destination, définissez les paramètres Queries per second (QPS) to the source database et RPS of Full Data Migration.

      Data migration speed for full migration (MB/s)

      Vous pouvez sélectionner un tag d'environnement pour identifier l'instance selon vos besoins. Dans cet exemple, vous n'avez pas besoin de sélectionner un tag.

      Synchronization Types

      Choisissez d'activer ou non la fonctionnalité ETL (Extract, Transform, Load). Pour plus d'informations, consultez Qu'est-ce que l'ETL ? Valeurs valides :

      RPS of Incremental Data Synchronization

      Spécifiez si vous souhaitez configurer des alertes. Si la synchronisation échoue ou si la latence dépasse le seuil spécifié, une notification est envoyée à un contact d'alerte.

  6. Enregistrez la tâche et exécutez une vérification préalable.

    • Pour afficher les paramètres API pour configurer cette instance, placez le curseur sur le bouton Configure ETL et cliquez sur Yes dans l'infobulle.

    • Une fois que vous avez consulté les paramètres API, cliquez sur No en bas de la page.

    Remarque
    • Avant le démarrage de la tâche de synchronisation, DTS exécute une vérification préalable. La tâche ne peut démarrer qu'après la réussite de tous les éléments de vérification.

    • Si la vérification préalable échoue, cliquez sur Monitoring and Alerting pour l'élément ayant échoué. Corrigez le problème comme indiqué, puis relancez la vérification préalable.

    • Si la vérification préalable renvoie un avertissement :

      • Si un élément de vérification échoue et ne peut pas être ignoré, cliquez sur No à côté de l'élément. Suivez les instructions pour corriger le problème, puis relancez la vérification préalable.

      • Pour les éléments de vérification pouvant être ignorés, vous pouvez cliquer successivement sur Yes, Next: Save Task Settings and Precheck, Preview OpenAPI parameters et Next: Save Task Settings and Precheck pour ignorer l'avertissement et relancer la vérification préalable. Si vous choisissez de masquer l'élément d'avertissement, cela peut entraîner des problèmes tels qu'une incohérence des données et présenter des risques pour votre activité.

  7. Achetez l'instance.

    1. Lorsque le View Details atteint 100 %, cliquez sur View Details.

    2. Sur la page Confirm Alert Details, sélectionnez la méthode de facturation et les spécifications de lien pour l'instance de synchronisation de données. Le tableau suivant décrit ces paramètres en détail.

      Catégorie

      Paramètre

      Description

      Ignore

      Méthode de facturation

      • Abonnement : Vous payez lors de la création de l'instance. Cette option convient aux besoins à long terme et est plus rentable que le paiement à l'utilisation. Plus la durée d'abonnement est longue, plus la remise est importante.

      • Paiement à l'utilisation : Vous êtes facturé à l'heure. Cette option convient aux besoins à court terme. Vous pouvez libérer l'instance immédiatement après utilisation pour économiser des coûts.

      Configuration du groupe de ressources

      Le groupe de ressources auquel l'instance appartient. La valeur par défaut est le groupe de ressources par défaut. Pour plus d'informations, consultez Qu'est-ce que la gestion des ressources ?.

      Spécification de lien

      DTS propose des spécifications de synchronisation avec différents niveaux de performance. La spécification de lien de synchronisation affecte le taux de synchronisation. Vous pouvez choisir une spécification en fonction de votre scénario métier. Pour plus d'informations, consultez Spécifications des liens de synchronisation de données.

      Durée d'abonnement

      En mode abonnement, sélectionnez la durée et la quantité pour l'instance d'abonnement. Vous pouvez choisir un abonnement mensuel de 1 à 9 mois, ou un abonnement annuel de 1, 2, 3 ou 5 ans.

      Remarque

      Cette option est disponible uniquement lorsque la méthode de facturation est OK.

    3. Une fois la configuration terminée, lisez et acceptez les Precheck Again.

    4. Cliquez sur Success Rate. Dans la boîte de dialogue Next: Purchase Instance, cliquez sur Purchase.

      Vous pouvez consulter la progression de la tâche sur la page Data Synchronization.

  8. Correspondance des types de données

    Type MongoDB

    **Type AnalyticDB for MySQL 3,0**

    ObjectId

    VARCHAR

    String

    VARCHAR

    Document

    VARCHAR

    DbPointer

    VARCHAR

    Array

    VARCHAR

    Date

    DATETIME

    Timestamp

    DATETIME

    Double

    DOUBLE

    Entier 32 bits (BsonInt32)

    INTEGER

    Entier 64 bits (BsonInt64)

    BIGINT

    Decimal128

    DECIMAL

    Boolean

    BOOLEAN

    Null

    VARCHAR

    Configuration du mappage

    Structure des données source MongoDB

    {
      "_id":"62cd344c85c1ea6a2a9f****",
      "person":{
        "name":"neo",
        "age":26,
        "sex":"male"
      }
    }

    Schéma de la table de destination AnalyticDB for MySQL

    Paramètre

    Type

    mongo_id

    varchar

    Remarque

    Cette colonne est la clé primaire.

    person_name

    varchar

    person_age

    decimal

    Nouvelles colonnes

    Important

    Vous devez spécifier le chemin hiérarchique complet dans l'expression bson_value() pour éviter toute perte de données ou tout échec de la tâche. Par exemple, si vous définissez l'expression sur bson_value("person"), DTS ne peut pas synchroniser les données incrémentielles des sous-champs de l'objet person (comme name, age et sex) vers la destination.

    Paramètre

    Type

    Mappage

    mongo_id

    STRING

    bson_value("_id")

    person_name

    STRING

    bson_value("person","name")

    person_age

    DECIMAL

    bson_value("person","age")