Todos os produtos
Search
Central de documentação

Data Transmission Service:Migrar dados de um cluster PolarDB for MySQL para um projeto MaxCompute

Última atualização: Jun 27, 2026

Use o Data Transmission Service (DTS) para migrar dados de um cluster PolarDB for MySQL para um projeto MaxCompute. O DTS oferece suporte à migração de esquema, migração completa de dados e migração incremental de dados, abrangendo tanto dados históricos quanto alterações contínuas.

Como funciona

O DTS utiliza um pipeline de três estágios para transferir dados do PolarDB for MySQL para o MaxCompute:

  1. Schema migration: O DTS lê os esquemas das tabelas de origem e cria as tabelas correspondentes no MaxCompute, adicionando o sufixo _base a cada nome de tabela. Por exemplo, a tabela customer torna-se customer_base no MaxCompute.

  2. Full data migration: O DTS copia todas as linhas existentes de cada tabela de origem para a tabela _base correspondente no MaxCompute. Essas tabelas são chamadas de tabelas de linha de base completa e servem como ponto de partida para a sincronização incremental.

  3. Incremental data migration: O DTS cria uma tabela _log separada para cada tabela migrada (por exemplo, customer_log) e transmite operações contínuas de INSERT, UPDATE e DELETE dos logs binários de origem para essas tabelas em tempo real.

Pré-requisitos

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

Em vez de usar o par de AccessKey da conta principal, crie um usuário RAM e defina-o como superadministrador do projeto MaxCompute .

Limitações

Condições que bloqueiam a tarefa (corrija antes de iniciar)

As condições a seguir causam falha na tarefa de migração:

  • O servidor onde o banco de dados de origem está implantado deve ter largura de banda de saída suficiente. Caso contrário, a velocidade de migração de dados diminui.

  • As tabelas a serem migradas devem ter uma restrição PRIMARY KEY ou UNIQUE com todos os campos únicos. Sem isso, o destino pode conter registros duplicados.

  • Se você selecionar tabelas como objetos de migração e precisar renomear tabelas ou colunas, uma única tarefa suportará até 1.000 tabelas. Tarefas com mais de 1.000 tabelas neste modo retornam um erro de solicitação. Configure várias tarefas ou migre no nível do banco de dados.

  • Para migração incremental de dados, o log binário deve estar habilitado e o parâmetro loose_polar_log_bin deve estar definido como on. Se o log binário não estiver habilitado, a pré-verificação falhará e a tarefa não poderá ser iniciada. Consulte Habilitar log binário e Modificar parâmetros.

  • Não execute instruções DDL para alterar esquemas de banco de dados ou tabelas durante a migração de esquema ou a migração completa de dados. A tarefa de migração falhará se os esquemas forem alterados durante a execução.

  • Não utilize ferramentas como pt-online-schema-change para operações DDL online nos objetos em migração. A tarefa de migração falhará.

Habilitar o log binário em um cluster PolarDB for MySQL gera cobranças de armazenamento para os arquivos de log binário.

Riscos à integridade dos dados (revise antes de iniciar)

Estas condições podem causar inconsistência ou perda de dados:

  • Os logs binários devem ser retidos por pelo menos 3 dias; recomenda-se a retenção por 7 dias para maior segurança. Se o DTS não conseguir ler os logs binários, a tarefa falhará. Em casos excepcionais, pode ocorrer inconsistência ou perda de dados. Reter logs por menos dias do que o necessário pode invalidar o Acordo de Nível de Serviço (SLA) do DTS. Consulte Modificar o período de retenção.

  • Não grave dados no banco de dados de origem durante a migração apenas completa (migração de esquema + migração completa de dados sem incremental). Gravar na origem durante esta fase causa inconsistência de dados. Para gravar com segurança na origem durante a migração, inclua a migração incremental de dados.

  • Não grave dados de outras fontes no projeto MaxCompute de destino durante a migração. Gravações externas causam inconsistência de dados.

  • O MaxCompute não oferece suporte a restrições de chave primária. Se ocorrerem erros de rede, o DTS poderá gravar registros duplicados no projeto MaxCompute.

  • O DTS tenta repetir tarefas com falha por até 7 dias. Antes de alternar cargas de trabalho para o destino, pare ou libere as tarefas com falha. Alternativamente, revogue as permissões de gravação das contas do DTS no destino. Caso contrário, os dados de origem substituirão os dados de destino quando uma tarefa com falha for retomada.

