Tous les produits
Search
Centre de documentation

Data Transmission Service:Synchroniser une base de données non partitionnée vers un cluster partitionné

Dernière mise à jour :Oct 09, 2026

Data Transmission Service (DTS) vous permet de synchroniser des données vers un cluster partitionné MongoDB et de spécifier une valeur par défaut pour la clé de partitionnement, même si le champ de la clé de partitionnement est absent des données source. Dans cet exemple, les données sont synchronisées depuis un ensemble de réplicas Alibaba Cloud Database for MongoDB vers un cluster partitionné Alibaba Cloud Database for MongoDB.

Prérequis

Limites

Type

Description

Limites de la base de données source

  • Exigence en matière de bande passante : le serveur hébergeant votre base de données source doit disposer d'une bande passante sortante suffisante. À défaut, la vitesse de synchronisation risque d'être affectée.

  • Les collections à synchroniser doivent posséder une clé primaire ou une contrainte UNIQUE, et les valeurs des champs doivent être uniques. Sinon, des données en double peuvent apparaître dans la base de données de destination.

  • Si vous effectuez une synchronisation au niveau des collections et que vous devez modifier des objets (par exemple, renommer des collections), une tâche de synchronisation prend en charge jusqu'à 1 000 collections. Si vous dépassez cette limite, la tâche échoue avec une erreur après sa soumission. Pour résoudre ce problème, divisez les collections en lots et configurez plusieurs tâches. Vous pouvez également configurer une tâche de synchronisation complète de la base de données.

  • Un document unique dans votre base de données source ne peut pas dépasser 16 Mo. Sinon, la tâche échoue.

  • Si votre MongoDB source est une instance de cluster partitionné, le nombre de nœuds Mongos ne peut pas dépasser 10.

  • Si votre instance source est un cluster partitionné MongoDB géré par vos soins :

    • Access Method prend uniquement en charge Express Connect, VPN Gateway, or Smart Access Gateway et Cloud Enterprise Network (CEN).

    • Si votre version MongoDB est 8.0 ou ultérieure et que Migration Method est défini sur Oplog, assurez-vous que le compte Shard utilisé par la tâche de synchronisation dispose de l'autorisation directShardOperations. Ajoutez cette autorisation à l'aide de la commande db.adminCommand({ grantRolesToUser: "username", roles: [{ role: "directShardOperations", db: "admin"}]}).

      Remarque

      Remplacez username dans la commande par le compte Shard utilisé par la tâche de synchronisation.

    • Si Migration Method est défini sur Oplog et que la tâche inclut une synchronisation complète des données, assurez-vous que le compte Mongos de votre cluster partitionné MongoDB source dispose de l'autorisation d'exécuter la commande db.runCommand({"balancerStatus":1}). DTS vérifie si le Balancer est désactivé à l'aide de cette commande lors de la pré-vérification.

  • Votre base de données source ne peut pas être Azure Cosmos DB for MongoDB ni Amazon DocumentDB (cluster élastique).

  • Votre base de données source doit activer Oplog et conserver Oplog pendant au moins sept jours. Vous pouvez également activer Change Streams et vous assurer que DTS peut s'abonner aux modifications de données des sept derniers jours via Change Streams. Sinon, DTS risque de ne pas pouvoir capturer les modifications de données, ce qui entraînerait l'échec de la tâche. Dans les cas extrêmes, cela peut provoquer une incohérence ou une perte de données. Ces problèmes ne sont pas couverts par l'accord de niveau de service (SLA) de DTS.

    Important
    • Nous vous recommandons d'utiliser Oplog pour capturer les modifications de données.

    • Seules les versions MongoDB 4.0 et ultérieures prennent en charge Change Streams. Change Streams ne prend pas en charge la synchronisation bidirectionnelle.

    • Si votre base de données source est Amazon DocumentDB (cluster non élastique), activez manuellement Change Streams. Lors de la configuration de la tâche, définissez Migration Method sur ChangeStream et Architecture sur Sharded Cluster.

  • Limites des opérations sur la base de données source :

    • Pendant la synchronisation du schéma et la synchronisation complète des données, ne modifiez pas le schéma des bases de données ou des collections (y compris les mises à jour de données de type tableau). Sinon, la tâche de synchronisation risque d'échouer ou de provoquer une incohérence des données entre les bases de données source et de destination.

    • Si vous effectuez uniquement une synchronisation complète des données, n'écrivez pas de nouvelles données dans l'instance source. Sinon, une incohérence des données peut survenir entre les bases de données source et de destination. Pour maintenir une cohérence en temps réel, nous vous recommandons de sélectionner la synchronisation du schéma, des données complètes et des données incrémentielles.

    • Si votre MongoDB source est une instance de cluster partitionné, n'exécutez pas de commandes modifiant la distribution des données sur les objets à synchroniser dans la base de données source pendant l'exécution de l'instance de synchronisation (par exemple, shardCollection, reshardCollection, unshardCollection, moveCollection ou movePrimary). Sinon, une incohérence des données peut survenir.

    • Pendant la synchronisation, ne mettez pas à jour le champ de la clé de shard dans la source. Sinon, la tâche DTS risque d'échouer.

  • Si les collections à synchroniser contiennent des index TTL, une incohérence des données ou une latence peut survenir.

  • Assurez-vous qu'aucun document orphelin n'existe dans votre instance de cluster partitionné MongoDB. Sinon, une incohérence des données ou un échec de la tâche peut survenir. Pour plus d'informations, consultez les documents orphaned documents et la rubrique Comment nettoyer les documents orphelins dans MongoDB (architecture de cluster partitionné).

  • Si votre MongoDB source est un cluster partitionné et que le Balancer équilibre les données, une latence peut survenir.

