Todos os produtos
Search
Central de documentação

Data Transmission Service:Migrar dados de um banco de dados MongoDB autogerenciado (arquitetura de conjunto de réplicas) para uma instância do ApsaraDB for MongoDB (arquitetura de conjunto de réplicas ou cluster fragmentado)

Última atualização: Jul 07, 2026

Use o Data Transmission Service (DTS) para migrar dados de um conjunto de réplicas MongoDB autogerenciado para uma instância do ApsaraDB for MongoDB com arquitetura de conjunto de réplicas ou cluster fragmentado. O DTS oferece suporte à migração de esquema, migração completa de dados e migração incremental de dados, permitindo migrações com tempo de inatividade mínimo.

Pré-requisitos

Antes de começar, verifique se você tem:

Configurar a fragmentação de dados impede que todos os dados sejam roteados para um único shard. Habilitar o balanceador e executar a pré-fragmentação ajuda a evitar distorção de dados.
Importante

Use o recurso oplog para obter alterações de dados do banco de dados de origem. Os change streams estão disponíveis apenas se o banco de dados de origem executar o MongoDB V4.0 ou posterior.

Preparações

Para garantir que o DTS consiga se conectar às instâncias de banco de dados, conecte primeiro os bancos de dados necessários à Alibaba Cloud.

Origem

Operações relacionadas

Data center local

Conectar um data center local à Alibaba Cloud

Plataforma AWS

Conectar um banco de dados na plataforma AWS à Alibaba Cloud

Plataforma Azure

Conectar um banco de dados na plataforma Azure à Alibaba Cloud

Huawei Cloud

Tencent Cloud

Faturamento

Tipo de migração

Taxa de configuração da instância

Taxa de tráfego de Internet

Migração de esquema e migração completa de dados

Gratuita

Cobrada apenas quando o Access Method estiver definido como Public IP Address. Consulte Visão geral do faturamento.

Migração incremental de dados

Cobrada. Consulte Visão geral do faturamento.

Tipos de migração

O DTS suporta os seguintes tipos de migração. Combine-os para atender aos seus requisitos de negócios.

Tipo de migração Objetos suportados Descrição
Migração de esquema DATABASE, COLLECTION, INDEX Migra esquemas da origem para o destino
Migração completa de dados DATABASE, COLLECTION Migra todos os dados existentes
Migração incremental de dados Migra continuamente as alterações após a conclusão da migração completa de dados

Oplog

A migração incremental não suporta bancos de dados criados após o início da tarefa. As seguintes atualizações incrementais são suportadas:

  • CREATE COLLECTION e CREATE INDEX

  • DROP DATABASE, DROP COLLECTION e DROP INDEX

    Nota

    Operações RENAME COLLECTION que incluem a opção dropTarget definida como true não são suportadas.

  • RENAME COLLECTION

  • Inserção, atualização e exclusão de documentos em uma coleção.

    Nota

    Para atualizações incrementais de documentos, apenas as alterações feitas usando o comando $set são replicadas.

Change stream

As seguintes atualizações incrementais são suportadas:

  • DROP DATABASE e DROP COLLECTION

  • RENAME COLLECTION

    Nota

    Operações RENAME COLLECTION que incluem a opção dropTarget definida como true não são suportadas.

  • Inserção, atualização e exclusão de documentos em uma coleção.

    Nota

    Para atualizações incrementais de documentos, apenas as alterações feitas usando o comando $set são replicadas.

Para migrar com tempo de inatividade mínimo, selecione todos os três tipos: Schema Migration, Full Data Migration e Incremental Data Migration.

O que a migração incremental captura

Usando oplog, o DTS captura:

  • CREATE COLLECTION e CREATE INDEX

  • DROP DATABASE, DROP COLLECTION e DROP INDEX

  • RENAME COLLECTION

  • Operações de inserção, atualização e exclusão em documentos (atualizações via $set apenas)

O DTS não migra dados incrementais de bancos de dados criados após o início da tarefa de migração.

Usando change streams, o DTS captura:

  • DROP DATABASE e DROP COLLECTION

  • RENAME COLLECTION

  • Operações de inserção, atualização e exclusão em documentos (atualizações via $set apenas)

Permissões necessárias

Configure contas de banco de dados com as seguintes permissões antes de iniciar a tarefa de migração.

Banco de dados

Migração de esquema

Migração completa de dados

Migração incremental de dados