Limites operacionais

  • O DTS não migra nós somente leitura do cluster PolarDB for MySQL de origem.

  • O DTS não migra tabelas externas do Object Storage Service (OSS) do cluster PolarDB for MySQL de origem.

  • O DTS não migra chaves estrangeiras. Operações em cascata e de exclusão dependentes de chaves estrangeiras não são replicadas para o destino.

  • Migre dados fora dos horários de pico. A migração completa de dados utiliza recursos de leitura e gravação tanto na origem quanto no destino, o que aumenta a carga em ambos os servidores de banco de dados.

  • Após a migração completa de dados, o tablespace de destino fica maior que o de origem porque operações INSERT simultâneas causam fragmentação da tabela.

  • Se uma instância do DTS falhar, o suporte técnico do DTS tentará a recuperação dentro de 8 horas. A recuperação pode envolver a reinicialização da instância ou o ajuste de parâmetros da instância do DTS (não parâmetros do banco de dados). Para obter informações sobre os parâmetros modificáveis, consulte Modificar parâmetros da instância.

Faturamento

Tipo de migração

Taxa de configuração da tarefa

Taxa de tráfego de internet

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

Gratuita

Gratuita, a menos que o Access Method esteja definido como Public IP Address. Consulte Visão geral do faturamento.

Migração incremental de dados

Cobrada. Consulte Visão geral do faturamento.

—

Operações SQL com suporte para migração incremental

Tipo de operação

Instruções SQL

DML

INSERT, UPDATE, DELETE

DDL

ADD COLUMN

Operações ADD COLUMN que incluem colunas de atributo não podem ser migradas.

Permissões necessárias para a conta do banco de dados

Banco de dados

Permissões necessárias

Como conceder

PolarDB for MySQL

Permissões de leitura nos objetos a serem migrados

Criar e gerenciar contas de banco de dados e Gerenciar senhas de contas de banco de dados

Criar uma tarefa de migração

Etapa 1: Abrir 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.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

Nota

O layout do console do DMS varia conforme o modo. Consulte Modo simples e Personalizar o layout e o estilo do console do DMS.

  1. Faça login no console do DMS.console do DMS

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

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

Etapa 2: Configurar bancos de dados de origem e destino

  1. Clique em Create Task.

  2. Configure os seguintes parâmetros.

Geral

Parâmetro

Descrição

Task Name

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

Banco de dados de origem

Parâmetro

Descrição

Select Existing Connection

Se o banco de dados de origem já estiver registrado no DTS, selecione-o na lista suspensa. O DTS preencherá os campos restantes automaticamente. Caso contrário, configure os campos abaixo. No console do DMS, selecione em Select a DMS database instance.

Database Type

Selecione PolarDB for MySQL.

Access Method

Selecione Alibaba Cloud Instance.

Instance Region

Região onde o cluster PolarDB for MySQL de origem reside.

Replicate Data Across Alibaba Cloud Accounts

Selecione No ao migrar dentro da mesma conta Alibaba Cloud.

PolarDB Cluster ID

ID do cluster PolarDB for MySQL de origem.

Database Account

Conta do banco de dados para o cluster de origem. Consulte Permissões necessárias para a conta do banco de dados.

Database Password

Senha da conta do banco de dados.

Encryption

Indica se a conexão com o banco de dados de origem deve ser criptografada. Consulte Configurar criptografia SSL.

Banco de dados de destino

Parâmetro

Descrição

Select Existing Connection

Se o projeto MaxCompute de destino já estiver registrado no DTS, selecione-o na lista suspensa. Caso contrário, configure os campos abaixo.

Database Type

Selecione MaxCompute.

Access Method

Selecione Alibaba Cloud Instance.

Instance Region

Região onde o projeto MaxCompute de destino reside.

Project

Nome do projeto MaxCompute de destino.

AccessKey ID of Alibaba Cloud Account

AccessKey ID do par de AccessKey preparado nos pré-requisitos.

AccessKey Secret of Alibaba Cloud Account

