Uso de MongoDB como origen para AWS DMS - AWS Database Migration Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de MongoDB como origen para AWS DMS

Para obtener información sobre las versiones de MongoDB que AWS DMS admite como origen, consulte Fuentes de AWS DMS.

Tenga en cuenta lo siguiente sobre la compatibilidad de versiones de MongoDB:

  • Las versiones de AWS DMS 3.4.5 y más recientes admiten las versiones 4.2 y 4.4 de MongoDB.

  • Las versiones de AWS DMS 3.4.5 y más recientes y las versiones de MongoDB 4.2 y más recientes admiten transacciones distribuidas. Para obtener más información sobre las transacciones distribuidas de MongoDB, consulte Transacciones en la documentación de MongoDB.

  • Las versiones de AWS DMS 3.5.0 y más recientes no admiten las versiones de MongoDB anteriores a 3.6.

  • Las versiones de AWS DMS 3.5.1 y más recientes admiten la versión 5.0 de MongoDB.

  • Las versiones de AWS DMS 3.5.2 y más recientes admiten la versión 6.0 de MongoDB.

Si no está familiarizado con MongoDB, tenga en cuenta los siguientes conceptos importantes sobre las bases de datos MongoDB:

  • Un registro en MongoDB es un documento formado por una estructura de datos compuesta de pares de campo y valor. El valor de un campo puede incluir otros documentos, matrices y matrices de documentos. Un documento es más o menos equivalente a una fila en una tabla de base de datos relacional.

  • Una colección en MongoDB es un grupo de documentos y es aproximadamente equivalente a una tabla de base de datos relacional.

  • Una base de datos de MongoDB es un conjunto de recopilaciones y equivale aproximadamente a un esquema de una base de datos relacional.

  • Internamente, un documento de MongoDB se almacena como archivo JSON binario (BSON) en formato comprimido, que incluye un tipo para cada campo del documento. Cada documento tiene un identificador único.

AWS DMS admite dos modos de migración al usar MongoDB como origen, Modo documento o Modo tabla. Se especifica qué modo de migración usar al crear el punto de conexión de MongoDB o al configurar el parámetro del Modo metadatos desde la consola de AWS DMS. Otra opción, puede crear una segunda columna con un nombre _id que actúe como clave principal. Para ello, seleccione el botón de verificación de _id como columna independiente en el panel de configuración del punto de conexión.

La selección del modo de migración afecta al formato resultante de los datos de destino, como se indica a continuación.

Modo documento

En el modo documento, el documento de MongoDB se migra tal cual, es decir, sus datos se consolidan en una única columna de una tabla de destino denominada _doc. El modo documento es la configuración predeterminada al usar MongoDB como punto de enlace de origen.

Por ejemplo, tenga en cuenta los siguientes documentos en una colección de MongoDB llamada myCollection.

> db.myCollection.find() { "_id" : ObjectId("5a94815f40bd44d1b02bdfe0"), "a" : 1, "b" : 2, "c" : 3 } { "_id" : ObjectId("5a94815f40bd44d1b02bdfe1"), "a" : 4, "b" : 5, "c" : 6 }

Después de migrar los datos a una tabla de base de datos relacional utilizando el modo documento, los datos se estructuran de la siguiente forma. Los campos de datos del documento de MongoDB se consolidan en la columna _doc.

oid_id _doc
5a94815f40bd44d1b02bdfe0 { "a" : 1, "b" : 2, "c" : 3 }
5a94815f40bd44d1b02bdfe1 { "a" : 4, "b" : 5, "c" : 6 }

Si lo desea, puede establecer el extractDocID del atributo de conexión adicional en true para crear otra columna denominada "_id" que actúe como clave principal. Si va a utilizar CDC, establezca este parámetro en verdadero.

En modo de documento, AWS DMS gestiona la creación y el cambio de nombre de colecciones como esta:

  • Si se añade una nueva colección a la base de datos de origen, AWS DMS crea una tabla de destino para la colección y replica los documentos.

  • Si se cambia el nombre de una recopilación existente en la base de datos de origen, AWS DMS no cambia el nombre de la tabla de destino.

Si el punto de conexión de destino es MongoDB o Amazon DocumentDB, ejecute la migración en Modo documento.

Modo de tabla

En el modo de tabla, AWS DMS transforma cada uno de los campos de nivel superior de un documento de MongoDB en una columna de la tabla de destino. Si un campo está anidad, AWS DMS reúne los valores anidados en una sola columna. A continuación, AWS DMS añade un campo clave y tipos de datos al conjunto de columnas de la tabla de destino.