MongoDB autogerenciado de origem

Leitura no banco de dados a ser migrado e no banco de dados config

Leitura no banco de dados a ser migrado e nos bancos de dados admin e local

ApsaraDB for MongoDB de destino

dbAdminAnyDatabase, readWrite no banco de dados de destino e leitura no banco de dados local

Para instruções sobre criação de contas:

Limitações

Revise estas limitações antes de configurar a tarefa de migração. Ignore as limitações que não se aplicam à sua arquitetura de destino.

Banco de dados de origem

  • Clusters do Azure Cosmos DB for MongoDB e clusters elásticos do Amazon DocumentDB: Apenas a migração completa de dados é suportada.

  • Requisitos de coleção: As coleções devem ter restrições PRIMARY KEY ou UNIQUE com todos os campos únicos; caso contrário, registros duplicados podem aparecer no destino.

  • Contagem de coleções: Ao migrar selecionando coleções individuais, o limite é de até 1.000 coleções por tarefa. Exceder esse limite causa um erro de solicitação. Migre em lotes ou selecione bancos de dados inteiros.

  • Tamanho do documento: Um único documento não pode exceder 16 MB; exceder esse limite causa falha na tarefa.

  • Índices TTL: Pode ocorrer inconsistência de dados entre a origem e o destino após a migração.

  • Alterações de esquema: Durante a migração de esquema e a migração completa de dados, não modifique esquemas (incluindo atualizações de tipo de array). Isso causa falha na tarefa ou inconsistência de dados.

  • Gravações durante migração apenas completa: Se você executar apenas a migração completa de dados sem migração incremental, não grave no banco de dados de origem durante a migração. Gravações causam inconsistência de dados.

  • Troca primário/secundário: Se ocorrer uma troca primário/secundário na origem durante a migração, a tarefa falhará.

  • Precisão da latência de migração: O DTS calcula a latência de migração comparando o timestamp dos dados migrados mais recentes com o timestamp atual da origem. Se a origem não tiver atualizações recentes, a latência exibida pode ser imprecisa. Execute uma atualização na origem para renovar a latência.

Se você migrar um banco de dados inteiro, crie uma tabela de heartbeat. O DTS atualiza a tabela de heartbeat a cada segundo, o que mantém as leituras de latência precisas.

Destino em cluster fragmentado

  • Documentos órfãos: Exclua documentos órfãos antes da migração. Conflitos de _id entre documentos de origem e destino podem causar inconsistência de dados ou falha na tarefa.

  • Chaves de fragmentação: Adicione chaves de fragmentação aos dados na origem antes de iniciar a tarefa. Se não for possível adicionar chaves de fragmentação à origem, consulte Migrar dados de uma instância MongoDB sem chave de fragmentação para uma instância de cluster fragmentado MongoDB.

  • Inserções durante a migração: Os dados inseridos devem conter chaves de fragmentação.

  • Atualizações durante a migração: Chaves de fragmentação não podem ser modificadas.

Destino em conjunto de réplicas

Geral

  • O DTS não consegue se conectar a um banco de dados MongoDB por meio de um endpoint SRV.

  • A versão do MongoDB de destino deve ser igual ou posterior à versão de origem. Versões de destino anteriores podem causar problemas de compatibilidade.

  • O DTS não pode migrar dados dos bancos de dados admin, config ou local.

  • Coleções com índice único ou capped: true no destino suportam apenas gravações single-thread e não suportam replay simultâneo durante a migração incremental. Isso pode aumentar a latência da migração.

  • Transações não são mantidas. Durante a migração, as transações são convertidas em registros individuais.

  • Se ocorrer um conflito de chave primária ou chave única, o DTS ignora a operação de gravação conflitante e mantém os dados existentes no destino.

  • O DTS usa ROUND(COLUMN, PRECISION) para recuperar valores FLOAT e DOUBLE. Precisão padrão: 38 dígitos para FLOAT, 308 dígitos para DOUBLE. Verifique se esses padrões atendem aos seus requisitos.

  • Gravações simultâneas durante a migração completa de dados causam fragmentação nas coleções de destino. Após a migração completa, o espaço de armazenamento de destino pode exceder o espaço de armazenamento de origem em 5–10%.

  • O DTS tenta repetir tarefas falhas por até sete dias. Antes de alternar cargas de trabalho para o destino, pare ou libere quaisquer tarefas falhas. Alternativamente, revogue as permissões de gravação da conta DTS no banco de dados de destino para impedir que a origem sobrescreva o destino após a retomada de uma tarefa.

  • Consulte a contagem de linhas no destino usando: db.$table_name.aggregate([{ $count:"myCount"}]).

  • Certifique-se de que o banco de dados de destino não tenha os mesmos valores de _id que a origem. Se existirem conflitos, exclua os dados conflitantes do destino antes de iniciar a tarefa.

  • Se uma instância DTS falhar, o suporte técnico do DTS tentará recuperá-la dentro de 8 horas. As operações de recuperação podem incluir reiniciar a instância ou ajustar parâmetros. Consulte Modificar parâmetros da instância para ver os parâmetros que podem ser alterados.