AccessKey Secret do par de AccessKey.

  1. Clique em Test Connectivity and Proceed.

Certifique-se de que os blocos CIDR dos servidores do DTS foram adicionados às configurações de segurança dos bancos de dados de origem e destino. O DTS pode adicioná-los automaticamente ou você pode adicioná-los manualmente. Consulte Adicionar endereços IP do servidor DTS a uma lista de permissões .
  1. Clique em OK para conceder permissões ao DTS no projeto MaxCompute. Em seguida, clique em Test Connectivity and Proceed.

Etapa 3: Configurar objetos de migração

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

Migration types

Parâmetro

Descrição

Migration Types

Selecione os tipos de migração com base no seu caso de uso:

- Schema Migration + Full Data Migration: migra apenas dados históricos. A tarefa é concluída e parada automaticamente.

- Schema Migration + Full Data Migration + Incremental Data Migration: migra dados históricos e replica alterações contínuas em tempo real. A tarefa é executada continuamente até que você a pare.

Se você pular a Schema Migration , crie o banco de dados e as tabelas de destino manualmente antes de iniciar a tarefa e ative o mapeamento de nomes de objetos em Selected Objects .
Se você pular a Incremental Data Migration , não grave no banco de dados de origem durante a migração para evitar inconsistência de dados.

Configuração de tabela

Parâmetro

Descrição

Naming Rules of Additional Columns

Após a migração, o DTS adiciona colunas extras à tabela de destino. Se um nome de coluna adicionada entrar em conflito com uma coluna existente, a tarefa falhará. Selecione New Rule ou Previous Rule com base na sua configuração. Verifique se há conflitos de nomes antes de selecionar. Consulte Regras de nomenclatura para colunas adicionais.

Partition Definition of Incremental Data Table

Selecione nomes de partição para a tabela de dados incrementais. Consulte Partição.

Processing Mode of Conflicting Tables

Como o DTS lida com tabelas no destino que têm o mesmo nome das tabelas na origem:

- Precheck and Report Errors: a tarefa falha na pré-verificação se conflitos de nome forem encontrados. Para resolver conflitos sem renomear as tabelas de destino, use o mapeamento de nomes de objetos. Consulte Mapear nomes de objetos.

- Ignore Errors and Proceed: ignora a verificação de conflitos. Se os esquemas de origem e destino coincidirem e as chaves primárias entrarem em conflito, a migração completa ignorará o registro conflitante (o registro de destino é mantido), enquanto a migração incremental o substituirá. Se os esquemas diferirem, apenas colunas específicas serão migradas ou a tarefa falhará. Use com cautela.

Capitalization of Object Names in Destination Instance

Política de uso de maiúsculas e minúsculas para nomes de bancos de dados, tabelas e colunas no destino. O padrão é DTS default policy. Consulte Especificar o uso de maiúsculas e minúsculas em nomes de objetos na instância de destino.

Seleção de objetos

Parâmetro Descrição
Source Objects Selecione os objetos a serem migrados. Clique no ícone 向右小箭头 para movê-los para Selected Objects. Tabelas são o tipo de objeto com suporte para este caminho de migração.
Selected Objects Para renomear um único objeto no destino, clique com o botão direito nele em Selected Objects. Consulte Mapear o nome de um único objeto. Para renomear vários objetos de uma vez, clique em Batch Edit. Consulte Mapear vários nomes de objetos de uma vez. Para filtrar linhas em uma tabela, clique com o botão direito na tabela e configure as condições de filtro. Consulte Especificar condições de filtro.
Nota

Renomear um objeto com o mapeamento de nomes de objetos pode fazer com que objetos dependentes falhem na migração.

  1. Clique em Next: Advanced Settings.

Etapa 4: Configurar definições avançadas

Parâmetro Descrição
Dedicated Cluster for Task Scheduling Por padrão, o DTS agenda a tarefa para o cluster compartilhado. Para maior estabilidade, adquira um cluster dedicado. Consulte O que é um cluster dedicado do DTS.
Retry Time for Failed Connections Tempo durante o qual o DTS tenta reconectar quando o banco de dados de origem ou destino está inacessível. Valores válidos: 10–1.440 minutos. Padrão: 720 minutos. Recomendamos definir o parâmetro com um valor superior a 30. Se o DTS reconectar dentro da janela de nova tentativa, ele retomará a tarefa. Caso contrário, a tarefa falhará.
Nota

