Todos os produtos
Search
Central de documentação

Data Transmission Service:Migrar dados de um banco de dados TiDB autogerenciado para o AnalyticDB for MySQL 3.0

Última atualização: Aug 27, 2026

O Data Transmission service (DTS) migra dados de um banco de dados TiDB autogerenciado para um cluster AnalyticDB for MySQL V3.0. O DTS oferece suporte à migração de esquema, migração completa de dados e migração incremental de dados.

Como funciona a migração

A migração ocorre em até três fases sequenciais:

  1. Migração de esquema — O DTS replica as definições das tabelas para o cluster de destino.

  2. Migração completa de dados — O DTS lê todos os dados existentes no TiDB e os carrega no AnalyticDB for MySQL V3.0.

  3. Migração incremental de dados (opcional) — O DTS lê eventos de alteração de um cluster Kafka e os aplica ao destino, mantendo a source e o destino sincronizados durante o cutover.

Escolha seu caminho:

Pré-requisitos

Antes de começar:

Permissões necessárias

Banco de dados

Permissões necessárias

Banco de dados TiDB

SELECT nos objetos a serem migrados, SHOW VIEW

Cluster AnalyticDB for MySQL V3.0

Permissões de leitura e gravação no banco de dados de destino. Consulte Create a database account.

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 do destino for Public IP Address. Consulte Visão geral do faturamento.

Migração incremental de dados

Cobrada. Consulte Visão geral do faturamento.

Configurar a coleta de dados incrementais

Ignore esta seção se precisar apenas de migração de esquema e migração completa de dados.

A migração incremental de dados exige que o TiDB transmita eventos de alteração para um cluster Kafka. Escolha um dos métodos abaixo com base na sua versão do TiDB.

Escolher um método

Método

Quando usar

TiDB Binlog

Clusters TiDB que já utilizam Pump e Drainer para replicação de binlog

TiCDC

TiDB v4.0 e posteriores; preferido para novas implantações

Configurar parâmetros do Kafka

Antes de conectar ao DTS, aumente os seguintes parâmetros do Kafka. Sem essas alterações, o cluster Kafka pode rejeitar grandes cargas úteis de log binário do TiDB.

Componente

Parâmetro

Ação

Broker Kafka

message.max.bytes

Aumente para acomodar mensagens de log binário do TiDB

Broker Kafka

replica.fetch.max.bytes

Aumente para corresponder a message.max.bytes

Consumidor Kafka

fetch.message.max.bytes

Aumente para corresponder a message.max.bytes do broker

Preparar um cluster Kafka

Utilize uma das opções a seguir:

  • Cluster Kafka autogerenciado — Implante seu próprio cluster. Consulte o site oficial do Apache Kafka.

  • Instância do ApsaraMQ for Kafka — Crie uma instância gerenciada. Consulte a Visão geral de introdução. Implante a instância na mesma virtual private cloud (VPC) do servidor de banco de dados TiDB.

Importante

Implante o servidor de banco de dados TiDB, o Pump (se estiver usando TiDB Binlog), o Drainer e o cluster Kafka na mesma rede interna para minimizar a latência de rede.

Após preparar o cluster Kafka, crie um tópico com exactly one partition. O DTS lê apenas da partição com ID 0. Partições adicionais causam perda de dados.

Usar o TiDB Binlog

  1. Implante o Pump e o Drainer em servidores na mesma rede interna do banco de dados TiDB. Consulte a Implantação de cluster TiDB Binlog.

  2. Edite o arquivo de configuração do Drainer para apontar para o cluster Kafka. Consulte o Guia do usuário do cliente consumidor de Binlog.

  3. Verifique se o servidor TiDB consegue acessar o cluster Kafka.

  4. Adicione os blocos CIDR dos servidores DTS à lista de permissões do banco de dados TiDB. Consulte Adicionar os blocos CIDR dos servidores DTS.

Usar o TiCDC

  1. Instale o TiCDC usando o TiUP para adicionar um novo nó TiCDC ou expandir um nó existente no cluster TiDB. Consulte Implantar e manter o TiCDC.

  2. Crie um changefeed para replicar dados incrementais para o Kafka. Use tiup cdc cli changefeed create como comando inicial. Consulte Replicar dados para o Kafka.

  3. Verifique se o servidor TiDB consegue acessar o cluster Kafka.

Limitações

Revise estas limitações antes de iniciar a tarefa.