Configurar e executar uma tarefa de migração

Etapa 1: Acessar a página Data Migration

Via console DTS:

  1. Faça login no console DTS.

  2. No painel de navegação à esquerda, clique em Data Migration.

  3. No canto superior esquerdo, selecione a região onde reside a instância de migração.

Via console DMS:

As etapas reais podem variar com base no modo e layout do console DMS. Consulte Modo simples e Personalizar o layout e o estilo do console DMS .
  1. Faça login no console DMS.

  2. Na barra de navegação superior, passe o ponteiro sobre Data + AI > DTS (DTS) > Data Migration.

  3. Na lista suspensa à direita de Data Migration Tasks, selecione a região onde reside a instância de migração.

Etapa 2: Criar a tarefa e configurar os bancos de dados de origem e destino

  1. Clique em Create Task.

  2. Configure os bancos de dados de origem e destino usando os parâmetros nas tabelas a seguir.

Aviso

Após configurar os bancos de dados de origem e destino, revise os Limits exibidos na parte superior da página. Pular esta etapa pode causar falha na tarefa ou resultar em inconsistência de dados.

Parâmetros do banco de dados de origem

Parâmetro

Descrição

Task Name

Nome da tarefa. O DTS gera um nome automaticamente. Especifique um nome descritivo para identificar a tarefa facilmente. Os nomes das tarefas não precisam ser únicos.

Select Existing Connection

Se o banco de dados de origem estiver registrado no DTS, selecione-o na lista suspensa. O DTS preenche os parâmetros restantes automaticamente. Caso contrário, configure os parâmetros abaixo manualmente.

Database Type

Selecione MongoDB.

Access Method

Selecione o tipo de conexão com base na localização do banco de dados de origem. Este tópico usa Public IP Address como exemplo. Se você selecionar um tipo de conexão diferente, conclua as preparações necessárias.

Instance Region

Selecione a região onde reside o banco de dados de origem. Se a região não estiver listada, selecione a região geograficamente mais próxima.

Architecture

Selecione Replica Set.

Migration Method

Selecione o método para migrar dados incrementais: Oplog (recomendado) ou ChangeStream. Oplog está disponível quando o recurso oplog está habilitado na origem. ChangeStream está disponível quando change streams estão habilitados. Se a origem for um cluster inelástico do Amazon DocumentDB, você deve selecionar ChangeStream e definir o parâmetro Architecture como Sharded Cluster. Se você selecionar Sharded Cluster para o parâmetro Architecture, não será necessário configurar os parâmetros Shard account e Shard password.

Endpoint Type

Selecione Standalone ou Multi-node. Disponível quando Access Method é Express Connect, VPN Gateway, or Smart Access Gateway, Public IP Address ou Cloud Enterprise Network (CEN).

Domain Name or IP

O nome de domínio ou endereço IP do banco de dados de origem. Disponível quando Endpoint Type é Standalone.

Port Number

A porta de serviço do banco de dados de origem. Disponível quando Endpoint Type é Standalone.

Endpoint

O endpoint do banco de dados de origem no formato <IP>:<Port>. Pressione Enter para adicionar vários endpoints. Disponível quando Endpoint Type é Multi-node.

Authentication Database

O banco de dados ao qual a conta de origem pertence. Padrão: admin.

Database Account

A conta usada para se conectar ao banco de dados de origem. Para as permissões necessárias, consulte Permissões necessárias. Se Access Method for Self-managed Database on ECS ou Database Gateway, insira a conta do nó de fragmentação.

Database Password

A senha da conta do banco de dados.

Encryption