Quando várias tarefas compartilham um banco de dados de origem ou destino, o tempo de nova tentativa definido mais recentemente se aplica. O DTS cobra pela instância durante as novas tentativas.

Retry Time for Other Issues Tempo durante o qual o DTS tenta novamente após falhas de DDL ou DML. Valores válidos: 1–1.440 minutos. Padrão: 10 minutos. Recomendamos definir o parâmetro com um valor superior a 10. Deve ser menor que Retry Time for Failed Connections.
Enable Throttling for Full Data Migration Limita a carga de leitura e gravação na origem e no destino durante a migração completa de dados. Configure Queries per second (QPS) to the source database, RPS of Full Data Migration (linhas por segundo) 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 a carga durante a migração incremental de dados. Configure RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s). Disponível apenas quando Incremental Data Migration estiver selecionado.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks Controla se o DTS grava operações SQL nas tabelas de heartbeat no banco de dados de origem durante a execução. Yesalert notification settings: não grava nas tabelas de heartbeat (um indicador de latência pode aparecer na instância). No: grava nas tabelas de heartbeat (pode afetar o backup físico ou a clonagem da origem).
Environment Tag Uma tag opcional para identificar a instância do DTS por ambiente (por exemplo, produção ou teste).
Configure ETL Indica se o recurso de extração, transformação e carregamento (ETL) deve ser ativado. Yes: configure 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: pule a configuração de ETL. Consulte O que é ETL?
Monitoring and Alerting Indica se alertas devem ser configurados para a tarefa de migração. Yes: defina limiares de alerta e contatos de notificação. Os alertas são disparados se a tarefa falhar ou se a latência da migração exceder o limiar. Consulte Configurar monitoramento e alertas ao criar uma tarefa do DTS. No: pule a configuração de alertas.

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

  1. Para visualizar os parâmetros da API antes de salvar, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters.

  2. Clique em Next: Save Task Settings and Precheck.

O DTS executa uma pré-verificação antes que a tarefa de migração possa ser iniciada. A tarefa só começa após a aprovação na pré-verificação.

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

  • Se um alerta for disparado em um item de verificação e o item puder ser ignorado com segurança, clique em Confirm Alert Details, depois clique em Ignore na caixa de diálogo e clique em OK. Em seguida, clique em Precheck Again. Ignorar um alerta pode causar inconsistência de dados.

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

  1. Aguarde até que a Success Rate atinja 100%, então clique em Next: Purchase Instance.

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

Parâmetro

Descrição

Resource Group

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

Instance Class

Classe de velocidade de migração. Selecione com base nos seus requisitos de throughput. Consulte Classes de instâncias de migração de dados.

  1. Leia e aceite os Data Transmission Service (Pay-as-you-go) Service Terms marcando a caixa de seleção.

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

A tarefa aparece na página Data Migration.

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

  • Tarefas com migração incremental são executadas continuamente. O status mostra Running. Pare a tarefa manualmente quando estiver pronto para realizar o corte (cutover).

Estrutura das tabelas de dados incrementais

Execute set odps.sql.allow.fullscan=true; no MaxCompute para permitir varreduras completas de tabela no projeto antes de consultar tabelas de dados incrementais.

O DTS grava alterações incrementais da origem em uma tabela _log no MaxCompute (por exemplo, customer_log). Cada linha na tabela de dados incrementais representa um evento de alteração e inclui tanto as colunas de dados da tabela de origem quanto as seguintes colunas de metadados.

Campo

Descrição

record_id

Identificador exclusivo da entrada de log incremental. Os IDs são incrementados automaticamente a cada nova entrada. Para operações UPDATE, o DTS gera duas entradas (valores pré-atualização e pós-atualização) com o mesmo record_id.

operation_flag

Tipo de alteração: I (INSERT), D (DELETE) ou U (UPDATE).

utc_timestamp

Carimbo de data/hora da operação em UTC, obtido do log binário.

before_flag

Indica se a linha contém valores pré-atualização: Y ou N.

after_flag

Indica se a linha contém valores pós-atualização: Y ou N.