Todos os produtos
Search
Central de documentação

Data Transmission Service:Synchronize data from a PolarDB for MySQL cluster to an ApsaraDB for ClickHouse cluster

Última atualização: Sep 19, 2026

O Data Transmission Service (DTS) mantém um cluster PolarDB for MySQL sincronizado com um cluster ApsaraDB for ClickHouse em tempo real, viabilizando análises centralizadas sem interromper o banco de dados source.

Tipos de sincronização e faturamento

Tipo de sincronização

Faturamento

Sincronização de schema

Gratuito

Sincronização completa de dados

Gratuito

Sincronização incremental de dados

Cobrado. Para mais detalhes, consulte Visão geral do faturamento.

Pré-requisitos

Antes de começar, verifique se:

Importante

Os binary logs no cluster source devem ser retidos por pelo menos sete dias. Um período de retenção menor pode fazer o DTS perder sua posição no binlog, resultando em falha na tarefa ou perda de dados. A ativação do binary logging gera cobranças de armazenamento no PolarDB for MySQL.

Permissões exigidas para contas de banco de dados

Banco de dados

Permissões necessárias

Referências

Cluster PolarDB for MySQL source

Permissões de leitura em todos os objetos a serem sincronizados

Create and manage a database account e Manage the password of a database account

ApsaraDB for ClickHouse V22.8 ou posterior como destino

Permissões de leitura e gravação no banco de dados de destino (uma conta privilegiada é suficiente)

Manage database accounts in a Community-compatible Edition cluster

ApsaraDB for ClickHouse V21.8 como destino

Read, Write and Set Permissions e Enable DDL

Igual ao item anterior

Limitações

Limites da instância source

  • O servidor source deve ter largura de banda de saída suficiente. Largura de banda insuficiente reduz a velocidade de sincronização.

  • Ao sincronizar tabelas com renomeação ou modificação de colunas no destino, uma única tarefa suporta até 1.000 tabelas. Para mais de 1.000 tabelas, divida em múltiplas tarefas ou sincronize o banco de dados inteiro.

  • Não execute operações DDL no source durante a sincronização completa de dados, pois isso causará falha na tarefa.

  • A sincronização de dados do tipo VECTOR não é suportada.

Outras limitações

  • O DTS não sincroniza nós somente leitura nem tabelas externas do Object Storage Service (OSS) do cluster source.

  • Instruções DDL que não seguem a sintaxe padrão do MySQL podem causar falha na tarefa ou perda de dados.

  • RENAME TABLE não é suportado.

  • Os valores DATETIME no source devem estar dentro dos intervalos de tempo suportados pelo ClickHouse (consulte Intervalo de tempo).

  • Todas as colunas selecionadas como Partition Key devem ser campos não nulos.

  • Até 256 bancos de dados podem ser sincronizados para um único cluster ApsaraDB for ClickHouse.

  • Os nomes de bancos de dados, tabelas e colunas devem estar em conformidade com as convenções de nomenclatura do ApsaraDB for ClickHouse. Consulte Limites nas convenções de nomenclatura de objetos.

  • Durante a sincronização de schema, o DTS adiciona os campos _sign, _is_deleted e _version às tabelas de destino. Se você desativar a opção Schema Synchronization, crie a tabela de destino manualmente e inclua esses campos.

  • Não grave dados de outras fontes no banco de dados de destino durante a sincronização. Gravações simultâneas causam inconsistência nos dados.

  • Não utilize pt-online-schema-change para executar DDL em tabelas sincronizadas no nível de tabela. Use DDL sem bloqueio do Data Management (DMS) em vez disso.

  • Execute a sincronização fora dos horários de pico sempre que possível. A sincronização completa de dados consome recursos de leitura e gravação em ambos os clusters.

  • Em caso de falha na tarefa, o suporte do DTS tentará restaurá-la em até 8 horas e poderá reiniciar a tarefa ou modificar seus parâmetros (não os parâmetros do banco de dados).

Operações SQL com suporte à sincronização de dados

DML

INSERT, UPDATE e DELETE

DDL

Operação DDL

Suportado

CREATE TABLE

Sim

TRUNCATE TABLE

Sim

ALTER TABLE

Sim

ADD COLUMN

Sim

MODIFY COLUMN

Sim

DROP TABLE

Sim

DROP COLUMN

Sim

RENAME TABLE

Não

Mapeamentos de tipos de dados

O PolarDB for MySQL e o ApsaraDB for ClickHouse suportam tipos de dados diferentes. Durante a sincronização inicial de schema, o DTS mapeia os tipos source para tipos compatíveis no destino. Consulte Mapeamentos de tipos de dados para sincronização inicial de schema.

Criar uma tarefa de sincronização

Etapa 1: Acessar a página de sincronização de dados

DTS console

  1. Acesse o DTS console

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

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

DMS console

Note