Para cada documento de MongoDB, AWS DMS agrega cada clave y tipo al conjunto de columnas de la tabla de destino. Por ejemplo, con el modo de tabla, AWS DMS migra el ejemplo anterior a la siguiente tabla.

oid_id a b c
5a94815f40bd44d1b02bdfe0 1 2 3
5a94815f40bd44d1b02bdfe1 4 5 6

Los valores anidados se aplanan en una columna que contiene nombres de clave separados por puntos. El nombre de la columna será la concatenación de los nombres de los campos reunidos, separados por puntos. Por ejemplo, AWS DMS migra un documento JSON con un campo de valores anidados, como {"a" : {"b" : {"c": 1}}}, a una columna denominada a.b.c.

Para crear las columnas de destino, AWS DMS analiza un número determinado de documentos de MongoDB y crea un conjunto de todos los campos y sus tipos. AWS DMS utiliza este conjunto a continuación para crear las columnas de la tabla de destino. Si crea o modifica el punto de enlace de origen de MongoDB mediante la consola de , puede especificar el número de documentos que se van a analizar. El valor predeterminado es de 1000 documentos. Si utiliza la AWS CLI, puede usar el atributo de conexión adicional docsToInvestigate.

En modo de tabla, AWS DMS gestiona documentos y colecciones de este modo:

  • Cuando añada un documento a una colección existente, el documento se replica. Si hay campos que no existen en el destino, estos campos no se replican.

  • Al actualizar un documento, el documento actualizado se replican. Si hay campos que no existen en el destino, estos campos no se replican.

  • Se admite en toda su extensión la eliminación de documentos.

  • Cuando se añade una colección nueva, no se crea una tabla nueva en el destino si se efectúa mientras se desarrolla una tarea de CDC.

  • En la fase de captura de datos de cambios (CDC), AWS DMS no permite cambiar el nombre de una recopilación.

Permisos necesarios al usar MongoDB como origen para AWS DMS

Para una migración de AWS DMS con un origen de MongoDB, puede crear una cuenta de usuario con privilegios raíz o bien un usuario que tenga permisos solamente en la base de datos que migrar.

El código siguiente crear un usuario para que sea la cuenta raíz.

use admin db.createUser( { user: "root", pwd: "password", roles: [ { role: "root", db: "admin" } ] } )

Para un origen de MongoDB 3.x, el código siguiente crea un usuario con privilegios mínimos en la base de datos que se va a migrar.

use database_to_migrate db.createUser( { user: "dms-user", pwd: "password", roles: [ { role: "read", db: "local" }, "read"] })

Para un origen de MongoDB 4.x, el siguiente código crea un usuario con privilegios mínimos.

{ resource: { db: "", collection: "" }, actions: [ "find", "changeStream" ] }

Por ejemplo, cree el siguiente rol en la base de datos “admin”.

use admin db.createRole( { role: "changestreamrole", privileges: [ { resource: { db: "", collection: "" }, actions: [ "find","changeStream" ] } ], roles: [] } )

Y una vez creado el rol, cree un usuario en la base de datos que se va a migrar.

> use test > db.createUser( { user: "dms-user12345", pwd: "password", roles: [ { role: "changestreamrole", db: "admin" }, "read"] })

Configuración de un conjunto de réplicas de MongoDB para CDC

Para utilizar la replicación continua o la CDC con MongoDB, AWS DMS requiere acceso al registro de operaciones (oplog) de MongoDB. Para crear dicho log, debe implementar un conjunto de réplicas si no existe ninguno. Para obtener más información, consulte la documentación de MongoDB.

Puede utilizar CDC con el nodo principal o secundario de un conjunto de réplicas de MongoDB como punto de enlace de origen.

Para convertir una instancia independiente a un conjunto de réplicas
  1. Usar la línea de comandos, conectarse a mongo.

    mongo localhost
  2. Detenga el servicio mongod.

    service mongod stop
  3. Reinicie mongod utilizando el siguiente comando:

    mongod --replSet "rs0" --auth -port port_number
  4. Pruebe la conexión con el conjunto de réplicas con los siguientes comandos:

    mongo -u root -p password --host rs0/localhost:port_number --authenticationDatabase "admin"

Si tiene previsto realizar una migración con el modo documento, seleccione la opción _id as a separate column al crear el punto de enlace de MongoDB. Si se selecciona esta opción, se crea otra columna denominada _id, que actúa como clave principal. AWS DMS necesita esta segunda columna para poder admitir operaciones de lenguaje de manipulación de datos (DML).