Banco de dados de source

  • O servidor TiDB deve ter largura de banda de saída suficiente. Largura de banda baixa reduz a velocidade da migração.

  • As tabelas a serem migradas devem ter restrições PRIMARY KEY ou UNIQUE com todos os campos únicos. Tabelas sem essas restrições podem gerar registros duplicados no destino.

  • Se você renomear tabelas ou colunas durante a migração, uma única tarefa suporta até 1.000 tabelas. Para mais de 1.000 tabelas, divida a migração em várias tarefas ou migre o banco de dados inteiro em uma única tarefa.

  • Para migrar dados incrementais do banco de dados TiDB de source, implante um cluster Kafka e instale os componentes relacionados para que o TiDB colete os dados incrementais.

  • Índices de prefixo não podem ser migrados. Se o banco de dados de source contiver índices de prefixo, a tarefa de migração poderá falhar.

Migração incremental

  • O DTS lê dados apenas da partição com ID 0 do tópico Kafka. Configure o tópico com exatamente uma partição.

  • Após criar uma tarefa de migração incremental, execute operações no banco de dados de source ou insira dados de teste prontamente para atualizar as informações de offset da tarefa. Longos atrasos antes do primeiro evento de dados podem causar falha na tarefa.

Comportamento do destino e da tarefa

  • Especifique uma chave primária personalizada no banco de dados de destino ou configure a Primary Key Column na etapa Configurations for Databases, Tables, and Columns. A ausência da configuração de chave primária causa falha na migração de dados.

  • Se o cluster AnalyticDB for MySQL V3.0 estiver em backup enquanto a tarefa do DTS estiver em execução, a tarefa falhará.

  • Caso o uso de disco nos nós do AnalyticDB for MySQL V3.0 exceda 80%, a tarefa de migração será atrasada e erros serão retornados. Estime o espaço em disco necessário antes de começar.

  • A migração completa de dados aumenta a carga nos bancos de dados de source e de destino. Execute migrações fora do horário de pico, quando a carga da CPU estiver abaixo de 30%.

  • A migração completa de dados usa operações INSERT simultâneas, o que causa fragmentação nas tabelas de destino. Após a conclusão da migração completa, o tamanho do tablespace de destino será maior que o da source.

  • Se outras origens gravarem no destino durante a migração, poderá ocorrer inconsistência de dados.

  • O DTS usa a função ROUND(COLUMN,PRECISION) para recuperar valores FLOAT e DOUBLE. A precisão padrão é de 38 dígitos para FLOAT e 308 dígitos para DOUBLE. Verifique se esses padrões atendem aos seus requisitos antes de iniciar.

  • Durante a migração de esquema, o DTS não oferece suporte à migração de visualizações materializadas para a instância AnalyticDB for MySQL de destino. Para usar visualizações materializadas, crie-as manualmente na instância de destino após a conclusão da migração.

  • O DTS tenta retomar automaticamente tarefas com falha por até sete dias. Antes de alternar cargas de trabalho para o destino, pare ou libere quaisquer tarefas com falha, ou execute a instrução REVOKE para remover permissões de gravação das contas do DTS. Caso contrário, uma tarefa retomada poderá sobrescrever dados no destino.

  • Se instruções DDL falharem no destino, a tarefa do DTS continuará em execução. Visualize as instruções DDL com falha nos logs da tarefa. Consulte Visualizar logs da tarefa.

  • Se uma tarefa do DTS falhar, o suporte técnico do DTS tentará restaurá-la dentro de 8 horas. Durante a restauração, a tarefa pode ser reiniciada e parâmetros da tarefa (não parâmetros do banco de dados) podem ser modificados. Para obter uma lista de parâmetros que podem ser alterados, consulte Modificar parâmetros da instância.

Nota
  • Se o destino for um cluster AnalyticDB for MySQL, o DTS suporta apenas a gravação de tipos de dados nativamente suportados pelo AnalyticDB for MySQL. Isso inclui tipos de dados básicos e tipos de dados complexos, como ARRAY, MAP e JSON. Tipos de dados como MULTIVALUE não são suportados.

Operações SQL suportadas para migração incremental

Tipo de operação

Instruções suportadas

DML

INSERT, UPDATE, DELETE. Instruções UPDATE são convertidas automaticamente para REPLACE INTO. Se o UPDATE tiver como alvo a chave primária, ele será convertido em DELETE seguido de INSERT.

DDL

CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN

Mapeamentos de tipos de dados

Para obter o mapeamento completo entre os tipos de dados do TiDB e do AnalyticDB for MySQL V3.0, consulte Mapeamentos de tipos de dados entre bancos de dados heterogêneos.

Criar uma tarefa de migração

Etapa 1: Acessar a página Data Migration

Use o console do DTS ou o console do DMS.

Console do DTS

  1. Faça login no console do DTS.

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

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

