Todos os produtos
Search
Central de documentação

Data Transmission Service:Sincronizar dados do RDS MySQL para o DataHub

Última atualização: Sep 02, 2026

Use o Data Transmission Service (DTS) para transmitir alterações incrementais de uma instância ApsaraDB RDS for MySQL para um projeto DataHub em tempo real. Com a sincronização em execução, analise os dados com o Alibaba Cloud Realtime Compute for Apache Flink ou o StreamCompute.

Pré-requisitos

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

  • Um projeto DataHub na região China (Hangzhou), China (Shanghai), China (Beijing) ou China (Shenzhen). Para criar um projeto, consulte Create a project.

  • Tabelas para sincronizar com restrições PRIMARY KEY ou UNIQUE.

Faturamento

Tipo de sincronização

Taxa

Sincronização de esquema e sincronização completa de dados

Gratuita

Sincronização incremental de dados

Paga. Para mais informações, consulte Billing overview.

Limitações

  • Sem dados históricos (apenas CDC): Não há suporte para sincronização inicial completa de dados. O DTS sincroniza apenas as alterações ocorridas após o início da tarefa.

  • Apenas tabelas: Selecione somente tabelas como objetos de sincronização.

  • Evite DDL durante a sincronização: Operações DDL em tabelas sincronizadas enquanto a tarefa está em execução podem causar falha na sincronização.

Operações SQL compatíveis com sincronização

Tipo de operação

Instrução SQL

DML

INSERT, UPDATE e DELETE

DDL

ADD COLUMN

Configure a sincronização de dados

Etapa 1: Adquirir uma instância de sincronização de dados

Adquira uma instância de sincronização de dados. Para mais informações, consulte Purchase a DTS instance.

Na página de compra, defina Source Instance como MySQL , Destination Instance como DataHub e Synchronization Topology como One-way Synchronization .

Etapa 2: Configure a tarefa

  1. Faça login no console do DTS.

    Caso seja redirecionado para o console do Data Management (DMS), clique em no ícone old localizado na image para acessar a versão anterior do console do DTS.
  2. No painel de navegação à esquerda, clique em Data Synchronization.

  3. Na parte superior da página Synchronization Tasks, selecione a região onde a instância de destino está localizada.

  4. Localize a instância de sincronização de dados e clique em Configure Task na coluna Actions.

  5. Configure as instâncias source e de destino.

    Seção

    Parâmetro

    Descrição

    N/A

    Nome da tarefa de sincronização

    Nome gerado automaticamente pelo DTS. Especifique um nome descritivo para facilitar a identificação da tarefa. O nome não precisa ser único.

    Detalhes da instância source

    Tipo de instância

    Selecione RDS Instance.

    Importante

    Para um banco de dados MySQL autogerenciado, prepare primeiro o ambiente necessário. Consulte Preparation overview.

    Região da instância

    Região source selecionada na página de compra. Somente leitura.

    ID da instância

    O ID da instância ApsaraDB RDS source.

    Conta do banco de dados

    A conta do banco de dados source.

    Importante

    Este parâmetro não é necessário para MySQL 5.5 ou MySQL 5.6.

    Senha do banco de dados

    A senha da conta.

    Importante

    Este parâmetro não é necessário para MySQL 5.5 ou MySQL 5.6.

    Criptografia

    Selecione Non-encrypted ou SSL-encrypted. Se escolher SSL-encrypted, ative a criptografia SSL na instância RDS antes de configurar esta tarefa. Consulte Configure the SSL encryption feature.

    Importante

    Este parâmetro está disponível apenas na China continental e em China (Hong Kong).

    Detalhes da instância de destino

    Tipo de instância

    DataHub. Somente leitura.

    Região da instância

    Região de destino selecionada na página de compra. Somente leitura.

    Projeto

    O nome do projeto DataHub de destino.

  6. Clique em Set Whitelist and Next no canto inferior direito. O DTS adiciona automaticamente seus blocos CIDR de servidor à lista de permissões de endereços IP de instâncias de banco de dados da Alibaba Cloud (como ApsaraDB RDS for MySQL) ou às regras de grupo de segurança de instâncias Elastic Compute Service (ECS) que hospedam o banco de dados. Se o banco de dados autogerenciado estiver hospedado em várias instâncias ECS, adicione manualmente os blocos CIDR dos servidores DTS às regras de grupo de segurança de cada instância ECS. Para bancos de dados autogerenciados em um data center ou hospedados por um provedor de cloud terceirizado, adicione manualmente os blocos CIDR do servidor DTS. Consulte Add the CIDR blocks of DTS servers.

    Aviso

    Adicionar blocos CIDR do DTS a uma lista de permissões ou grupo de segurança pode introduzir riscos de segurança. Adote medidas preventivas, como fortalecer a segurança de senhas, limitar portas expostas, auditar chamadas de API e revisar regularmente as regras da lista de permissões. Para maior segurança, conecte o banco de dados ao DTS usando Express Connect, VPN Gateway ou Smart Access Gateway.

  7. Configure a política e os objetos de sincronização.

    Parâmetro

    Descrição

    Sincronização inicial

    Selecione Initial Schema Synchronization. O DTS sincroniza os esquemas dos objetos selecionados para o projeto DataHub de destino.

    Objetos a sincronizar

    Na seção Available, selecione as tabelas e clique em 向右小箭头 para movê-las para a seção Selected. Para renomear objetos sincronizados no destino, use o recurso de mapeamento de nomes de objetos. Consulte Rename an object to be synchronized.

    Ativar novas regras de nomenclatura para colunas adicionais

    Escolha Yes ou No. Antes de configurar este parâmetro, verifique se os nomes das colunas adicionais entram em conflito com colunas existentes no tópico de destino. Caso contrário, a tarefa de sincronização de dados pode falhar ou ocorrer perda de dados. Consulte Naming rules for additional columns.

    Renomear bancos de dados e tabelas

    Use o recurso de mapeamento de nomes de objetos para renomear os objetos sincronizados no destino. Consulte Object name mapping.

    Replicar tabelas temporárias quando o DMS executa operações DDL

    Controla se o DTS sincroniza tabelas temporárias geradas por operações DDL online no DMS. Yes: O DTS sincroniza tabelas temporárias. Grandes operações DDL online podem aumentar a latência da sincronização. No: O DTS ignora tabelas temporárias e sincroniza apenas o DDL original da source. As tabelas de destino podem ser bloqueadas.

    Tempo de nova tentativa para conexões com falha

    Padrão: 720 minutos (12 horas). Se o DTS reconectar dentro desse período, a sincronização será retomada. Caso contrário, a tarefa falhará. Haverá cobrança do DTS durante os períodos de nova tentativa. Defina este valor com base nas necessidades do seu negócio e libere a instância se as instâncias source e de destino forem liberadas.

  8. (Opcional) Na seção Selected, passe o mouse sobre o nome de uma tabela e clique em Edit para configurar uma chave de shard para particionamento da tabela.

  9. Clique em Precheck no canto inferior direito.

    O DTS executa uma verificação prévia antes de iniciar a tarefa. A tarefa só começa após a aprovação nessa verificação. Se algum item falhar, clique em no ícone 提示 ao lado do item com falha para visualizar os detalhes. Corrija o problema e execute a verificação novamente, ou ignore o item com falha e execute novamente caso nenhuma correção seja necessária.
  10. Após a exibição da mensagem Precheck Passed, feche a caixa de diálogo Precheck. A tarefa será iniciada automaticamente.

  11. Aguarde a conclusão da sincronização inicial. O status da tarefa mudará para Synchronizing. Verifique o status da tarefa na página Synchronization Tasks. View the status of a data synchronization task