nota

AWS DMS utiliza el registro de operaciones (oplog) para capturar los cambios durante la replicación en curso. Si MongoDB vacía los registros de oplog antes de que AWS DMS los lea, las tareas producirán un error. Recomendamos ajustar el tamaño de oplog para retener los cambios durante al menos 24 horas.

Requisitos de seguridad al utilizar MongoDB como origen para AWS DMS

AWS DMS admite dos métodos de autenticación para MongoDB. Los dos métodos de autenticación se utilizan para cifrar la contraseña, de forma que solo se pueda utilizar cuando el parámetro authType se haya establecido en PASSWORD (CONTRASEÑA).

Los métodos de autenticación de MongoDB son los siguientes:

  • MONGODB-CR: para compatibilidad con versiones anteriores

  • SCRAM-SHA-1: el valor predeterminado cuando se usa MongoDB versión 3.x y 4.0

Si no se especifica un método de autenticación, AWS DMS utiliza el método predeterminado para la versión del origen de MongoDB.

Segmentación de recopilaciones y migración en paralelo de MongoDB

Para mejorar el rendimiento de una tarea de migración, los puntos de conexión de origen de MongoDB admiten dos opciones de carga completa paralela en la asignación de tablas.

En otras palabras, puede migrar una recopilación en paralelo mediante la segmentación automática o de segmentación por rango de la asignación de tablas para una carga completa paralela en la configuración de JSON. Con la segmentación automática, puede especificar los criterios de AWS DMS para segmentar automáticamente el origen para la migración en cada subproceso. Las opciones de segmentación por rango, puede indicar a AWS DMS el rango específico de cada segmento para que DMS migre en cada subproceso. Para obtener más información sobre estas configuraciones, consulte Reglas y operaciones de configuración de tablas y recopilaciones.

Migración de una base de datos de MongoDB en paralelo mediante rangos de segmentación automática

Puede migrar los documentos en paralelo especificando los criterios para que AWS DMS particione (segmentar) automáticamente los datos de cada subproceso. En concreto, se especifica el número de documentos que se van a migrar por subproceso. Con este enfoque, AWS DMS intenta optimizar los límites de los segmentos para obtener el máximo rendimiento por subproceso.

Puede especificar los criterios de segmentación mediante las siguientes opciones de configuración de tabla en la asignación de tablas.

Opción de configuración de tabla

Descripción

"type"

(Obligatorio) Establezca "partitions-auto" para MongoDB como origen.

"number-of-partitions"

(Opcional) Número total de particiones (segmentos) utilizadas para la migración. El valor predeterminado es 16.

"collection-count-from-metadata"

(Opcional) Si esta opción se establece en true, AWS DMS utiliza un recuento de recopilaciones estimado para determinar el número de particiones. Si esta opción se establece en false, AWS DMS utiliza el recuento de recopilaciones real. El valor predeterminado es true.

"max-records-skip-per-page"

(Opcional) El número de registros a omitir a la vez al determinar los límites de cada partición. AWS DMS utiliza un enfoque de omisión paginada para determinar el límite mínimo de una partición. El valor predeterminado es 10 000.

El establecimiento de un valor relativamente alto puede provocar tiempos de espera del cursor y errores en las tareas. Si se establece un valor relativamente bajo, se realizan más operaciones por página y se ralentiza la carga completa.

"batch-size"

(Opcional) Limita el número de documentos que se devuelven en un lote. Cada lote requiere un viaje de ida y vuelta al servidor. Si el tamaño del lote es cero (0), el cursor utiliza el tamaño máximo de lote definido por el servidor. El valor predeterminado es 0.

En el siguiente ejemplo, se muestra una tabla de asignación para la segmentación automática.