O caminho de navegação exato varia conforme o modo do DMS console. Consulte Simple mode e Personalizar o layout e o estilo do DMS console.

  1. Acesse o DMS console

  2. Na barra de navegação superior, posicione o ponteiro sobre Data + AI e escolha DTS (DTS) > Data Synchronization.

  3. Na lista suspensa ao lado de Data Synchronization Tasks, selecione a região onde a instância de sincronização residirá.

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

Clique em Create Task e preencha os parâmetros a seguir.

Seção

Parâmetro

Descrição

N/A

Task Name

Um nome para a tarefa do DTS. O DTS gera um nome automaticamente. Use um nome descritivo para identificar a tarefa com facilidade. Não é necessário que o nome seja único.

Source Database

Select Existing Connection

Selecione uma instância de banco de dados registrada na lista suspensa ou configure a conexão manualmente caso a instância não esteja registrada.

Database Type

Selecione PolarDB for MySQL.

Access Method

Selecione Alibaba Cloud Instance.

Instance Region

A região onde o cluster PolarDB for MySQL source reside.

Replicate Data Across Alibaba Cloud Accounts

Selecione No para sincronização na mesma conta.

PolarDB Cluster ID

O ID do cluster PolarDB for MySQL source.

Database Account

A conta do banco de dados do cluster source.

Database Password

A senha da conta.

Encryption

Define se a conexão com o banco de dados source será criptografada. Consulte Configure SSL encryption.

Destination Database

Select Existing Connection

Selecione uma instância registrada ou configure a conexão manualmente.

Database Type

Selecione ClickHouse.

Access Method

Selecione Alibaba Cloud Instance.

Instance Region

A região onde o cluster ApsaraDB for ClickHouse de destino reside.

Replicate Data Across Alibaba Cloud Accounts

Selecione No para sincronização na mesma conta.

Cluster Type

O tipo do cluster ApsaraDB for ClickHouse de destino.

Cluster ID

O ID do cluster ApsaraDB for ClickHouse de destino.

Database Account

A conta do banco de dados do cluster de destino.

Database Password

A senha da conta.

Clique em Test Connectivity and Proceed.

Certifique-se de que os blocos CIDR dos servidores DTS estejam adicionados às regras do grupo de segurança dos bancos de dados source e de destino. Consulte Adicionar os blocos CIDR dos servidores DTS .

Etapa 3: Configurar os objetos a sincronizar

Na etapa Configure Objects, defina os parâmetros a seguir.

Parâmetro

Descrição

Synchronization Types

Selecione Schema Synchronization, Full Data Synchronization e Incremental Data Synchronization. A sincronização completa de dados carrega os dados históricos antes de iniciar a sincronização incremental.

Processing Mode of Conflicting Tables

Precheck and Report Errors (padrão): reprova o precheck se o destino contiver tabelas com os mesmos nomes das tabelas source. Use o mapeamento de nomes de objetos para evitar conflitos. Ignore Errors and Proceed: ignora a verificação de conflitos. Durante a sincronização completa, os registros existentes no destino são mantidos; durante a sincronização incremental, são sobrescritos. Se os schemas forem diferentes, a tarefa poderá falhar. Use com cautela.

Capitalization of Object Names in Destination Instance

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

Source Objects

Selecione os bancos de dados, tabelas ou colunas a sincronizar e clique no ícone de seta para adicioná-los a Selected Objects.

Selected Objects