Console do DMS

As etapas podem variar dependendo do modo e do layout do console do DMS. Consulte Modo simples e Personalizar o layout e o estilo do console do DMS .
  1. Faça login no console do 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 a instância de migração residirá.

Etapa 2: Configurar bancos de dados de source e de destino

  1. Clique em Create Task.

  2. Insira um Task Name. O DTS gera um nome automaticamente; especifique um nome descritivo para facilitar a identificação da tarefa posteriormente.

  3. Configure o banco de dados de source:

    Parâmetro

    Descrição

    Select Existing Connection

    Selecione uma instância de banco de dados registrada para preencher automaticamente os parâmetros abaixo ou deixe em branco e insira os detalhes de conexão manualmente.

    Database Type

    Selecione TiDB.

    Access Method

    Selecione o método de acesso com base no local onde o TiDB está implantado. Este exemplo usa Self-managed Database on ECS. Para outros métodos de acesso, prepare o ambiente necessário primeiro. Consulte Preparation overview.

    Instance Region

    A região onde o banco de dados TiDB reside.

    ECS Instance ID

    O ID da instância ECS que hospeda o TiDB.

    Port Number

    A porta do service TiDB. Padrão: 4000.

    Database Account

    A conta do banco de dados TiDB.

    Database Password

    A senha da conta do banco de dados.

    Migrate Incremental Data

    Selecione Yes se desejar a migração incremental de dados e insira os detalhes do cluster Kafka na seção Kafka cluster configuration.

  4. Configure o banco de dados de destino:

    Parâmetro

    Descrição

    Select Existing Connection

    Selecione uma instância registrada para preencher automaticamente os parâmetros abaixo ou deixe em branco e insira os detalhes de conexão manualmente.

    Database Type

    Selecione AnalyticDB for MySQL 3.0.

    Access Method

    Selecione Alibaba Cloud Instance.

    Instance Region

    A região onde o cluster de destino reside.

    Instance ID

    O ID do cluster AnalyticDB for MySQL V3.0 de destino.

    Database Account

    A conta do banco de dados para o cluster de destino. Consulte Permissões necessárias.

    Database Password

    A senha da conta do banco de dados.

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

    Os blocos CIDR do DTS devem ser adicionados às configurações de segurança dos bancos de dados de source e de destino. Consulte Adicionar os blocos CIDR dos servidores DTS .

Etapa 3: Configurar objetos a serem migrados

Na página Configure Objects, defina os seguintes parâmetros:

Parâmetro

Descrição

Migration Types

Selecione as fases de migração a serem executadas: Schema Migration, Full Data Migration e, opcionalmente, Incremental Data Migration. Se Schema Migration não for selecionado, crie o banco de dados e a tabela de destino antes de iniciar a tarefa. Se Incremental Data Migration não for selecionado, evite gravar no banco de dados de source durante a migração para manter a consistência dos dados.

Merge Tables

Yes adiciona uma coluna __dts_data_source a cada tabela de destino para registrar a source dos dados. Todas as tabelas de source selecionadas são mescladas em uma única tabela de destino. No (padrão) mantém as tabelas separadas. Não execute operações DDL que alterem esquemas de source durante a migração; alterações de esquema podem causar inconsistência de dados ou falha na tarefa.

Processing Mode of Conflicting Tables

Precheck and Report Errors: falha na pré-verificação se a source e o destino tiverem tabelas com o mesmo nome. Use o mapeamento de nomes de objetos para renomear tabelas conflitantes antes de iniciar. Ignore Errors and Proceed: ignora a pré-verificação. Durante a migração completa, o DTS mantém os registros de destino existentes para chaves primárias conflitantes. Durante a migração incremental, o DTS os sobrescreve. Se os esquemas diferirem entre source e destino, apenas as colunas correspondentes serão migradas ou a tarefa poderá falhar.

Capitalization of Object Names in Destination Instance

Controla o uso de maiúsculas e minúsculas nos nomes de bancos de dados, tabelas e colunas no destino. Padrão: DTS default policy. Consulte Especificar o uso de maiúsculas e minúsculas nos nomes de objetos na instância de destino.

Source Objects

Selecione tabelas ou bancos de dados para migrar e clique no ícone de seta para movê-los para Selected Objects.

Selected Objects

Clique com o botão direito em um objeto para renomeá-lo ou adicionar condições de filtro WHERE. Clique em Batch Edit para renomear vários objetos de uma vez. Renomear um objeto pode fazer com que objetos dependentes falhem na migração.

Clique em Next: Advanced Settings.

Etapa 4: Definir configurações avançadas

Parâmetro