Autres limites

  • Pour les collections ajoutées dans la source pendant la synchronisation, la définition d'une valeur par défaut pour la clé de shard n'est pas prise en charge.

  • DTS ne prend pas en charge la connexion aux bases de données MongoDB à l'aide d'adresses SRV.

  • Lorsque DTS écrit des données dans la collection de destination, si un conflit de clé primaire ou de clé unique se produit, DTS ignore l'instruction d'écriture et conserve les données existantes dans la collection de destination.

  • Si la source n'est pas un cluster partitionné et que la destination est un cluster partitionné Alibaba Cloud MongoDB, la tâche passe à l'étape Configure Database and Table Fields.

  • Si l'instance MongoDB cible (architecture de cluster partitionné) est une version antérieure à 4,4, la valeur ShardKey par défaut que vous avez définie à l'étape Configure Database and Table Fields prend effet. DTS complète alors les données source avec cette valeur par défaut et écrit les données dans l'instance de destination. Si l'instance cible est en version 4.4 ou ultérieure, la valeur par défaut que vous avez définie à l'étape Configure Database and Table Fields ne prend pas effet et DTS écrit par défaut les données source dans l'instance de destination.

  • Nous vous recommandons d'utiliser la même version MongoDB pour les bases de données source et de destination. Vous pouvez également utiliser une version plus récente pour la destination afin de garantir la compatibilité. La synchronisation d'une version plus récente vers une version plus ancienne peut entraîner des problèmes de compatibilité.

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

  • Si la collection de destination possède un index unique ou si sa propriété capped est définie sur true, la relecture simultanée n'est pas prise en charge pendant la synchronisation incrémentielle. Seules les écritures monothread sont autorisées. Cela peut augmenter la latence de la tâche.

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

  • Si votre version MongoDB source est antérieure à 3,6 et que votre version MongoDB de destination est 3,6 ou ultérieure, des différences dans les plans d'exécution peuvent entraîner un ordre incohérent des champs dans les données synchronisées. Les relations champ-valeur restent inchangées. Si votre activité utilise des requêtes de correspondance de texte sur des structures imbriquées, évaluez l'impact d'un ordre de champs incohérent.

  • Évaluez les performances des bases de données source et de destination avant la synchronisation. Exécutez la synchronisation pendant les heures creuses. Sinon, 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.

  • N'écrivez pas de données dans la base de données de destination autrement que via DTS pendant la synchronisation. Sinon, une incohérence des données peut survenir entre les bases de données source et de destination.

  • 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 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.

  • Étant donné que DTS écrit les données de manière concurrente, l'espace de stockage utilisé par la destination est supérieur de 5 % à 10 % à celui de la source.

  • Pour obtenir le nombre de documents dans le MongoDB de destination, utilisez la syntaxe db.$table_name.aggregate([{ $count:"myCount"}]).

  • Assurez-vous que le MongoDB de destination ne possède pas la même clé primaire (par défaut _id) que la source. Sinon, une perte de données peut survenir. Si la destination possède la même clé primaire, effacez les données associées dans la destination sans affecter votre activité (supprimez les documents ayant la même valeur _id dans la destination).

  • 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 la rubrique Modify instance parameters.

  • Si vous basculez le trafic vers la base de données MongoDB de destination, assurez-vous que le comportement de votre application respecte les exigences de MongoDB pour les collections partitionnées.

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

  • Si la base de données source est MongoDB 5.0 ou ultérieure et que la version de la base de données de destination est antérieure à 5,0, vous ne pouvez pas synchroniser les collections capped collections. Si vous tentez de les synchroniser, la tâche échoue ou une incohérence des données survient entre les bases de données source et de destination. En effet, à partir de MongoDB 5.0, le comportement des collections capped collections a changé pour permettre des opérations telles que la suppression explicite et l'augmentation de la taille des documents lors des mises à jour, et les versions antérieures du noyau de base de données ne peuvent pas prendre en charge ces nouvelles fonctionnalités.

  • 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.