O método de criptografia da conexão: Non-encrypted, SSL-encrypted ou Mongo Atlas SSL. As opções disponíveis dependem de Access Method e Architecture. SSL-encrypted não está disponível quando Architecture é Sharded Cluster e Migration Method é Oplog. Se Architecture for Replica Set, Access Method não for Alibaba Cloud Instance e Encryption for SSL-encrypted, carregue um certificado CA para verificar a conexão.

Parâmetros do banco de dados de destino

Parâmetro

Descrição

Select Existing Connection

Se a instância de destino estiver registrada no DTS, selecione-a na lista suspensa. Caso contrário, configure os parâmetros abaixo manualmente.

Database Type

Selecione MongoDB.

Access Method

Selecione Alibaba Cloud Instance.

Instance Region

Selecione a região onde reside a instância de destino do ApsaraDB for MongoDB.

Replicate Data Across Alibaba Cloud Accounts

Selecione No para usar uma instância na conta atual.

Architecture

Selecione a arquitetura da instância de destino.

Instance ID

Selecione o ID da instância de destino.

Authentication Database

O banco de dados ao qual a conta de destino pertence. Padrão: admin.

Database Name

O nome do banco de dados na instância de destino onde os objetos migrados serão armazenados.

Database Account

A conta usada para se conectar à instância de destino. Para as permissões necessárias, consulte Permissões necessárias.

Database Password

A senha da conta do banco de dados.

Encryption

O método de criptografia da conexão. SSL-encrypted não está disponível quando o destino usa arquitetura de cluster fragmentado.

Etapa 3: Testar conectividade

Clique em Test Connectivity and Proceed, depois clique em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers.

Certifique-se de que os blocos CIDR dos servidores DTS foram adicionados às listas de permissões dos bancos de dados de origem e destino. Consulte Adicionar endereços IP de servidores DTS a uma lista de permissões .

Etapa 4: Configurar objetos de migração

Na página Configure Objects, configure os objetos de migração usando os seguintes parâmetros.

Parâmetro

Descrição

Migration Types

Selecione os tipos de migração: Schema Migration, Full Data Migration e, opcionalmente, Incremental Data Migration. Para migração com tempo de inatividade zero, selecione todos os três. Se você pular Schema Migration, crie os bancos de dados e coleções de destino no destino antes de começar. Se você pular Incremental Data Migration, não grave na origem durante a migração.

Processing Mode of Conflicting Tables

Precheck and Report Errors: falha na pré-verificação se o destino contiver coleções com os mesmos nomes da origem. Use o mapeamento de nomes de objetos para renomear coleções migradas se as coleções existentes não puderem ser excluídas. Ignore Errors and Proceed: pula a pré-verificação. O DTS não migra registros com as mesmas chaves primárias que os registros de destino existentes. A consistência dos dados não é garantida.

Capitalization of object names in destination instance

A política de capitalização para nomes de bancos de dados e coleções no destino. Padrão: DTS default policy. Consulte Especificar a capitalização de nomes de objetos na instância de destino.

Source Objects

Selecione bancos de dados ou coleções para migrar. Clique no ícone 向右小箭头 para adicioná-los aos Selected Objects.

Selected Objects

Clique com o botão direito em um objeto para renomeá-lo no destino (mapeamento de nomes de objetos), definir o modo de migração incremental ou especificar condições WHERE para filtragem de dados de migração completa. Para remover um objeto, clique nele e depois clique no ícone image.

Etapa 5: Configurar definições avançadas

Clique em Next: Advanced Settings e configure os seguintes parâmetros.

Parâmetro

Descrição

Dedicated Cluster for Task Scheduling

Por padrão, o DTS agenda tarefas em um cluster compartilhado. Adquira um cluster dedicado para recursos isolados. Consulte O que é um cluster dedicado DTS?

Retry Time for Failed Connections

A duração da nova tentativa para falhas de conexão. Valores válidos: 10–1.440 minutos. Padrão: 720 minutos. Defina isso para pelo menos 30 minutos. Se diferentes tarefas compartilharem o mesmo banco de dados de origem ou destino, o valor definido por último tem precedência.

Retry Time for Other Issues

A duração da nova tentativa para falhas de operação DDL ou DML. Valores válidos: 1–1.440 minutos. Padrão: 10 minutos. Defina isso para pelo menos 10 minutos. Este valor deve ser menor que Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Limita a carga de leitura/gravação na origem e no destino durante a migração completa. Configure QPS para o banco de dados de origem, RPS de Full Data Migration e velocidade de migração de dados. Disponível apenas quando Full Data Migration estiver selecionado.

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