Esquema do tópico DataHub

Quando o DTS sincroniza dados incrementais para um tópico DataHub, ele adiciona colunas de metadados ao tópico.

Neste exemplo, id , name e address são campos de dados. Quando as regras de nomenclatura anteriores são utilizadas, o DTS adiciona o prefixo dts_ a todos os campos, incluindo os campos originais da source. Quando as novas regras de nomenclatura são usadas, o DTS não adiciona prefixo aos campos originais da source.

Topic定义

Nome da coluna anterior

Novo nome da coluna

Tipo

Descrição

dts_record_id

new_dts_sync_dts_record_id

String

ID exclusivo da entrada de log incremental. Incrementa automaticamente para cada nova entrada. Em cenários de recuperação de desastres, o rollback pode causar duplicação de ID. Para operações UPDATE, ambas as entradas de log (pré-atualização e pós-atualização) compartilham o mesmo dts_record_id.

dts_operation_flag

new_dts_sync_dts_operation_flag

String

O tipo de operação. Valores válidos: I (INSERT), D (DELETE), U (UPDATE), F (sincronização completa de dados).

dts_instance_id

new_dts_sync_dts_instance_id

String

O ID do servidor do banco de dados.

dts_db_name

new_dts_sync_dts_db_name

String

O nome do banco de dados.

dts_table_name

new_dts_sync_dts_table_name

String

O nome da tabela.

dts_utc_timestamp

new_dts_sync_dts_utc_timestamp

String

O timestamp da operação em UTC. Este também é o timestamp do arquivo de log.

dts_before_flag

new_dts_sync_dts_before_flag

String

Indica se os valores da linha são valores pré-atualização. Valores válidos: Y, N. Consulte a tabela de valores de flag antes e depois.

dts_after_flag

new_dts_sync_dts_after_flag

String

Indica se os valores da linha são valores pós-atualização. Valores válidos: Y, N. Consulte a tabela de valores de flag antes e depois.

Valores de flag antes e depois

As colunas dts_before_flag e dts_after_flag indicam se uma linha no tópico representa o estado antes ou depois de uma alteração de dados.

Operação

Entradas de log geradas

dts_before_flag

dts_after_flag

Conteúdo da linha

INSERT

1

N

Y

Os valores recém-inseridos.

DELETE

1

Y

N

Os valores excluídos.

UPDATE (primeira entrada)

2 (mesmo dts_record_id)

Y

N

Valores pré-atualização.

UPDATE (segunda entrada)

2 (mesmo dts_record_id)

N

Y

Valores pós-atualização.

Operação INSERT

A entrada de log contém os valores recém-inseridos. dts_before_flag é N e dts_after_flag é Y.

Operação UPDATE

O DTS gera duas entradas de log com os mesmos valores de dts_record_id, dts_operation_flag e dts_utc_timestamp. A primeira entrada captura os valores pré-atualização (dts_before_flag=Y, dts_after_flag=N). A segunda entrada captura os valores pós-atualização (dts_before_flag=N, dts_after_flag=Y).

UPDATE操作

Operação DELETE

A entrada de log contém os valores excluídos. dts_before_flag é Y e dts_after_flag é N.

DELETE操作

Próximos passos

Depois que a tarefa de sincronização estiver em execução, use o Alibaba Cloud Realtime Compute for Apache Flink para analisar os dados no projeto DataHub. Para mais informações, consulte What is Alibaba Cloud Realtime Compute for Apache Flink?