Cas particuliers

Si votre base de données source est un MongoDB géré par vos soins :

  • Si un basculement primaire/secondaire se produit dans la base de données source pendant la synchronisation, la tâche échoue.

  • DTS calcule la latence en comparant l'horodatage du dernier document synchronisé avec l'horodatage actuel. Si la base de données source ne reçoit 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.

Remarque

Si vous sélectionnez la synchronisation complète de la base de données, créez une table de heartbeat. Mettez à jour ou écrivez dans cette table toutes les secondes.

Facturation

Type de synchronisation

Tarification

Synchronisation du schéma et synchronisation complète des données

Gratuit.

Synchronisation incrémentielle des données

Facturé. Pour plus d'informations, consultez la rubrique Présentation de la facturation.

Types de synchronisation

Type

Description

Synchronisation du schéma

Réplique les schémas des objets sélectionnés de l'instance ApsaraDB for MongoDB source vers l'instance ApsaraDB for MongoDB de destination.

Synchronisation complète des données

Réplique toutes les données historiques des objets sélectionnés de l'instance ApsaraDB for MongoDB source vers l'instance ApsaraDB for MongoDB de destination.

Remarque

La synchronisation complète des données est prise en charge aux niveaux de la base de données et de la collection.

Synchronisation incrémentielle des données

Réplique les modifications en cours de l'instance ApsaraDB for MongoDB source vers l'instance ApsaraDB for MongoDB de destination une fois la synchronisation complète des données terminée.

Oplog

La synchronisation incrémentielle des données ne réplique pas les bases de données créées après le démarrage de la tâche. Les modifications suivantes sont répliquées :

  • CREATE COLLECTION et CREATE INDEX

  • DROP DATABASE, DROP COLLECTION et DROP INDEX

  • RENAME COLLECTION

    Remarque

    L'opération RENAME COLLECTION n'est pas répliquée si l'option dropTarget est définie sur true.

  • Insertions, mises à jour et suppressions de documents au sein d'une collection.

    Remarque

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

Change stream

Les modifications suivantes sont répliquées :

  • DROP DATABASE et DROP COLLECTION

  • RENAME COLLECTION

    Remarque

    L'opération RENAME COLLECTION n'est pas répliquée si l'option dropTarget est définie sur true.

  • Insertions, mises à jour et suppressions de documents au sein d'une collection.

    Remarque

    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 requises

Méthode d'autorisation

Instance ApsaraDB for MongoDB source

Autorisation read sur les bases de données que vous synchronisez, ainsi que sur les bases de données config, admin et local.

Utiliser DMS pour gérer les comptes de base de données MongoDB

Instance ApsaraDB for MongoDB de destination