Clique com o botão direito em um objeto para renomeá-lo, ou clique em Batch Edit para renomear vários objetos de uma vez. Clique com o botão direito em uma tabela para adicionar condições de filtro SQL. Consulte Mapear nomes de objetos e Set filter conditions

    .

    Se você usar o mapeamento de nomes de objetos, os objetos que dependem dos objetos renomeados poderão falhar na sincronização.

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

    Parâmetro

    Descrição

    Dedicated Cluster for Task Scheduling

    Por padrão, o DTS utiliza o cluster compartilhado. Para maior estabilidade, adquira um cluster dedicado. Consulte O que é um cluster dedicado do DTS.

    Time zone of destination database

    O fuso horário aplicado aos dados DateTime gravados no cluster ClickHouse de destino.

    Retry Time for Failed Connections

    Tempo durante o qual o DTS tenta reconectar após falhas de conexão quando a tarefa está em execução. Valores válidos: 10 a 1440 minutos. Padrão: 720 minutos. Defina pelo menos 30 minutos. Se múltiplas tarefas compartilham o mesmo source ou destino, o menor tempo de retry é aplicado. As cobranças do DTS continuam durante as tentativas.

    Retry Time for Other Issues

    Tempo durante o qual o DTS tenta novamente operações DDL ou DML com falha. Valores válidos: 1 a 1440 minutos. Padrão: 10 minutos. Defina pelo menos 10 minutos. Este valor deve ser menor que Retry Time for Failed Connections.

    Enable Throttling for Full Data Synchronization

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

    Enable Throttling for Incremental Data Synchronization

    Limita a carga durante a sincronização incremental. Configure RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s).

    Whether to delete SQL operations on heartbeat tables of forward and reverse tasks

    Yesalert notification settings: o DTS não grava SQL de heartbeat no source, o que pode indicar latência na tarefa. No: o DTS grava SQL de heartbeat, o que pode afetar o backup físico e a clonagem do source.

    Environment Tag

    Tags opcionais para categorizar a instância de sincronização.

    Configure ETL

    Define se o recurso de extração, transformação e carregamento (ETL) será ativado. Yes: insira instruções de processamento de dados no editor de código. Consulte Configurar ETL em uma tarefa de migração ou sincronização de dados. No: ignora o ETL.

    Monitoring and Alerting

    Yes: configure limiares de alerta e contatos de notificação para que o DTS envie alertas quando a tarefa falhar ou a latência de sincronização exceder o limiar definido. Consulte Configurar monitoramento e alertas. No: sem alertas.

    Clique em Next: Configure Database and Table Fields para definir o Type, a Primary Key Column, a Sort Key, a Distribution Key e a Partition Key para cada tabela ClickHouse de destino.

    Por padrão, o DTS configura esses campos automaticamente. Para alterá-los, defina Definition Status como All .
    Primary Key Column e Sort Key aceitam múltiplas colunas. Distribution Key aceita apenas uma coluna.
    Partition Key é opcional. Se configurado, todas as colunas selecionadas devem ser campos não nulos.
    Para detalhes sobre os parâmetros de tabela do ClickHouse, consulte CREATE TABLE .

    Etapa 4: Executar o precheck

    Clique em Next: Save Task Settings and Precheck.

    Para visualizar os parâmetros de API desta tarefa, posicione o ponteiro sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters .

    O DTS executa um precheck antes de iniciar a tarefa. Se o precheck falhar:

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

    • Para itens de alerta que podem ser ignorados, clique em Confirm Alert Details > Ignore > OK, depois clique em Precheck Again. Ignorar alertas pode causar inconsistência nos dados.

    Etapa 5: Adquirir uma instância

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

    2. Na página buy, configure os parâmetros a seguir.

    Parâmetro

    Descrição

    Billing Method

    Subscription: pagamento antecipado, mais econômico para uso de longo prazo. Pay-as-you-go: faturado por hora, adequado para uso de curto prazo. Libere a instância quando não for mais necessária para interromper as cobranças.

    Resource Group Settings

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

    Instance Class

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

    Subscription Duration

    Disponível somente para o método de faturamento Subscription. Opções: 1 a 9 meses, ou 1, 2, 3 ou 5 anos.

    1. Leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.

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

    A tarefa aparece na lista de tarefas. Acompanhe seu progresso por lá.

    Consultar dados sincronizados

    Após a conclusão da sincronização, use a instrução a seguir para consultar dados no cluster ClickHouse de destino:

    SELECT * FROM table_name FINAL WHERE _sign > 0;

    A palavra-chave FINAL mescla linhas com a mesma sort key e retorna a versão mais recente. O filtro WHERE _sign > 0 exclui linhas marcadas para exclusão.

    Apêndice

    Intervalo de tempo

    Tipo de dado

    Valor mínimo

    Valor máximo

    Date

    1970-01-01 00:00:00

    2149-06-06 00:00:00

    Date32

    1925-01-01 00:00:00

    2283-11-11 00:00:00

    DateTime

    1970-01-01 08:00:00

    2106-02-07 14:28:15

    DateTime64

    1925-01-01 08:00:00

    2283-11-12 07:59:59

    Tabelas

    Ao criar tabelas de destino manualmente (sem sincronização de schema), as tabelas devem atender aos seguintes requisitos.

    Importante

    Se a tabela de destino incluir o parâmetro ENGINE, defina-o como ENGINE = ReplicatedReplacingMergeTree(_version, _is_deleted). Qualquer outro valor causará inconsistência nos dados.

    • Community-compatible Edition: crie uma tabela local e uma tabela distribuída. O nome da tabela distribuída deve corresponder ao nome da tabela source. O nome da tabela local segue o formato <distributed_table_name>_local.

    • Enterprise Edition: crie uma tabela com o mesmo nome da tabela source.

    Campos

    O DTS adiciona os seguintes campos de metadados às tabelas de destino.

    ApsaraDB for ClickHouse Community-compatible Edition executando V23.8 ou anterior

    Campo

    Tipo de dado

    Valor padrão

    Descrição

    _sign

    Int8

    1

    Tipo de operação DML: INSERT ou UPDATE = 1; DELETE = -1.

    _version

    UInt64

    1

    O momento em que a linha foi gravada no cluster ClickHouse.

    ApsaraDB for ClickHouse Enterprise Edition ou Community-compatible Edition executando V23.8 ou posterior

    Campo

    Tipo de dado

    Valor padrão

    Descrição

    _sign

    Int8

    1

    Tipo de operação DML: INSERT ou UPDATE = 1; DELETE = -1.

    _is_deleted

    UInt8

    0

    Indica se a linha foi excluída: INSERT ou UPDATE = 0; DELETE = 1.

    _version

    UInt64

    1

    O timestamp do momento em que a linha foi gravada no cluster ClickHouse.