{ "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 segmentación automática tiene la siguiente limitación. La migración de cada segmento obtiene el recuento de la recopilación y el _id mínimo para la recopilación de forma individual. A continuación, utiliza un salto paginado para calcular el límite mínimo de ese segmento.

Por lo tanto, asegúrese de que el valor de _id mínimo de cada recopilación permanezca constante hasta que se calculen todos los límites de los segmentos de la recopilación. Si cambia el valor de _id mínimo de una recopilación durante el cálculo del límite del segmento, puede provocar la pérdida de datos o errores en las filas duplicadas.

Migración de una base de datos de MongoDB en paralelo mediante la segmentación por rango

Puede migrar los documentos en paralelo especificando los rangos de cada segmento de un subproceso. Con este enfoque, puede indicar a AWS DMS los documentos específicos que deben migrar en cada subproceso de acuerdo con los rangos de documentos que haya elegido por subproceso.

La siguiente imagen muestra una recopilación de MongoDB que tiene siete elementos y _id como la clave principal.


                        Recopilación de MongoDB con siete artículos.

Para dividir la recopilación en tres segmentos para AWS DMS y migrar en paralelo, puede agregar reglas de asignación de tablas a la tarea de migración. Este enfoque se muestra en el siguiente ejemplo de JSON.

{ // 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

Esa definición de asignación de tablas divide la recopilación de orígenes en tres segmentos y migra en paralelo. A continuación, se muestran límites de segmentación.

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)

Una vez finalizada la tarea de migración, puede comprobar en los registros de tareas que las tablas se han cargado en paralelo, como se muestra en el siguiente ejemplo. También puede comprobar la cláusula find de MongoDB utilizada para descargar cada segmento de la tabla de origen.

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

Actualmente, AWS DMS admite los siguientes tipos de datos de MongoDB como columna de clave de segmento:

  • Doble

  • Cadena

  • ObjectId

  • Entero de 32 bits

  • Entero de 64 bits

Migración de varias bases de datos cuando se utiliza MongoDB como origen para AWS DMS

Las versiones de AWS DMS 3.4.5 y superiores admiten la migración de varias bases de datos en una sola tarea para todas las versiones de MongoDB compatibles. Si desea migrar varias bases de datos, realice estos pasos:

  1. Al crear el punto de conexión de origen de MongoDB, realice alguna de las siguientes operaciones:

    • En la página Crear punto de conexión de la consola de DMS, asegúrese de que el nombre de la base de datos esté vacío en la configuración del punto de conexión.

    • Con el comando CreateEndpoint de AWS CLI, asigne un valor de cadena vacío al parámetro DatabaseName en MongoDBSettings.

  2. Para cada base de datos que desee migrar desde un origen de MongoDB, especifique el nombre de la base de datos como nombre de esquema en la tabla de asignación de la tarea. Puede hacerlo mediante la entrada guiada de la consola o directamente en JSON. Para obtener más información sobre la entrada guiada, consulte Especificación de selección de tablas y reglas de transformaciones desde la consola. Para obtener más información sobre el archivo JSON, consulte Reglas y acciones de selección.

Por ejemplo, es posible que especifique el siguiente JSON para migrar tres bases de datos de MongoDB.

ejemplo Migrar todas las tablas de un esquema

El siguiente JSON migra todas las tablas de base de datos de Customers, Orders y Suppliers del punto de conexión de origen al punto de conexión de destino.

{ "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": [] } ] }

Restricciones al usar MongoDB como origen para AWS DMS

A continuación, se describen las restricciones que se aplican cuando se utiliza MongoDB como origen para AWS DMS:

  • En el modo tabla, los documentos de una recopilación deben ser coherentes en cuanto al tipo de datos que utilizan para el valor del mismo campo. Por ejemplo, si un documento de una recopilación incluye '{ a:{ b:value ... }', todos los documentos de la recopilación que hacen referencia al value del campo a.b deben usar el mismo tipo de datos para value, independientemente del lugar donde aparezcan en la recopilación.

  • Cuando la _id opción se establece como una columna independiente, la cadena del identificador no puede superar los 200 caracteres.

  • Las claves de ID de objeto y de tipo de matriz se convierten en columnas que tienen los prefijos oid y array en el modo de tabla.

    Internamente, se hace referencia a estas columnas con los nombres con prefijos. Si utiliza reglas de transformación en AWS DMS que hacen referencia a estas columnas, asegúrese de especificar la columna con prefijos. Por ejemplo, especifique ${oid__id} y no ${_id} o ${array__addresses} y no ${_addresses}.

  • Los nombres de recopilaciones y claves no pueden incluir el símbolo del dólar ($).

  • AWS DMS no admite recopilaciones que contengan el mismo campo con mayúsculas y minúsculas diferentes (mayúsculas, minúsculas) en modo tabla con un destino de RDBMS. Por ejemplo, AWS DMS no admite tener dos recopilaciones denominadas Field1 y field1.

  • El modo de tabla y el modo de documento tienen las limitaciones descritas con anterioridad.

  • La migración en paralelo mediante la segmentación automática tiene las limitaciones descritas anteriormente.

  • Los filtros de origen no son compatibles con MongoDB.

  • AWS DMS no admite documentos cuyo nivel de anidación sea superior a 97.

  • AWS DMS no admite las siguientes características de MongoDB versión 5.0:

    • Cambios de los fragmentos en directo

    • Cifrado en el nivel de campo del lado del cliente (CSFLE)

    • Migración de recopilación de series temporales

      nota

      Una recopilación de series temporales migrada en la fase de carga completa se convertirá en una recopilación normal en Amazon DocumentDB, ya que DocumentDB no admite recopilaciones de series temporales.