Descrição

Retry Time for Failed Connections

Tempo durante o qual o DTS tenta novamente após uma falha de conexão. Intervalo válido: 10–1.440 minutos. Padrão: 720 minutos. Defina como pelo menos 30 minutos. Se várias tarefas compartilharem o mesmo banco de dados de source ou de destino, o valor definido mais recentemente será aplicado. O DTS cobra pela instância durante os períodos de nova tentativa.

Retry Time for Other Issues

Tempo durante o qual o DTS tenta novamente após falhas de DDL ou DML. Intervalo válido: 1–1.440 minutos. Padrão: 10 minutos. Defina como pelo menos 10 minutos. Deve ser menor que Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Limita o uso de recursos de leitura/gravação durante a migração completa. Configure o QPS (queries per second) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Disponível apenas quando Full Data Migration estiver selecionado.

Enable Throttling for Incremental Data Migration

Limita o uso de recursos durante a migração incremental. Configure o RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s). Disponível apenas quando Incremental Data Migration estiver selecionado.

Environment Tag

Uma tag opcional para identificar a instância do DTS.

Configure ETL

Selecione Yes para ativar extração, transformação e carregamento (ETL) e inserir instruções de processamento de dados. Consulte Configurar ETL em uma tarefa de migração ou sincronização de dados. Selecione No para pular.

Monitoring and Alerting

Selecione Yes para receber notificações quando a tarefa falhar ou a latência da migração exceder um limiar. Configure limiares de alerta e contatos. Consulte Configurar monitoramento e alertas.

Etapa 5: 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 6: Configurar campos de banco de dados e tabelas (opcional)

Clique em Next: Configure Database and Table Fields para definir o Type, Primary Key Column, Distribution Key, Partition Key, Partitioning Rules e Partition Lifecycle para as tabelas de destino.

Esta etapa está disponível apenas se Schema Migration estiver selecionado. Defina o Definition Status como All para visualizar e editar todas as tabelas. Para formar uma chave primária composta, especifique várias colunas em Primary Key Column e designe uma ou mais como Distribution Key e Partition Key . Consulte CREATE TABLE .

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 mouse sobre o botão e clique em Preview OpenAPI parameters antes de prosseguir.

O DTS executa uma pré-verificação antes de iniciar a migração. Se a pré-verificação falhar:

  • Clique em View Details ao lado do item com falha, resolva o problema e clique em Precheck Again.

  • Para itens de alerta que podem ser ignorados com segurança, clique em Confirm Alert Details > Ignore > OK e, em seguida, clique em Precheck Again. Ignorar alertas pode resultar em inconsistência de dados.

Etapa 8: Adquirir uma instância e iniciar a tarefa

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

  2. Na página Purchase Instance, configure o seguinte:

    Parâmetro

    Descrição

    Resource Group

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

    Instance Class

    A classe da instância determina a velocidade da migração. Consulte Classes de instâncias de migração de dados.

  3. Leia e aceite os Data Transmission service (Pay-as-you-go) Service Terms.

  4. Clique em Buy and Start e, em seguida, clique em OK na caixa de diálogo de confirmação.

Monitore o progresso da tarefa na página Data Migration.

  • Tarefas sem migração incremental param automaticamente quando concluídas. O status mostra Completed.

  • Tarefas com migração incremental são executadas continuamente. O status mostra Running. Pare a tarefa manualmente após o cutover.

Configuração do cluster Kafka

Quando Migrate Incremental Data estiver definido como Yes, configure o cluster Kafka com os seguintes parâmetros:

Parâmetro

Descrição

Kafka Cluster Type

O local de implantação do cluster Kafka. Este exemplo usa Self-managed Database on ECS. Se você selecionar Express Connect, VPN Gateway, or Smart Access Gateway, selecione também uma VPC em Connected VPC e especifique Domain Name or IP.

Kafka Data Source Component

Selecione Use the default binlog format of the TiDB database ou Use the TiCDC Canal-JSON format com base na sua configuração.

ECS Instance ID

O ID da instância ECS que hospeda o cluster Kafka.

Port Number

A porta do service Kafka.

Kafka Cluster Account

O nome de usuário do Kafka. Deixe em branco se a autenticação estiver desativada.

Kafka Cluster Password

A senha do Kafka. Deixe em branco se a autenticação estiver desativada.

Kafka Version

A versão do cluster Kafka. Selecione 1.0 se a versão for 1,0 ou posterior.

Encryption

Selecione Non-encrypted ou SCRAM-SHA-256 com base nos seus requisitos de segurança.

Topic

O tópico Kafka que recebe dados incrementais.

Próximos passos