Yes: O DTS migra apenas um tipo de dados de _id por coleção sem verificar todos os tipos. No: O DTS verifica e migra todos os tipos de dados de _id. Habilite isso com base em seus dados. Configuração incorreta pode causar perda de dados. Disponível apenas quando Full Data Migration estiver selecionado.

Enable Throttling for Incremental Data Migration

Limita a carga durante a migração incremental. Configure RPS de Incremental Data Migration e velocidade de migração de dados. Disponível apenas quando Incremental Data Migration estiver selecionado.

Environment Tag

Uma tag opcional para identificar a instância.

Configure ETL

Habilite o recurso de extração, transformação e carregamento (ETL) para transformar dados durante a migração. Consulte Configurar ETL em uma tarefa de migração de dados ou sincronização de dados.

Monitoring and Alerting

Configure alertas para falha de tarefa ou alta latência de migração. Se habilitado, defina o limiar de alerta e os contatos de notificação. Consulte Configurar monitoramento e alertas.

Etapa 6: Configurar verificação de dados (opcional)

Clique em Next Step: Data Verification para configurar uma tarefa de verificação de dados. Consulte Configurar uma tarefa de verificação de dados.

Etapa 7: Executar a pré-verificação

Clique em Next: Save Task Settings and Precheck.

Para visualizar os parâmetros da API para esta configuração de tarefa, passe o ponteiro sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters .

O DTS executa uma pré-verificação antes de iniciar a migração. A tarefa começa somente após passar na pré-verificação.

  • Se um item de verificação falhar, clique em View Details, resolva o problema e clique em Precheck Again.

  • Se um alerta for acionado para um item de verificação que pode ser ignorado, clique em Confirm Alert Details > Ignore > OK > Precheck Again. Ignorar alertas pode resultar em inconsistência de dados.

Etapa 8: Adquirir e iniciar a instância

  1. Aguarde até que Success Rate atinja 100%, depois clique em Next: Purchase Instance.

  2. Na página Purchase Instance, configure os seguintes parâmetros.

Parâmetro

Descrição

Resource Group

O grupo de recursos para a instância de migração. Padrão: grupo de recursos padrão. Consulte O que é Resource Management?

Instance Class

A classe da instância determina a velocidade de migração. Selecione com base no volume de dados e nos requisitos de tempo. Consulte Classes de instância de instâncias de migração de dados.

  1. Leia e marque a caixa de seleção para concordar com Data Transmission Service (Pay-as-you-go) Service Terms.

  2. Clique em Buy and Start, depois clique em OK na caixa de diálogo de confirmação.

Monitorar o progresso da migração

Acompanhe o progresso na página Data Migration.

  • Tarefas sem migração incremental param automaticamente quando a migração completa termina. O status muda para Completed.

  • Tarefas com migração incremental executam continuamente. O status permanece Running até que você pare a tarefa.

Monitore os seguintes indicadores principais para avaliar a integridade da migração:

Métrica

O que ela mede

Latência de migração

O atraso de tempo entre uma alteração na origem e sua aplicação no destino. Uma latência próxima de 0 segundos indica que o destino está sincronizado com a origem.

Status da tarefa

O estado atual da tarefa de migração (Running, Completed, Failed).

Velocidade de migração

A taxa de transferência de dados durante a migração completa. Se a velocidade cair significativamente, verifique a largura de banda da origem e as configurações de limitação.

Se a latência estiver persistentemente alta sem atualizações na origem, execute uma operação de gravação na origem para renovar o valor de latência exibido.

Alternar para o destino

Depois que a latência da migração incremental estabilizar perto de 0 segundos, o destino estará sincronizado com a origem. Complete a alternância na seguinte ordem:

  1. Pare as gravações no banco de dados de origem.

  2. Aguarde até que a latência da migração atinja 0 segundos.

  3. Pare a tarefa de migração do DTS.

  4. Atualize a string de conexão da sua aplicação para apontar para a instância de destino do ApsaraDB for MongoDB.

  5. Verifique se a aplicação está executando corretamente no destino.

Importante

Antes de alternar cargas de trabalho, pare ou libere a tarefa DTS. Se a tarefa ainda estiver em execução após uma falha, ela pode ser retomada e sobrescrever dados no destino. Alternativamente, revogue as permissões de gravação da conta DTS no banco de dados de destino.

Próximos passos