Todos os produtos
Search
Central de documentação

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

Última atualização: Nov 05, 2026

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

Pré-requisitos

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

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

  • Tabelas para sincronização com restrições PRIMARY KEY ou UNIQUE.

Faturamento

Tipo de sincronização

Cobrança

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

Gratuito

Sincronização incremental de dados

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

Limitações

  • Sem dados históricos (apenas CDC): O DTS não oferece suporte à sincronização inicial completa de dados. O DTS sincroniza apenas as alterações que ocorrem após o início da tarefa.

  • Apenas tabelas: É possível selecionar apenas tabelas como objetos de sincronização.

  • Evite DDL durante a sincronização: Operações DDL em tabelas sincronizadas durante a execução da tarefa podem causar falhas na sincronização.

Operações SQL que podem ser sincronizadas

Tipo de operação

Instrução SQL

DML

INSERT, atualize e exclua

DDL

ADD COLUMN

Importante

Caso modifique manualmente o esquema da tabela no destino, reinicie a tarefa de sincronização: primeiro pausando e depois iniciando-a.

configure a sincronização de dados

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

Compre 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. acesse o console do DTS.

    Se for redirecionado para o console do Data Management (DMS), clique em old ícone 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. Encontre a instância de sincronização de dados e clique em Configure Task na coluna Actions.

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

    Seção

    Parâmetro

    Descrição

    N/D

    Nome da tarefa de sincronização

    O nome da tarefa 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 de 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

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

    ID da instância

    O ID da instância do ApsaraDB RDS de source.

    Conta do banco de dados

    A conta do banco de dados de source.

    Importante

    Para o MySQL 5.5 ou MySQL 5.6, este parâmetro não é obrigatório.

    Senha do banco de dados

    A senha da conta.

    Importante

    Para o MySQL 5.5 ou MySQL 5.6, este parâmetro não é obrigatório.

    Criptografia

    selecione Non-encrypted ou SSL-encrypted. Se selecionar SSL-encrypted, ative a criptografia SSL na instância do RDS antes de configure 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

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

    Projeto

    O nome do projeto do DataHub de destino.

  6. Clique em Set Whitelist and Next no canto inferior direito. O DTS adiciona automaticamente os blocos CIDR do servidor à lista de permissões de endereços ip das instâncias de banco de dados da Alibaba Cloud (como o ApsaraDB RDS for MySQL) ou às regras do grupo de segurança de instâncias do elastic compute service (ECS) que hospedam o banco de dados. Se o banco de dados autogerenciado estiver hospedado em várias instâncias do ECS, adicione manualmente os blocos CIDR dos servidores do DTS às regras do grupo de segurança de cada instância do ECS. Para bancos de dados autogerenciados em um data center ou hospedados por um provedor de cloud de terceiros, adicione manualmente os blocos CIDR do servidor do 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. Tome medidas preventivas, como reforçar a segurança de senhas, limitar portas expostas, auditar chamadas de API e revisar as regras da lista de permissões regularmente. Para maior segurança, conecte o banco de dados ao DTS usando o 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 do DataHub de destino.

    Objetos a serem sincronizados

    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 nome de objeto. Consulte Rename an object to be synchronized.

    Ativar novas regras de nomenclatura para colunas adicionais

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

    Renomear bancos de dados e tabelas

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

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

    Defina se o DTS sincroniza tabelas temporárias geradas por operações DDL online em DMS. Yes: o DTS sincroniza tabelas temporárias. Grandes operações DDL online podem aumentar a latência de 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 se reconectar dentro desse período, a sincronização será retomada. Caso contrário, a tarefa falhará. Há cobrança do DTS durante os períodos de nova tentativa. defina este valor com base nas suas necessidades de negócios e libere a instância caso as instâncias de source e de destino sejam liberadas.

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

  9. Clique em Precheck no canto inferior direito.

    O DTS executa uma pré-verificação antes de iniciar a tarefa. A tarefa inicia apenas após a aprovação na pré-verificação. Se um item falhar na pré-verificação, clique em 提示 ícone ao lado do item com falha para visualize os detalhes. Corrija o problema e execute a pré-verificação novamente, ou ignore o item com falha e execute novamente se nenhuma correção for necessária.
  10. Após a exibição da mensagem Precheck Passed, feche a caixa de diálogo Precheck. A tarefa inicia automaticamente.

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

Esquema do tópico do DataHub

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

Neste exemplo, id , name e address são campos de dados. Ao usar as regras de nomenclatura anteriores, o DTS adiciona o prefixo dts_ a todos os campos, incluindo os campos originais da source. Ao usar as novas regras de nomenclatura, o DTS não adiciona um 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. O valor incrementa automaticamente para cada nova entrada. Em cenários de recuperação de desastres, a reversão pode causar duplicação de ID. Para operações atualize, 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 (exclua), U (atualize), 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 carimbo de data e hora da operação em UTC. Este também é o carimbo de data e hora do arquivo de log.

dts_before_flag

new_dts_sync_dts_before_flag

String

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

dts_after_flag

new_dts_sync_dts_after_flag

String

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

Valores de sinalizador 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.

exclua

1

Y

N

Os valores excluídos.

atualize (primeira entrada)

2 (mesmo dts_record_id)

Y

N

Valores de pré-atualização.

atualize (segunda entrada)

2 (mesmo dts_record_id)

N

Y

Valores de 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 atualize

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 de pré-atualização (dts_before_flag=Y, dts_after_flag=N). A segunda entrada captura os valores de pós-atualização (dts_before_flag=N, dts_after_flag=Y).

UPDATE操作

Operação exclua

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

DELETE操作

Próximos passos

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