Autorisation dbAdminAnyDatabase, autorisation readWrite sur la base de données de destination et autorisation read sur les bases de données local et config.

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 la rubrique 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.

    Section

    Parameter

    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 faciliter l'identification. 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

    Dans cet exemple, la synchronisation s'effectue au sein d'un seul compte Alibaba Cloud. Sélectionnez Alibaba Cloud Instance.

    Instance Region

    Dans cet exemple, sélectionnez Replica Set.

    • Replica Set : Cette architecture utilise plusieurs nœuds pour offrir une haute disponibilité et une séparation lecture/écriture. Pour plus d'informations, consultez l'architecture Replica Set.

    • Architecture : Cette architecture fournit les composants Mongos, Shard et ConfigServer. Vous pouvez personnaliser le nombre et les configurations des nœuds Mongos et Shard. Pour plus d'informations, consultez l'architecture Sharded Cluster.

    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 Sharded Cluster.

    • 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'Oplog de la base de données source sur Sharded Cluster, vous n'avez pas besoin de spécifier le Shard account ni le Architecture.

    Instance ID

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

    Authentication Database

    Saisissez le nom de la base de données pour le compte de base de données de l'instance ApsaraDB for MongoDB source. La valeur par défaut est admin.

    Shard password

    Saisissez le compte de base de données pour l'instance ApsaraDB for MongoDB source. Pour obtenir des informations sur les autorisations requises, consultez les Autorisations requises pour les comptes 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 : Database Account, SSL-encrypted et Mongo Atlas SSL. Les options d'Non-encrypted 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'Encryption est Sharded Cluster et dont la Migration Method est Architecture ne prend pas en charge l'option SSL-encrypted.

    • 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 Replica Set et que vous sélectionnez l'option SSL-encrypted, DTS vous permet également de télécharger un certificat CA pour vérifier la connexion.

    Alibaba Cloud Instance

    Select Existing Connection

    • 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 MongoDB.

    Select a DMS database instance.

    Sélectionnez Database Type.

    Instance Region

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

    Access Method

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

    Architecture

    Dans cet exemple, sélectionnez Replicate Data Across Alibaba Cloud Accounts.

    No

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

    Authentication Database

    Saisissez le nom de la base de données pour le compte de base de données sur l'instance ApsaraDB for MongoDB cible. La valeur par défaut est admin.

    Sharded Cluster

    Saisissez le compte de base de données pour l'instance ApsaraDB for MongoDB de destination. Pour obtenir des informations sur les autorisations requises, consultez les Autorisations requises pour les comptes de base de données.

    Instance ID

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

    Encryption

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

    Remarque
    • Les bases de données MongoDB dont l'Encryption est Access Method ne prennent pas en charge l'option SSL-encrypted.

    • Si la destination est une base de données MongoDB gérée par l'utilisateur (la Architecture n'est pas Sharded Cluster) avec un Replica Set et que vous sélectionnez l'option Access Method, DTS vous permet également de télécharger un certificat CA pour vérifier la connexion.

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

    Remarque
    • Assurez-vous que les blocs CIDR d'adresses IP des serveurs DTS sont ajoutés aux paramètres de sécurité des bases de données source et de destination pour autoriser l'accès depuis les serveurs DTS. Cette opération peut être effectuée automatiquement ou manuellement. Pour plus d'informations, consultez Ajouter les blocs 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 Access Method n'est pas Alibaba Cloud Instance), 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 SSL-encrypted, configurez les objets à synchroniser.

      Parameter

      Description

      Shard account

      Incremental Data Synchronization est sélectionné. Par défaut, vous devez également sélectionner Test Connectivity and Proceed et Access Method. Une fois la vérification préalable terminée, DTS effectue une synchronisation complète des données des objets sélectionnés depuis l'instance source vers le cluster de destination. Cela sert de données de référence pour la synchronisation incrémentielle ultérieure.

      Alibaba Cloud Instance

      • Test Connectivity : vérifie l'existence d'une collection portant le même nom dans la base de données de destination. Si une collection homonyme est trouvée, une erreur est signalée et la tâche de synchronisation des données ne démarre pas. Dans le cas contraire, la vérification préalable est réussie.

        Remarque

        Si vous ne pouvez pas supprimer ou renommer la collection homonyme dans la base de données de destination, vous pouvez modifier le nom de la collection dans la base de données de destination. Pour plus d'informations, consultez Définir le nom d'un objet de synchronisation dans l'instance de destination.

      • CIDR Blocks of DTS Servers : ignore la vérification des collections portant le même nom dans la base de données de destination.

        Avertissement

        La sélection de l'option Configure Objects peut entraîner une incohérence des données et mettre votre activité en péril. Par exemple :

        • Si un enregistrement de la base de données de destination possède la même valeur de clé primaire ou de clé unique qu'un enregistrement de la base de données source, l'enregistrement de la base de données de destination est conservé. L'enregistrement de la base de données source n'est pas synchronisé avec la base de données de destination.

        • Cela peut entraîner l'échec de l'initialisation des données, la synchronisation partielle des données ou l'échec total de la synchronisation.

      Synchronization Types

      Sélectionnez Incremental Data Synchronization.

      Schema Synchronization

      Vous pouvez configurer la politique de sensibilité à la casse pour les noms d'objets de base de données, de tables et de colonnes qui sont synchronisés vers l'instance de destination. Par défaut, la stratégie Full Data Synchronization est sélectionnée. Vous pouvez également choisir d'utiliser les stratégies par défaut des bases de données source et de destination. Pour plus d'informations, consultez Politique de sensibilité à la casse pour les noms d'objets de destination.

      Processing Mode of Conflicting Tables

      Dans la zone Precheck and Report Errors, cliquez sur un objet à synchroniser, puis cliquez sur 向右 pour le déplacer vers la zone Ignore Errors and Proceed.

      Remarque

      Vous pouvez synchroniser des bases de données ou des collections.

      Ignore Errors and Proceed

      • Pour spécifier le nom de la base de données de destination dans le cluster partitionné ApsaraDB for MongoDB :

        Cliquez avec le bouton droit sur la base de données sous Synchronization Topology. Dans la boîte de dialogue One-way Synchronization, modifiez le Capitalization of Object Names in Destination Instance pour lui attribuer le nom de base de données souhaité dans le cluster partitionné ApsaraDB for MongoDB de destination. Pour plus d'informations, consultez Mapper les noms d'objets.

      • Pour spécifier le nom de la collection de destination dans le cluster partitionné ApsaraDB for MongoDB :

        Cliquez avec le bouton droit sur la collection sous DTS default policy. Dans la boîte de dialogue Source Objects, modifiez le Source Objects pour lui attribuer le nom de collection souhaité dans le cluster partitionné ApsaraDB for MongoDB de destination.

        Important

        Vous ne pouvez spécifier une collection de destination que si vous avez sélectionné des collections comme objets de synchronisation.

      Remarque
      • Pour définir des conditions de filtrage (prises en charge pour la synchronisation complète mais pas pour la synchronisation incrémentielle), cliquez avec le bouton droit sur la table sous Selected Objects et spécifiez les conditions. Pour plus d'informations, consultez Définir des conditions de filtrage.

      • Si vous utilisez la fonctionnalité de mappage de noms d'objets pour spécifier une base de données ou une collection de destination, les autres objets qui dépendent de l'objet mappé peuvent ne pas être synchronisés.

    2. Cliquez sur Selected Objects pour configurer les paramètres avancés.

      Parameter

      Description

      Selected Objects

      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 ?.

      Edit Schema

      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 rétablir la connexion. 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 parvient à se reconnecter à la base de données dans le délai imparti, la tâche de synchronisation reprend automatiquement. Dans le cas contraire, 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, est 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.

      Schema Name

      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 concernées aboutissent dans le délai de nouvelle tentative défini, la tâche de synchronisation reprend automatiquement. Dans le cas contraire, la tâche échoue.

      Important

      La valeur de Selected Objects doit être inférieure à celle de Edit Table.

      Table Name

      Pendant la phase 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 Selected Objects, Next: Advanced Settings et Dedicated Cluster for Task Scheduling.

      Remarque
      • Cet élément de configuration est disponible uniquement lorsque Retry Time for Failed Connections est défini sur Retry Time for Other Issues.

      • Vous pouvez également ajuster le taux de synchronisation complète une fois que l'instance de synchronisation est en cours d'exécution.

      Retry Time for Other Issues

      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. Un choix incorrect peut entraîner une perte de données.

      • Ce paramètre est disponible uniquement si Retry Time for Failed Connections inclut Enable Throttling for Full Data Synchronization.

      • Queries per second (QPS) to the source database : 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.

      • RPS of Full Data Migration : 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.

      Data migration speed for full migration (MB/s)

      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 Synchronization Types et Full Data Synchronization.

      Only one data type for primary key _id in a table of the data to be synchronized

      Vous pouvez sélectionner un tag d'environnement pour identifier l'instance en fonction de vos besoins métier. Dans cet exemple, aucun tag n'est sélectionné.

      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 :

      No

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

    3. Cliquez sur Data synchronization speed for incremental synchronization (MB/s) pour configurer une tâche de validation des données.

      Si vous souhaitez utiliser la fonctionnalité de validation des données, consultez Configurer la validation des données pour obtenir des instructions de configuration.

    4. Cliquez sur Environment Tag.

      1. Dans la ligne de la collection de destination, cliquez sur Configure ETL.

        Remarque

        Si le nombre de Yes pour un No (collection) est 0, cela signifie que la collection de destination ne possède pas de clé de partitionnement et que vous n'avez pas besoin de définir de valeur par défaut.

      2. Sélectionnez un <!--@uicontrol {"id":"107bc9004alue","data-isbold="true"}-->Shard key default value type.

        Remarque

        Actuellement, seuls les types string et int sont pris en charge pour le paramètre <!--@uicontrol {"id":"708358104avkh","data-isbold="true"}-->Shard key default value type.

      3. Définissez une <!--@uicontrol {"id":"1b2f0b004ayi6","data-isbold="true"}-->Default Value pour la ShardKey.

        Important
        • La valeur de clé de partitionnement par défaut que vous définissez prend effet uniquement si la version du cluster partitionné ApsaraDB for MongoDB de destination est antérieure à la version 4.4.

        • Vous devez définir des valeurs par défaut pour toutes les clés de partitionnement des objets à synchroniser. Dans le cas contraire, un avertissement est généré pendant la phase de <!--@uicontrol {"id":"51ef3c204a7ro","data-isbold="true"}-->Precheck, ce qui peut même entraîner l'échec de la tâche.

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

    • Pour afficher les paramètres API de configuration de cette instance, placez le curseur sur le bouton Monitoring and Alerting et cliquez sur No dans la bulle d'aide.

    • Une fois que vous avez consulté les paramètres API, cliquez sur Yes 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 que si tous les éléments de vérification préalable sont validés.

    • Si la vérification préalable échoue, cliquez sur Next: Data Validation pour l'élément ayant échoué. Corrigez le problème selon les instructions, 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 Next: Configure Database and Table Fields à côté de l'élément. Suivez les instructions pour résoudre le problème, puis relancez la vérification préalable.

      • Pour les éléments de vérification qui peuvent être ignorés, vous pouvez cliquer successivement sur Set Default Value, Number of Shard Keys, Table Name et Shard key default value type 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 que l'incohérence des données et présenter des risques pour votre activité.

  7. Achetez l'instance.

    1. Lorsque le Shard key default value type est de 100 %, cliquez sur Default Value.

    2. Sur la page Precheck, 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.

      Category

      Parameter

      Description

      Next: Save Task Settings and Precheck

      Billing Method

      • 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 de l'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 réaliser des économies.

      Resource Group Configuration

      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 Qu'est-ce que Resource Management ?.

      Link Specification

      DTS propose des spécifications de synchronisation avec différents niveaux de performance. La spécification du 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.

      Subscription Duration

      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 Preview OpenAPI parameters.

    3. Une fois la configuration terminée, lisez et acceptez les Next: Save Task Settings and Precheck.

    4. Cliquez sur View Details. Dans la boîte de dialogue View Details, cliquez sur Confirm Alert Details.

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