Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de MongoDB comme source pour AWS DMS
Pour en savoir plus sur les versions de MongoDB qui sont prises en charge par AWS DMS en tant que source, consultez Sources pour AWS DMS.
Notez les éléments suivants concernant la prise en charge des versions de MongoDB :
Les versions d'AWS DMS 3.4.5 et versions ultérieures prennent en charge MongoDB versions 4.2 et 4.4.
Les versions d'AWS DMS 3.4.5 et versions ultérieures et les versions de MongoDB 4.2 et versions ultérieures prennent en charge les transactions distribuées. Pour plus d'informations sur les transactions distribuées MongoDB, consultez Transactions
dans la documentation de MongoDB . Les versions d'AWS DMS 3.5.0 et versions ultérieures ne prennent pas en charge les versions de MongoDB antérieures à 3.6.
Les versions d'AWS DMS 3.5.1 et versions ultérieures prennent en charge MongoDB version 5.0.
Les versions 3.5.2 et ultérieures d’AWS DMS prennent en charge MongoDB version 6.0.
Si vous n'êtes pas encore familiarisé avec MongoDB, soyez conscient des concepts importants suivants relatifs aux bases de données MongoDB :
-
Un enregistrement dans MongoDB est un document, c'est-à-dire une structure de données composée de paires champ-valeur. La valeur d'un champ peut contenir d'autres documents, tableaux et tableaux de documents. Un document correspond à peu près à une ligne dans une table de base de données relationnelle.
-
Une collection dans MongoDB est un groupe de documents et équivaut à peu près à une table de base de données relationnelle.
-
Une base de données dans MongoDB est un ensemble de collections et équivaut à peu près à un schéma dans une base de données relationnelle.
-
Au niveau interne, un document MongoDB est stocké sous forme de fichier JSON binaire (BSON) dans un format compressé qui contient un type pour chaque champ du document. Chaque document présente un ID unique.
AWS DMS prend en charge deux modes de migration lorsque MongoDB est utilisé en tant que source : le mode document ou le mode table. Vous spécifiez le mode de migration à utiliser lorsque vous créez le point de terminaison MongoDB ou en définissant le paramètre Mode métadonnées à partir de la console AWS DMS. Vous pouvez éventuellement créer une deuxième colonne nommée _id
qui fait office de clé primaire en cochant la case _id en tant que colonne séparée dans le panneau de configuration du point de terminaison.
Le mode de migration que vous choisissez affecte le format résultant des données cibles, comme indiqué ci-après.
- Mode document
-
En mode document, le document MongoDB est migré tel quel, ce qui signifie que ses données sont regroupées en une seule colonne nommée
_doc
dans une table cible. Le mode document est défini par défaut lorsque MongoDB est utilisé comme point de terminaison source.Prenons l'exemple des documents suivants dans une collection MongoDB appelée myCollection.
> db.myCollection.find() { "_id" : ObjectId("5a94815f40bd44d1b02bdfe0"), "a" : 1, "b" : 2, "c" : 3 } { "_id" : ObjectId("5a94815f40bd44d1b02bdfe1"), "a" : 4, "b" : 5, "c" : 6 }
Une fois les données migrées vers une table de base de données relationnelle à l'aide du mode document, les données sont structurées comme suit. Les champs de données du document MongoDB sont regroupés dans la colonne
_doc
.oid_id _doc 5a94815f40bd44d1b02bdfe0 { "a" : 1, "b" : 2, "c" : 3 }
5a94815f40bd44d1b02bdfe1 { "a" : 4, "b" : 5, "c" : 6 }
Vous pouvez éventuellement définir l'attribut de connexion supplémentaire
extractDocID
sur true pour créer une seconde colonne nommée"_id"
, qui servira de clé primaire. Pour pouvoir utiliser CDC, définissez ce paramètre sur true.En mode document, AWS DMS gère la création et le changement de nom des collections comme suit :
-
Si vous ajoutez une nouvelle collection à la base de données source, AWS DMS crée une nouvelle table cible pour la collection et réplique tous les documents.
-
Si vous renommez une collection existante dans la base de données source, AWS DMS ne renomme pas la table cible.
Si le point de terminaison cible est Amazon DocumentDB, exécutez la migration en mode document.
-
- Mode table
-
En mode table, AWS DMS transforme chaque champ de niveau supérieur d'un document MongoDB en une colonne dans la table cible. Si un champ est imbriqué, AWS DMS aplatit les valeurs imbriquées en une seule colonne. AWS DMS ajoute ensuite un champ clé et des types de données à l'ensemble de colonnes de la table cible.
Pour chaque document MongoDB, AWS DMS ajoute chaque clé et type à l'ensemble de colonnes de la table cible. Par exemple, en utilisant le mode table, AWS DMS migre l'exemple précédent dans la table suivante.
oid_id a b c 5a94815f40bd44d1b02bdfe0 1 2 3 5a94815f40bd44d1b02bdfe1 4 5 6 Les valeurs imbriquées sont mises à plat dans une colonne contenant des noms de clé séparés par un point. La colonne est nommée en utilisant la forme concaténée des noms de champs mis à plat, séparés par des points. Par exemple, AWS DMS migre un document JSON avec un champ de valeurs imbriquées tel que
{"a" : {"b" : {"c": 1}}}
dans une colonne nomméea.b.c.
Pour créer les colonnes cibles, AWS DMS analyse un nombre spécifié de documents MongoDB et crée un ensemble regroupant tous les champs et leurs types. AWS DMS utilise ensuite cet ensemble pour créer les colonnes de la table cible. Si vous créez ou modifiez votre point de terminaison source MongoDB à l'aide de la console , vous pouvez spécifier le nombre de documents à analyser. La valeur par défaut est de 1000 documents. Si vous utilisez AWS CLI, vous pouvez utiliser l'attribut de connexion supplémentaire
docsToInvestigate
.En mode table, AWS DMS gère les documents et les collections comme suit :
-
Lorsque vous ajoutez un document à une collection existante, le document est répliqué. Si certains champs ne figurent pas dans la cible, ils ne sont pas répliqués.
-
Lorsque vous mettez à jour un document, celui-ci est répliqué. Si certains champs ne figurent pas dans la cible, ils ne sont pas répliqués.
-
La suppression d'un document est pleinement prise en charge.
-
L'ajout d'une nouvelle collection n'entraîne pas la création d'une nouvelle table dans la cible lorsque cela est effectué durant une tâche CDC.
-
Lors de la phase de capture des données de modification (CDC), AWS DMS ne permet pas de renommer une collection.
-
Rubriques
- Autorisations nécessaires lors de l'utilisation de MongoDB comme source pour AWS DMS
- Configuration d'un ensemble de réplicas MongoDB pour la CDC
- Exigences de sécurité lors de l'utilisation de MongoDB comme source pour AWS DMS
- Segmentation des collections MongoDB et migration en parallèle
- Migration de plusieurs bases de données lors de l'utilisation de MongoDB en tant que source pour AWS DMS
- Limites d’utilisation de MongoDB comme source pour AWS DMS
- Paramètres de configuration de point de terminaison lors de l'utilisation de MongoDB en tant que source pour AWS DMS
- Types de données sources pour MongoDB
Autorisations nécessaires lors de l'utilisation de MongoDB comme source pour AWS DMS
Pour une migration AWS DMS avec une source MongoDB, vous pouvez créer un compte utilisateur avec des privilèges racine ou un utilisateur avec des autorisations uniquement sur la base de données à migrer.
Le code suivant permet de créer un utilisateur qui sera le compte racine.
use admin db.createUser( { user: "root", pwd: "
password
", roles: [ { role: "root", db: "admin" } ] } )
Pour une source MongoDB 3.x, le code suivant permet de créer un utilisateur avec des autorisations minimales sur la base de données à migrer.
use
database_to_migrate
db.createUser( { user: "dms-user
", pwd: "password
", roles: [ { role: "read", db: "local" }, "read"] })
Pour une source MongoDB 4.x, le code suivant permet de créer un utilisateur avec des privilèges minimum.
{ resource: { db: "", collection: "" }, actions: [ "find", "changeStream" ] }
Par exemple, créez le rôle suivant dans la base de données « admin ».
use admin db.createRole( { role: "changestreamrole", privileges: [ { resource: { db: "", collection: "" }, actions: [ "find","changeStream" ] } ], roles: [] } )
Une fois le rôle créé, créez un utilisateur dans la base de données à migrer.
> use test > db.createUser( { user: "dms-user12345", pwd: "password", roles: [ { role: "changestreamrole", db: "admin" }, "read"] })
Configuration d'un ensemble de réplicas MongoDB pour la CDC
Pour utiliser la réplication continue ou la CDC avec MongoDB, AWS DMS a besoin d'accéder au journal des opérations MongoDB (oplog). Pour créer le journal oplog, vous devez déployer un ensemble de réplicas, s'il n'en existe pas encore. Pour obtenir plus d'informations, consultez la documentation MongoDB
Vous pouvez utiliser la capture des données modifiées (CDC) avec le nœud principal ou secondaire d'un ensemble de réplicas MongoDB comme point de terminaison source.
Pour convertir une instance autonome en un ensemble de réplicas
-
Utilisation d'une ligne de commande, se connecter à
mongo
.mongo localhost
-
Arrêtez le service
mongod
.service mongod stop
-
Redémarrez
mongod
à l'aide de la commande suivante :mongod --replSet "rs0" --auth -port
port_number
-
Testez la connexion à l'ensemble de réplicas à l'aide des commandes suivantes :
mongo -u root -p
password
--host rs0/localhost:port_number
--authenticationDatabase "admin"
Si vous prévoyez d'effectuer une migration en mode document, sélectionnez l'option _id as a
separate column
lors de la création du point de terminaison MongoDB. La sélection de cette option permet de créer une seconde colonne nommée _id
, qui agit en tant que clé primaire. Cette deuxième colonne est nécessaire pour qu'AWS DMS puisse prendre en charge les opérations de langage de manipulation de données (DML).
Note
AWS DMS utilise le journal des opérations (oplog) pour capturer les modifications pendant la réplication continue. Si MongoDB vide les enregistrements du journal des opérations avant qu'AWS DMS n'ait pu les lire, vos tâches échouent. Nous vous recommandons de dimensionner le journal des opérations pour conserver les modifications pendant au moins 24 heures.
Exigences de sécurité lors de l'utilisation de MongoDB comme source pour AWS DMS
AWS DMS prend en charge deux méthodes d'authentification pour MongoDB. Les deux méthodes d'authentification sont utilisées pour chiffrer le mot de passe. Elles sont donc utilisées uniquement lorsque le paramètre authType
est défini sur PASSWORD.
Les méthodes d'authentification MongoDB sont les suivantes :
-
MONGODB-CR : pour la rétrocompatibilité
-
SCRAM-SHA-1 : méthode par défaut lors de l'utilisation de MongoDB version 3.x et 4.0
Si aucune méthode d'authentification n'est spécifiée, AWS DMS utilise la méthode par défaut pour la version de la source MongoDB.
Segmentation des collections MongoDB et migration en parallèle
Pour améliorer les performances d'une tâche de migration, les points de terminaison source MongoDB prennent en charge deux options de chargement complet en parallèle dans le mappage de table.
En d'autres termes, vous pouvez migrer une collection en parallèle en utilisant la segmentation automatique ou la segmentation par plage avec le mappage de table pour un chargement complet en parallèle dans les paramètres JSON. Avec la segmentation automatique, vous pouvez spécifier les critères permettant à AWS DMS de segmenter automatiquement votre source pour la migration dans chaque thread. Avec la segmentation par plage, vous pouvez indiquer à AWS DMS la plage spécifique de chaque segment que DMS doit migrer dans chaque thread. Pour plus d'informations sur ces paramètres, consultez Règles des paramètres de table et de collection et opérations.
Migration d'une base de données MongoDB en parallèle à l'aide de plages de segmentation automatique
Vous pouvez migrer vos documents en parallèle en spécifiant les critères permettant à AWS DMS de partitionner (segmenter) automatiquement vos données pour chaque thread. Vous spécifiez notamment le nombre de documents à migrer par thread. En utilisant cette approche, AWS DMS tente d'optimiser les limites de segment pour augmenter les performances par thread.
Vous pouvez spécifier les critères de segmentation à l'aide des options table-settings suivantes dans table-mapping.
Option table-settings |
Description |
---|---|
|
(Obligatoire) Définie sur |
|
(Facultatif) Nombre total de partitions (segments) utilisées pour la migration. La valeur par défaut est 16. |
|
(Facultatif) Si cette option est définie sur |
|
(Facultatif) Nombre d'enregistrements à ignorer simultanément lors de la détermination des limites pour chaque partition. AWS DMS ignore un certain nombre d'enregistrements par page pour déterminer la limite minimale d'une partition. La valeur par défaut est 10 000. La définition d'une valeur relativement élevée peut entraîner des délais d'expiration du curseur et des échecs de tâche. La définition d'une valeur relativement faible entraîne un plus grand nombre d'opérations par page et ralentit le chargement complet. |
|
(Facultatif) Limite le nombre de documents renvoyés dans un lot. Chaque lot nécessite un aller retour jusqu'au serveur. Si la taille du lot est égale à zéro (0), le curseur utilise la taille de lot maximale définie par le serveur. La valeur par défaut est 0. |
L'exemple suivant illustre un mappage de table pour la segmentation automatique.
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "admin", "table-name": "departments" }, "rule-action": "include", "filters": [] }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "admin", "table-name": "departments" }, "parallel-load": { "type": "partitions-auto", "number-of-partitions": 5, "collection-count-from-metadata": "true", "max-records-skip-per-page": 1000000, "batch-size": 50000 } } ] }
La segmentation automatique présente les limitations suivantes. Pour chaque segment, la migration extrait séparément le nombre de collections et la valeur minimale de _id
pour la collection. Elle ignore ensuite un certain nombre d'enregistrements par page pour calculer la limite minimale pour ce segment.
Par conséquent, assurez-vous que la valeur minimale de _id
reste constante pour chaque collection, jusqu'à ce que toutes les limites de segment de la collection soient calculées. Si vous modifiez la valeur minimale de _id
d'une collection lors du calcul de ses limites de segment, cela peut entraîner une perte de données ou des erreurs de lignes en double.
Migration d'une base de données MongoDB en parallèle à l'aide de la segmentation par plage
Vous pouvez migrer vos documents en parallèle en spécifiant les plages pour chaque segment d'un thread. En utilisant cette approche, vous indiquez à AWS DMS les documents à migrer dans chaque thread en fonction des plages de documents que vous avez choisies par thread.
L'image suivante illustre une collection MongoDB composée de sept éléments, qui utilise _id
comme clé primaire.
Pour diviser la collection en trois segments spécifiques qu'AWS DMS va migrer en parallèle, vous pouvez ajouter des règles de mappage de table à votre tâche de migration. Cette approche est illustrée dans l'exemple de code JSON suivant.
{ // Task table mappings: "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "testdatabase", "table-name": "testtable" }, "rule-action": "include" }, // "selection" :"rule-type" { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "testdatabase", "table-name": "testtable" }, "parallel-load": { "type": "ranges", "columns": [ "_id", "num" ], "boundaries": [ // First segment selects documents with _id less-than-or-equal-to 5f805c97873173399a278d79 // and num less-than-or-equal-to 2. [ "5f805c97873173399a278d79", "2" ], // Second segment selects documents with _id > 5f805c97873173399a278d79 and // _id less-than-or-equal-to 5f805cc5873173399a278d7c and // num > 2 and num less-than-or-equal-to 5. [ "5f805cc5873173399a278d7c", "5" ] // Third segment is implied and selects documents with _id > 5f805cc5873173399a278d7c. ] // :"boundaries" } // :"parallel-load" } // "table-settings" :"rule-type" ] // :"rules" } // :Task table mappings
Cette définition de mappage de table divise la collection source en trois segments et la migre en parallèle. Les limites de segmentation sont les suivantes.
Data with _id less-than-or-equal-to "5f805c97873173399a278d79" and num less-than-or-equal-to 2 (2 records) Data with _id > "5f805c97873173399a278d79" and num > 2 and _id less-than-or-equal-to "5f805cc5873173399a278d7c" and num less-than-or-equal-to 5 (3 records) Data with _id > "5f805cc5873173399a278d7c" and num > 5 (2 records)
Une fois la tâche de migration terminée, vous pouvez vérifier dans les journaux de tâches que les tables sont chargées en parallèle, comme indiqué dans l'exemple suivant. Vous pouvez également vérifier la clause find
de MongoDB utilisée pour décharger chaque segment de la table source.
[TASK_MANAGER ] I: Start loading segment #1 of 3 of table 'testdatabase'.'testtable' (Id = 1) by subtask 1. Start load timestamp 0005B191D638FE86 (replicationtask_util.c:752) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is initialized. (mongodb_unload.c:157) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is: { "_id" : { "$lte" : { "$oid" : "5f805c97873173399a278d79" } }, "num" : { "$lte" : { "$numberInt" : "2" } } } (mongodb_unload.c:328) [SOURCE_UNLOAD ] I: Unload finished for segment #1 of segmented table 'testdatabase'.'testtable' (Id = 1). 2 rows sent. [TASK_MANAGER ] I: Start loading segment #1 of 3 of table 'testdatabase'.'testtable' (Id = 1) by subtask 1. Start load timestamp 0005B191D638FE86 (replicationtask_util.c:752) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is initialized. (mongodb_unload.c:157) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is: { "_id" : { "$lte" : { "$oid" : "5f805c97873173399a278d79" } }, "num" : { "$lte" : { "$numberInt" : "2" } } } (mongodb_unload.c:328) [SOURCE_UNLOAD ] I: Unload finished for segment #1 of segmented table 'testdatabase'.'testtable' (Id = 1). 2 rows sent. [TARGET_LOAD ] I: Load finished for segment #1 of segmented table 'testdatabase'.'testtable' (Id = 1). 1 rows received. 0 rows skipped. Volume transfered 480. [TASK_MANAGER ] I: Load finished for segment #1 of table 'testdatabase'.'testtable' (Id = 1) by subtask 1. 2 records transferred.
Actuellement, AWS DMS prend en charge les types de données MongoDB suivants sous forme de colonne de clé de segment :
-
Double
-
Chaîne
-
ObjectId
-
Entier 32 bits
-
Entier 64 bits
Migration de plusieurs bases de données lors de l'utilisation de MongoDB en tant que source pour AWS DMS
AWS DMS versions 3.4.5 et ultérieures prennent en charge la migration de plusieurs bases de données en une seule tâche pour toutes les versions de MongoDB prises en charge. Si vous souhaitez migrer plusieurs bases de données, procédez comme suit :
-
Lorsque vous créez le point de terminaison source MongoDB, procédez de l'une des manières suivantes :
-
Sur la page Créer un point de terminaison de la console DMS, assurez-vous que le Nom de base de données est vide sous Configuration du point de terminaison.
-
À l'aide de la commande AWS CLI
CreateEndpoint
, affectez une valeur de chaîne vide au paramètreDatabaseName
dansMongoDBSettings
.
-
-
Pour chaque base de données que vous souhaitez migrer à partir d'une source MongoDB, spécifiez le nom de la base de données sous forme de nom de schéma dans le mappage de table de la tâche. Pour ce faire, utilisez la saisie guidée dans la console ou effectuez votre saisie directement dans le code JSON. Pour plus d'informations sur la saisie guidée, consultez Spécification des règles de sélection de table et de transformation à partir de la console. Pour plus d'informations sur le code JSON, consultez Règles et actions de sélection.
Vous pouvez par exemple spécifier le code JSON suivant pour migrer trois bases de données MongoDB.
Exemple Migrer toutes les tables dans un schéma
Le code JSON suivant permet de migrer toutes les tables à partir des bases de données Customers
, Orders
et Suppliers
du point de terminaison source vers votre point de terminaison cible.
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Customers", "table-name": "%" }, "rule-action": "include", "filters": [] }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Orders", "table-name": "%" }, "rule-action": "include", "filters": [] }, { "rule-type": "selection", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "Inventory", "table-name": "%" }, "rule-action": "include", "filters": [] } ] }
Limites d’utilisation de MongoDB comme source pour AWS DMS
Les limites suivantes s'appliquent lorsque MongoDB est utilisé comme source pour AWS DMS :
-
En mode table, les documents d'une collection doivent être cohérents dans le type de données qu'ils utilisent pour la valeur du même champ. Par exemple, si un document d'une collection inclut
'{ a:{ b:value ... }'
, tous les documents de la collection qui font référence àvalue
dans le champa.b
doivent utiliser le même type de données pourvalue
, quel que soit l'endroit où il apparaît dans la collection. -
Lorsque l'option
_id
est définie comme une colonne distincte, la chaîne d'ID ne peut pas contenir plus de 200 caractères. -
Les clés de type de tableau et d'ID d'objet sont converties en colonnes dotées des préfixes
array
etoid
en mode table.En interne, ces colonnes sont référencées avec les noms préfixés. Si vous utilisez des règles de transformation dans AWS DMS qui font référence à ces colonnes, assurez-vous de spécifier la colonne préfixée. Par exemple, vous spécifiez
${oid__id}
et pas${_id}
, ou${array__addresses}
et pas${_addresses}
. -
Les noms de collection et les noms de clé ne peuvent pas contenir le symbole du dollar ($).
-
AWS DMS ne prend pas en charge les collections dont un même champ contient à la fois des majuscules et des minuscules en mode table avec une cible RDBMS. Par exemple, AWS DMS n'autorise pas que deux collections soient nommées
Field1
etfield1
. -
Le mode table et le mode document présentent les limitations décrites précédemment.
-
La migration en parallèle à l'aide de la segmentation automatique présente les limitations décrites ci-dessus.
-
Les filtres de source ne sont pas pris en charge pour MongoDB.
-
AWS DMS ne prend pas en charge les documents dont le niveau d'imbrication est supérieur à 97.
-
AWS DMS ne prend pas en charge les fonctionnalités suivantes de MongoDB version 5.0 :
Repartitionnement en direct
Chiffrement au niveau des champs côté client (CSFLE)
Migration de collections de séries temporelles
Note
Une collection de séries temporelles migrée pendant la phase de chargement complet sera convertie en collection normale dans Amazon DocumentDB, car DocumentDB ne prend pas en charge les collections de séries temporelles.
Paramètres de configuration de point de terminaison lors de l'utilisation de MongoDB en tant que source pour AWS DMS
Lorsque vous configurez le point de terminaison source MongoDB, vous pouvez spécifier plusieurs paramètres de configuration de point de terminaison à l'aide de la console AWS DMS.
Le tableau suivant décrit les paramètres de configuration disponibles lorsque vous utilisez les bases de données MongoDB en tant que source AWS DMS.
Paramètre (attribut) | Valeurs valides | Valeur par défaut et description |
---|---|---|
Mode d'authentification |
|
La valeur |
Source d'authentification |
Un nom de base de données MongoDB valide. |
Nom de la base de données MongoDB que vous souhaitez utiliser pour valider vos informations d'identification pour l'authentification. La valeur par défaut est |
Mécanisme d'authentification |
|
Mécanisme d'authentification. La valeur |
Mode métadonnées |
Document et table |
Choisit le mode document ou le mode table. |
Nombre de documents à numériser ( |
Un nombre entier positif supérieur à |
Utilisez cette option en mode table uniquement pour définir la définition de table cible. |
_id en tant que colonne séparée |
Case cochée |
Case à cocher facultative qui permet de créer une seconde colonne nommée |
|
NOMBRE Attribut de connexion supplémentaire (ECA) uniquement. |
Ce paramètre est exprimé en millisecondes et configure le délai de connexion pour les clients MongoDB. Si la valeur est inférieure ou égale à zéro, la valeur par défaut du client MongoDB est utilisée. |
|
boolean
|
Lorsque ce paramètre est défini sur true, pendant les événements de mise à jour de CDC, AWS DMS copie l'intégralité du document mis à jour et le colle dans la cible. Lorsqu'il est défini sur false, AWS DMS utilise la commande de mise à jour MongoDB pour mettre à jour uniquement les champs modifiés dans le document sur la cible. |
|
boolean
|
Lorsque sa valeur est true, AWS DMS réplique les données vers des collections de partitions. AWS DMS utilise ce paramètre uniquement si le point de terminaison cible est un cluster Elastic DocumentDB. Lorsque ce paramètre est défini sur true, notez les éléments suivants :
|
Si vous choisissez Document comme Mode métadonnées, différentes options sont disponibles.
Si le point de terminaison cible est DocumentDB, assurez-vous d'exécuter la migration en Mode document. Modifiez également le point de terminaison source et sélectionnez l'option _id en tant que colonne séparée. Il s'agit d'un prérequis obligatoire si votre charge de travail MongoDB source implique des transactions.
Types de données sources pour MongoDB
La migration des données qui utilise MongoDB comme source pour AWS DMS prend en charge la plupart des types de données MongoDB. Dans le tableau suivant, vous pouvez trouver les types de données sources MongoDB qui sont pris en charge lorsque vous utilisez AWS DMS et le mappage par défaut des types de données AWS DMS. Pour de plus amples informations sur les types de données MongoDB, veuillez consulter Types BSON
Pour obtenir des informations sur la façon d'afficher le type de données qui est mappé dans la cible, consultez la section relative au point de terminaison cible que vous utilisez.
Pour de plus amples informations sur les types de données AWS DMS, veuillez consulter Types de données pour AWS Database Migration Service.
Types de données MongoDB |
Types de données AWS DMS |
---|---|
Booléen |
Booléen |
Binaire |
BLOB |
Date |
Date |
Horodatage |
Date |
Int |
INT4 |
Long |
INT8 |
Double |
REAL8 |
Chaîne (UTF-8) |
CLOB |
Tableau |
CLOB |
OID |
Chaîne |
REGEX |
CLOB |
CODE |
CLOB |