Ajustes de configuración del punto de conexión cuando se utiliza MongoDB como origen para AWS DMS

Al configurar el punto de conexión de origen de MongoDB, puede especificar varios ajustes de configuración del punto de conexión mediante la consola de AWS DMS.

En la tabla siguiente se describen los ajustes de configuración disponibles cuando se utilizan bases de datos de MongoDB como un origen de AWS DMS.

Configuración (atributo) Valores válidos Valor predeterminado y descripción

Modo de autenticación

"none"

"password"

El valor "password" solicita un nombre de usuario y una contraseña. Cuando se especifica "none", no se utilizan los parámetros de nombre de usuario y contraseña.

Origen de autenticación

Un nombre de la base de datos MongoDB válido.

Es el nombre de la base de datos de MongoDB que desea utilizar para validar las credenciales de autenticación. El valor predeterminado es "admin".

Mecanismo de autenticación

"default"

"mongodb_cr"

"scram_sha_1"

El mecanismo de autenticación. El valor de "default" es "scram_sha_1". Esta configuración no se utiliza cuando authType se establece en "no".

Modo de metadatos

Documento y tabla

Elige el modo de documento o de tabla.

Número de documentos que se van a escanear (docsToInvestigate)

Un número entero positivo mayor que 0.

Utilice esta opción solo en modo tabla para definir la tabla de destino.

_id como columna independiente

Marca de comprobación en la casilla

Casilla de verificación de comprobación opcional que crea una segunda columna denominada _id que actúa como clave principal.

socketTimeoutMS

NUMBER

Solo el atributo de conexión adicional (ECA).

Esta configuración está en unidades de milisegundos y configura el tiempo de espera de la conexión para los clientes de MongoDB. Si el valor es menor o igual a cero, se utiliza el valor predeterminado del cliente de MongoDB.

UseUpdateLookUp

boolean

true

false

Si es verdadero, durante los eventos de actualización de CDC, AWS DMS copia todo el documento actualizado en el destino. Cuando se establece en falso, AWS DMS utiliza el comando de actualización de MongoDB para actualizar solo los campos modificados del documento en el destino.

ReplicateShardCollections

boolean

true

false

Si es verdadero, AWS DMS replica los datos en recopilaciones fragmentadas. AWS DMS solo usa esta configuración si el punto de conexión de destino es un clúster elástico de DocumentDB.

Cuando esta configuración es verdadera, tenga en cuenta lo siguiente:

  • Debe establecer TargetTablePrepMode en nothing.

  • AWS DMS establece automáticamente useUpdateLookup en false.

Si elige Documento como modo de metadatos, hay diferentes opciones disponibles.

Si el punto de conexión de destino es DocumentDB, asegúrese de ejecutar la migración en modo mocumento. Además, modifique el punto de conexión de origen y seleccione la opción _id como columna independiente. Este es un requisito previo obligatorio si la carga de trabajo de MongoDB de origen incluye transacciones.

Tipos de datos de origen para MongoDB

La migración de datos que utiliza MongoDB como origen para AWS DMS admite la mayoría de los tipos de datos de MongoDB. En la tabla siguiente, puede encontrar los tipos de datos de origen de MongoDB que se admiten cuando se utiliza AWS DMS y el mapeo predeterminado de los tipos de datos de AWS DMS. Para obtener más información sobre los tipos de datos de MongoDB, consulte BSON types en la documentación de MongoDB.

Para obtener más información sobre cómo ver el tipo de datos que se asigna en el destino, consulte la sección del punto de enlace de destino que esté utilizando.

Para obtener más información sobre los tipos de datos de AWS DMS, consulte Tipos de datos de AWS Database Migration Service.

Tipos de datos de MongoDB

Tipos de datos de AWS DMS

Booleano

Bool

Binario

BLOB

Date

Date

Marca temporal

Date

Int

INT4

Largo

INT8

Doble

REAL8

Cadena (UTF-8)

CLOB

Matriz

CLOB

OID

Cadena

REGEX

CLOB

Código

CLOB