Utilice Data Transmission Service (DTS) para migrar por completo los datos de una base de datos MongoDB independiente a una instancia de MongoDB con cualquier arquitectura.
Bases de datos de origen y destino compatibles
|
Base de datos de origen |
Base de datos de destino |
|
ApsaraDB for MongoDB |
ApsaraDB for MongoDB |
|
Base de datos autogestionada en una instancia ECS |
Base de datos autogestionada en una instancia ECS |
|
Base de datos autogestionada conectada mediante Express Connect, VPN Gateway o Smart Access Gateway |
Base de datos autogestionada conectada mediante Express Connect, VPN Gateway o Smart Access Gateway |
|
Base de datos autogestionada con una dirección IP pública |
Base de datos autogestionada con una dirección IP pública |
Este ejemplo muestra cómo migrar desde una instancia independiente de ApsaraDB for MongoDB hacia una instancia de ApsaraDB for MongoDB con cualquier arquitectura.
Requisitos previos
-
Cree la instancia independiente de origen de ApsaraDB for MongoDB y la instancia de destino de ApsaraDB for MongoDB. Para obtener más información, consulte Create a standalone instance, Create a replica set instance y Create a sharded cluster instance.
NotaPara conocer las versiones compatibles, consulte Migration solutions.
La instancia de destino de ApsaraDB for MongoDB debe contar con como mínimo un 10 % más de espacio de almacenamiento que el utilizado por la instancia de origen de ApsaraDB for MongoDB.
-
Si la instancia de destino de ApsaraDB for MongoDB utiliza una arquitectura de clúster fragmentado, cree las bases de datos y colecciones que se van a fragmentar. Después, configure la fragmentación, habilite el balanceador y ejecute la prefragmentación en la instancia de destino de ApsaraDB for MongoDB según sus necesidades de negocio. Para obtener más información, consulte Configure sharding to maximize shard performance y How do I handle uneven data distribution in a MongoDB sharded cluster?.
NotaConfigurar la fragmentación evita que todos los datos se migren a un solo fragmento, lo cual degrada el rendimiento del clúster. Habilitar el balanceador y ejecutar la prefragmentación ayuda a evitar la asimetría de datos.
Limitaciones
Tipo | Descripción |
Limitaciones de la base de datos de origen |
|
Otras limitaciones |
|
Caso especial | Si el origen es una base de datos MongoDB autogestionada, un cambio de rol entre nodos principal y secundario durante la migración provocará un error en la tarea. |
Facturación
|
Tipo de migración |
Tarifa de configuración de la instancia |
Tarifa de tráfico de Internet |
|
Migración de esquemas y migración completa de datos |
Sin costo. |
Cuando el parámetro Access Method de la base de datos de destino se establece en Public IP Address, se cobra el tráfico de Internet. Para obtener más información, consulte Billing overview. |
Tipos de migración
|
Tipo de migración |
Descripción |
|
Migración de esquemas |
Migra los esquemas de objetos desde la instancia de origen de ApsaraDB for MongoDB hacia la instancia de destino de ApsaraDB for MongoDB. Nota
DTS admite la migración de esquemas para los objetos DATABASE, COLLECTION e INDEX. |
|
Migración completa de datos |
Migra todos los datos existentes desde la instancia de origen de ApsaraDB for MongoDB hacia la instancia de destino de ApsaraDB for MongoDB. Nota
DTS admite la migración completa de datos almacenados en los objetos DATABASE y COLLECTION. |
Permisos obligatorios para las cuentas de base de datos
|
Base de datos |
Migración de esquemas |
Migración completa de datos |
|
Instancia de origen de ApsaraDB for MongoDB |
Permiso de lectura sobre las bases de datos que se van a migrar y sobre la base de datos config. |
|
|
Instancia de destino de ApsaraDB for MongoDB |
El permiso dbAdminAnyDatabase, el permiso readWrite sobre las bases de datos de destino y el permiso de lectura sobre la base de datos local. |
|
Para obtener información sobre cómo crear y autorizar una cuenta de base de datos en una instancia de ApsaraDB for MongoDB, consulte Manage MongoDB database users in DMS.
Procedimiento
-
Vaya a la página de la lista de tareas de migración de la región de destino con uno de los métodos a continuación.
Desde la consola de DTS
Inicie sesión en la consola de Data Transmission Service (DTS).
En el panel de navegación izquierdo, haga clic en Data Migration.
En la esquina superior izquierda de la página, seleccione la región donde se encuentra la instancia de migración.
Desde la consola de DMS
NotaLas operaciones reales pueden variar según el modo y el diseño de la consola de DMS. Para obtener más información, consulte Simple mode console y Customize the layout and style of the DMS console.
Inicie sesión en la consola de Data Management (DMS).
En la barra de menú superior, elija .
A la derecha de Data Migration Tasks, seleccione la región donde se encuentra la instancia de migración.
Haga clic en Create Task para ir a la página de configuración de la tarea.
-
Configure las bases de datos de origen y de destino.
AvisoDespués de seleccionar las instancias de origen y de destino, le recomendamos leer detenidamente los límites que se muestran en la parte superior de la página. De lo contrario, la tarea podría terminar con errores o presentarse inconsistencias en los datos.
Sección
Parámetro
Descripción
N/A
Task Name
DTS genera automáticamente un nombre de tarea. Se recomienda especificar un nombre descriptivo para identificarla con facilidad. El nombre no necesita ser único.
Source Database
Select Existing Connection
Para usar una instancia de base de datos que ya se haya added to the system (creado o guardado), seleccione la instancia deseada en la lista desplegable. La información de la base de datos que aparece a continuación se configurará automáticamente.
NotaEn la consola de DMS, este parámetro se llama Select a DMS database instance..
Si no registró la instancia de base de datos en el sistema o no necesita usar una instancia registrada, configure manualmente la información de la base de datos que aparece a continuación.
Database Type
Seleccione MongoDB.
Access Method
Seleccione Cloud instance.
Instance Region
Seleccione la región donde reside la instancia de origen de ApsaraDB for MongoDB.
Replicate Data Across Alibaba Cloud Accounts
En este ejemplo se usa una instancia de base de datos de la cuenta actual de Alibaba Cloud. Seleccione No.
Architecture
Aunque el origen es una instancia independiente, seleccione Replica Set en la configuración de Architecture.
-
Replica Set: proporciona alta disponibilidad y división de lectura y escritura mediante el despliegue de varios tipos de nodos. Para obtener más información, consulte Replica set architecture.
-
Sharded Cluster: está formado por los componentes mongos, shard y ConfigServer. Es posible personalizar la cantidad y la configuración de los nodos mongos y shard. Para obtener más información, consulte Sharded cluster architecture.
Migration Method
Una instancia de origen independiente no admite la migración incremental. Deje Migration Method con el valor predeterminado Oplog, ya que DTS requiere esta configuración incluso para orígenes independientes.
Instance ID
Seleccione el ID de la instancia de origen de ApsaraDB for MongoDB.
Authentication Database
Introduzca el nombre de la base de datos de autenticación de la instancia de origen de ApsaraDB for MongoDB. El valor predeterminado es admin.
Database Account
Introduzca la cuenta de la base de datos de la instancia de origen de ApsaraDB for MongoDB. Para conocer los requisitos de permisos, consulte Permissions required for database accounts.
Database Password
Introduzca la contraseña de la cuenta de la base de datos.
Encryption
DTS admite tres métodos de conexión: Non-encrypted, SSL-encrypted y Mongo Atlas SSL. Las opciones de Encryption varían según el Access Method y la Architecture seleccionados. Prevalecen las opciones que se muestran en la consola.
Nota-
Una base de datos de MongoDB cuya Architecture es Sharded Cluster y cuyo Migration Method es Oplog no admite SSL-encrypted.
-
Si el origen es una base de datos de MongoDB autogestionada (Access Method no es Alibaba Cloud Instance) con arquitectura Replica Set y usted selecciona SSL-encrypted, DTS también permite cargar un certificado de CA para verificar la conexión.
Destination Database
Select Existing Connection
Para usar una instancia de base de datos que ya se haya added to the system (creado o guardado), seleccione la instancia deseada en la lista desplegable. La información de la base de datos que aparece a continuación se configurará automáticamente.
NotaEn la consola de DMS, este parámetro se llama Select a DMS database instance..
Si no registró la instancia de base de datos en el sistema o no necesita usar una instancia registrada, configure manualmente la información de la base de datos que aparece a continuación.
Database Type
Seleccione MongoDB.
Access Method
Seleccione Cloud instance.
Instance Region
Seleccione la región donde reside la instancia de destino de ApsaraDB for MongoDB.
Replicate Data Across Alibaba Cloud Accounts
En este ejemplo se usa una instancia de base de datos de la cuenta actual de Alibaba Cloud. Seleccione No.
Architecture
Seleccione una arquitectura según sus necesidades de negocio:
-
Replica Set: proporciona alta disponibilidad y división de lectura y escritura mediante el despliegue de varios tipos de nodos. Para obtener más información, consulte Replica set architecture.
-
Sharded Cluster: está formado por los componentes mongos, shard y ConfigServer. Es posible personalizar la cantidad y la configuración de los nodos mongos y shard. Para obtener más información, consulte Sharded cluster architecture.
Instance ID
Seleccione el ID de la instancia de destino de ApsaraDB for MongoDB.
Authentication Database
Introduzca el nombre de la base de datos de autenticación de la instancia de destino de ApsaraDB for MongoDB. El valor predeterminado es admin.
Database Account
Introduzca la cuenta de la base de datos de la instancia de destino de ApsaraDB for MongoDB. Para conocer los requisitos de permisos, consulte Permissions required for database accounts.
Database Password
Introduzca la contraseña de la cuenta de la base de datos.
Encryption
DTS admite tres métodos de conexión: Non-encrypted, SSL-encrypted y Mongo Atlas SSL. Las opciones de Encryption varían según el Access Method y la Architecture seleccionados. Prevalecen las opciones que se muestran en la consola.
Nota-
Las bases de datos de MongoDB con una Architecture de tipo Sharded Cluster no admiten SSL-encrypted.
-
Si el destino es una base de datos de MongoDB autogestionada (Access Method no es Alibaba Cloud Instance) con Replica Set y usted selecciona SSL-encrypted, DTS también permite cargar un certificado de CA para verificar la conexión.
-
Una vez completada la configuración, haga clic en Test Connectivity and Proceed en la parte inferior de la página.
NotaAsegúrese de que el segmento de direcciones IP del servicio DTS se agregue automática o manualmente a la configuración de seguridad de las bases de datos de origen y de destino. Esto permite el acceso desde los servidores de DTS. Para obtener más información, consulte Add DTS server IP addresses to a whitelist.
Si la base de datos de origen o de destino es autogestionada (es decir, Access Method no es Alibaba Cloud Instance), también debe hacer clic en Test Connectivity en el cuadro de diálogo CIDR Blocks of DTS Servers que aparece.
-
Configure los objetos de la tarea.
-
En la página Configure Objects, configure los objetos que desea migrar.
Parámetro
Descripción
Migration Types
Seleccione tanto Schema Migration como Full Data Migration.
NotaEste escenario no admite la migración incremental. Para garantizar la consistencia de los datos, no escriba información nueva en la instancia de origen durante la migración.
Para obtener más información, consulte Migration types.
Processing Mode of Conflicting Tables
Precheck and Report Errors: comprueba si existen colecciones con los mismos nombres en la base de datos de destino. Si no hay colecciones con nombres duplicados, la comprobación previa se supera. En caso contrario, se reporta un error durante la comprobación previa y la tarea de migración de datos no se inicia.
NotaSi una colección de la base de datos de destino tiene el mismo nombre pero no se puede eliminar ni renombrar fácilmente, cambie el nombre de dicha colección en la base de datos de destino. Para obtener más información, consulte Object name mapping.
Ignore Errors and Proceed: omite la comprobación de colecciones con nombres duplicados.
AvisoSeleccionar Ignore Errors and Proceed puede provocar inconsistencias en los datos y riesgos para el negocio. Por ejemplo:
Si un registro de la base de datos de destino tiene el mismo valor de clave principal que un registro de la base de datos de origen, se conserva el registro de destino. El registro de origen no se migra a la base de datos de destino.
La inicialización de datos podría fallar, solo se migraría una parte de los datos o la migración terminaría con errores.
Capitalization of Object Names in Destination Instance
Configure la distinción entre mayúsculas y minúsculas de los nombres de bases de datos y colecciones en la instancia de destino. De forma predeterminada, se selecciona DTS default policy. También puede alinearla con la política predeterminada del origen o del destino. Para obtener más información, consulte Case sensitivity of object names in the destination instance.
Source Objects
En el cuadro Source Objects, haga clic en los objetos que desea migrar y luego haga clic en
para moverlos al cuadro Selected Objects.NotaSeleccione los objetos a nivel de base de datos o de colección.
Selected Objects
Para establecer el nombre de un objeto de migración en la instancia de destino o especificar el objeto que recibirá los datos, haga clic con el botón derecho en el objeto dentro del cuadro Selected Objects y aplique los cambios. Para obtener más información, consulte Object name mapping.
Para quitar un objeto de migración seleccionado, haga clic en él dentro del cuadro Selected Objects y luego haga clic en
para moverlo al cuadro Source Objects.
Nota-
Para filtrar datos según condiciones, opción disponible durante la migración completa de datos, haga clic con el botón derecho en una colección dentro del cuadro Selected Objects y configure el filtro en el cuadro de diálogo que aparece. Para obtener más información, consulte Set filter conditions.
-
Reasignar el destino de una base de datos o colección mediante la asignación de nombres de objetos puede provocar errores en los objetos dependientes durante la migración.
-
Haga clic en Next: Advanced Settings para configurar los parámetros avanzados.
Parámetro
Descripción
Dedicated Cluster for Task Scheduling
De forma predeterminada, DTS programa las tareas en un clúster compartido, por lo que no es necesario seleccionar uno. Si requiere tareas más estables, adquiera un dedicated cluster para ejecutar las tareas de migración de DTS.
Retry Time for Failed Connections
Una vez iniciada la tarea de migración, si falla la conexión con la base de datos de origen o de destino, DTS reporta un error y comienza a reintentar la conexión de inmediato. La duración predeterminada de los reintentos es de 720 minutos. Puede personalizar este tiempo con un valor de 10 a 1440 minutos. Se recomienda establecer una duración mayor a 30 minutos. Si DTS logra reconectarse a las bases de datos de origen y de destino dentro del periodo especificado, la tarea de migración se reanuda automáticamente. De lo contrario, la tarea termina con errores.
NotaCuando varias instancias de DTS comparten el mismo origen o destino, el tiempo de reintento de red lo determina la configuración de la última tarea creada.
Dado que se le cobra por la tarea durante el periodo de reintento de conexión, se recomienda personalizar el tiempo de reintento según sus necesidades de negocio o liberar la instancia de DTS lo antes posible después de liberar las instancias de las bases de datos de origen y de destino.
Retry Time for Other Issues
Una vez iniciada la tarea de migración, si ocurre un problema distinto a la conectividad en la base de datos de origen o de destino, como una excepción al ejecutar DDL o DML, DTS reporta un error y comienza a reintentar la operación de inmediato. La duración predeterminada de los reintentos es de 10 minutos. Puede personalizar este tiempo con un valor de 1 a 1440 minutos. Se recomienda establecer una duración mayor a 10 minutos. Si las operaciones correspondientes se ejecutan correctamente dentro del periodo de reintento especificado, la tarea de migración se reanuda automáticamente. De lo contrario, la tarea termina con errores.
ImportanteEl valor de Retry Time for Other Issues debe ser menor que el valor de Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Durante la migración completa, DTS consume recursos de lectura y escritura en las bases de datos de origen y de destino, lo que puede aumentar la carga de la base de datos. Si lo requiere, habilite la limitación de velocidad para la tarea de migración completa. Establezca Queries per second (QPS) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s) para reducir la carga en la base de datos de destino.
NotaEste elemento de configuración solo está disponible si selecciona Full Data Migration en Migration Types.
También puede adjust the full migration speed después de que la instancia de migración esté en ejecución.
Only one data type for primary key _id in a table of the data to be synchronized
En los datos que se van a migrar, ¿el tipo de dato de la clave principal
_ides uniforme dentro de una misma colección?Importante-
Seleccione una opción según sus necesidades. De lo contrario, podrían perderse datos.
-
Este parámetro solo está disponible si selecciona Full Data Migration en Migration Types.
-
Yes: el tipo de dato es único. Durante la migración completa de datos, DTS no analiza los tipos de dato de las claves principales en los datos de origen. Para una sola colección, DTS migra únicamente los datos correspondientes a un tipo de dato de clave principal.
-
No: el tipo de dato no es único. Durante la migración completa de datos, DTS analiza los tipos de dato de las claves principales en los datos de origen y migra toda la información.
Environment Tag
Opcionalmente, seleccione una etiqueta de entorno para identificar la instancia.
Configure ETL
Según sus necesidades de negocio, seleccione si desea configurar ETL feature para procesar los datos.
Yes: configura la función ETL. También debe introducir data processing statements en el cuadro de texto.
No: no configura la función ETL.
Monitoring and Alerting
Seleccione si desea configurar alertas y recibir notificaciones de alerta según sus necesidades de negocio.
No: no configura ninguna alerta.
Yes: configure las alertas estableciendo un alert threshold y alert notifications. Si una migración termina con errores o la latencia supera el umbral, el sistema envía una notificación de alerta.
-
Haga clic en Next: Data Validation para configurar una tarea de validación de datos.
Para obtener más información sobre la función de validación de datos, consulte Configure data validation.
-
-
Guarde la tarea y ejecute una comprobación previa.
Para consultar los parámetros de configuración de esta instancia al llamar a la operación de API, coloque el puntero sobre el botón Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters en la burbuja que aparece.
Si no necesita consultar los parámetros de API o ya terminó de revisarlos, haga clic en Next: Save Task Settings and Precheck en la parte inferior de la página.
NotaAntes de iniciar la tarea de migración, DTS ejecuta una comprobación previa. La tarea solo comienza después de superar esta comprobación.
Si la comprobación previa falla, haga clic en View Details junto al elemento con errores, resuelva el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.
-
Si se reporta una advertencia durante la comprobación previa:
Para los elementos de comprobación que no se pueden ignorar, haga clic en View Details junto al elemento con errores, resuelva el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.
Para los elementos de comprobación que sí se pueden ignorar, haga clic en Confirm Alert Details, Ignore, OK y Precheck Again para omitir el elemento de advertencia y volver a ejecutar la comprobación previa. Si decide ignorar una advertencia, podrían surgir problemas como inconsistencias en los datos y generarse riesgos para su negocio.
-
Adquiera la instancia.
Cuando Success Rate sea del 100 %, haga clic en Next: Purchase Instance.
-
En la página Purchase, seleccione la especificación de enlace para la instancia de migración de datos. Para obtener más información, consulte la tabla a continuación.
Categoría
Parámetro
Descripción
New Instance Class
Resource Group Settings
Seleccione el resource group al que pertenece la instancia. El valor predeterminado es default resource group. Para obtener más información, consulte What is resource management?
Instance Class
DTS ofrece especificaciones de migración con distintos niveles de rendimiento. La especificación de enlace afecta la velocidad de migración. Seleccione una especificación según su escenario de negocio. Para obtener más información, consulte Data migration link specifications.
Una vez completada la configuración, lea y seleccione Data Transmission Service (Pay-as-you-go) Service Terms.
-
Haga clic en Buy and Start. En el cuadro de diálogo OK que aparece, haga clic en OK.
Consulte el progreso de la tarea de migración en la página de la lista Data Migration Tasks.
NotaSi la tarea de migración no incluye migración incremental, se detiene automáticamente cuando finaliza la migración completa. Una vez detenida, su Status cambia a Completed.
Si la tarea de migración incluye migración incremental, no se detiene automáticamente y la tarea de migración incremental continúa ejecutándose. Mientras esto ocurre, el Status de la tarea es Running.