Todos os produtos
Search
Central de documentação

Data Transmission Service:Migrate data from PolarDB for MySQL to ApsaraDB for SelectDB

Última atualização: Sep 20, 2026

Use o Data Transmission Service (DTS) para migrar dados de um cluster PolarDB for MySQL para uma instância ApsaraDB for SelectDB, atendendo a cargas de trabalho analíticas em larga escala. O DTS oferece suporte à migração de schema, à migração completa de dados e à migração incremental de dados, o que permite migrar dados com o mínimo de tempo de inatividade.

Pré-requisitos

Antes de começar, confirme que você tem:

Cobrança

Tipo de migração

Tarifas de configuração de link

Tarifas de transferência de dados

Migração de schema + migração completa de dados

Gratuito

Gratuito (a menos que o método de acesso do destino seja Public IP Address — consulte Billing overview)

Migração incremental de dados

Cobrado — consulte Billing overview

Permissões necessárias

Banco de dados Migração de schema Migração completa Migração incremental
Source: PolarDB for MySQL SELECT SELECT Access control list
Destino: SelectDB USAGE_PRIV, SELECT_PRIV, LOAD_PRIV, ALTER_PRIV, CREATE_PRIV, DROP_PRIV

Para criar contas e conceder permissões:

Limitações

Banco de dados de source

Limitação

Detalhes

Largura de banda

O servidor do banco de dados de source deve ter no mínimo 100 Mb/s de largura de banda de saída. Larguras de banda menores reduzem a velocidade da migração.

Objetos não suportados

Não é possível migrar nós somente leitura, tabelas externas do OSS, índices, partições, views, procedures, funções, triggers e chaves estrangeiras.

Limite de tabelas para mapeamento de colunas

Ao mapear nomes de colunas ou edite objetos de migração de outra forma, uma única tarefa oferece suporte a até 1.000 tabelas. Para migrar mais tabelas, divida-as em várias tarefas ou migre o banco de dados inteiro sem edições em nível de coluna.

Binary logging (somente migração incremental)

Ative o binary logging e defina o parâmetro loose_polar_log_bin como on. Sem isso, a pré-verificação falha e a migração não pode iniciar. Consulte Enable binary logging e Modify parameters. Ative o binary logging consome armazenamento e gera cobranças.

Retenção de binary log (somente migração incremental)

Mantenha os binary logs por pelo menos 3 dias (recomenda-se 7 dias). Se o DTS não conseguir recuperar os binary logs, a migração pode falhar ou provocar inconsistência ou perda de dados. Isso não é coberto pelo Service-Level Agreement (SLA) do DTS. Consulte Modify the retention period.

Banco de dados de destino (SelectDB)

Limitação

Detalhes

Engines suportadas

Apenas tabelas que usam a engine Unique ou Duplicate têm suporte.

Engine Unique

Todas as chaves únicas na tabela de destino devem existir na tabela de source e estar incluídas nos objetos de migração. Caso contrário, pode ocorrer inconsistência de dados.

Engine Duplicate

Linhas duplicadas podem aparecer quando ocorre uma nova tentativa, quando a instância reinicia ou quando duas ou mais operações DML são executadas na mesma linha após a inicialização da instância. Use as colunas adicionais _is_deleted, _version e _record_id para identificar e remover duplicatas. O DTS converte instruções UPDATE e DELETE em instruções INSERT para tabelas com engine Duplicate.

Parâmetro bucket_count

Na caixa Selected Objects, só é possível configure o parâmetro bucket_count (número de buckets). O valor deve ser um inteiro positivo; o padrão é auto.

Regras de nomenclatura

Nomes de bancos de dados e tabelas devem começar com uma letra. Nomes de objetos (bancos de dados, tabelas ou colunas) que contenham caracteres chineses precisam ser renomeados por meio do recurso de mapeamento de nomes de objeto antes da migração.

Conversão de tamanho de VARCHAR

No PolarDB for MySQL, VARCHAR(M) representa o tamanho em caracteres. No SelectDB, VARCHAR(N) representa o tamanho em bytes. Se você não usar a migração de schema, defina o tamanho dos campos VARCHAR no SelectDB como quatro vezes o valor do PolarDB for MySQL.

Mesclagem de várias tabelas

Ao migrar várias tabelas de source para uma única tabela de destino, os schemas das tabelas de source devem ser idênticos. Diferenças de schema provocam inconsistência de dados ou falha na tarefa.

Limitações operacionais durante a migração

Evite as ações a seguir enquanto a migração estiver em andamento:

Ação proibida

Risco

Operações DDL que alteram schemas (durante a migração de schema ou a migração completa)

A tarefa de migração falha.

Operações DDL que modifique várias colunas de uma só vez, ou a mesma tabela em sucessão

Sem suporte; a tarefa falha.

Operações DDL online usando pt-online-schema-change na source

Não podem ser migradas; podem causar perda de dados ou falha da tarefa.

Crie clusters na instância SelectDB de destino

A tarefa falha. Reinicie a instância de migração para retomar.

Adicionar nós backend (BE) ao SelectDB

A tarefa falha. Reinicie a instância de migração para retomar.

Gravar dados de fontes diferentes do DTS no destino

Pode causar inconsistência de dados.

Gravar novos dados na source (somente migração completa, sem incremental)

Provoca inconsistência de dados entre source e destino.

Failover primário/secundário durante a migração completa

O DTS não oferece suporte a failover durante a migração completa. Reconfigure a tarefa caso ocorra failover.

Outras considerações

  • DDL online com DMS ou gh-ost: o DTS migra apenas as instruções DDL originais — não os dados de tabelas temporárias. Isso pode bloquear tabelas de destino.

  • Operações fora do binary log: alterações de dados que não são registradas nos binary logs (como recuperação de backup físico e operações em cascata) não são migradas. Execute uma nova migração completa de dados caso isso ocorra.

  • RENAME TABLE: um RENAME TABLE durante a migração incremental pode provocar inconsistência de dados. Se você renomear uma tabela que é objeto de migração, os dados dela podem não ser migrados. Para evitar isso, selecione o banco de dados — e não tabelas individuais — como objeto de migração e garanta que o banco de dados apareça nos objetos de migração antes e depois da renomeação.

  • Latência da sincronização incremental: por padrão, o DTS grava em cada objeto de sincronização no máximo uma vez a cada 5 segundos. Normalmente, a latência fica dentro de 10 segundos. Para reduzir a latência, ajuste o parâmetro selectdb.reservoir.timeout.milliseconds no console do DTS (intervalo válido: 1.000–10.000 ms). Intervalos mais curtos aumentam a frequência de gravação e podem elevar a carga no destino e o tempo de resposta de gravação (RT).

  • Impacto no desempenho: a migração completa lê todos os dados de source e grava no destino de forma concorrente, o que aumenta a carga em ambos os bancos de dados. Execute migrações fora dos horários de pico e ative a limitação de taxa quando necessário.

  • Tamanho do tablespace após a migração completa: operações INSERT concorrentes durante a migração completa causam fragmentação. O tablespace de destino pode ficar maior do que o de source após a conclusão da migração.

  • Recuperação da instância: se a instância de migração falhar, o helpdesk do DTS tenta a recuperação em até 8 horas. A recuperação pode envolver reinício da instância ou ajuste de parâmetros da instância do DTS (não parâmetros do banco de dados). Consulte Modify instance parameters para saber quais parâmetros podem ser modificados.

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

Tipo de operação

Instruções SQL

DML

INSERT, UPDATE, DELETE

DDL

ADD COLUMN, MODIFY COLUMN, CHANGE COLUMN, DROP COLUMN, DROP TABLE, TRUNCATE TABLE, RENAME TABLE

Importante

RENAME TABLE pode provocar inconsistência de dados. Se você selecione uma tabela como objeto de migração e renomeá-la durante a migração, os dados dela podem não migrar para o destino. Para evitar isso, selecione o banco de dados (e não tabelas individuais) como objeto de migração e garanta que o banco de dados apareça nos objetos de migração antes e depois da renomeação.

Crie uma tarefa de migração

Etapa 1: abrir a página Data Migration

Use um dos consoles a seguir:

DTS console

  1. Faça login no DTS console.DTS console

  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 está localizada.

DMS console

Nota

As etapas exatas podem variar conforme o modo e o layout do seu DMS console. Consulte Simple mode e Customize the layout and style of the DMS console.

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

  2. Na barra de navegação superior, acesse 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 está localizada.

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

  1. Clique em Create Task.

  2. Na página de configuração da tarefa, defina os parâmetros a seguir.

General

Parâmetro

Descrição

Task Name

Um nome para a tarefa DTS. O DTS gera um nome automaticamente. Especifique um nome descritivo para identificar a tarefa. O nome não precisa ser exclusivo.

Source Database

Parâmetro

Descrição

Select Existing Connection

Se a instância de source já estiver registrada no DTS, selecione-a na lista suspensa — o DTS preenche automaticamente os demais parâmetros. No DMS console, use a lista suspensa Select a DMS database instance. Se a instância não estiver registrada, configure os parâmetros abaixo manualmente.

Database Type

Selecione PolarDB for MySQL.

Access Method

Selecione Alibaba Cloud Instance.

Instance Region

A região onde o cluster PolarDB for MySQL de source está localizado.

Replicate Data Across Alibaba Cloud Accounts

Selecione No para migração dentro da mesma conta. Para migrar entre contas diferentes, primeiro configure RAM authorization.

PolarDB Cluster ID

O ID do cluster PolarDB for MySQL de source.

Database Account

A conta de banco de dados do cluster de source. Consulte Permissions required.

Database Password

A senha da conta de banco de dados.

Encryption

Selecione uma opção com base nas configurações do cluster PolarDB for MySQL. Para detalhes sobre criptografia Secure Sockets Layer (SSL), consulte Configure SSL encryption.

Destination Database

Parâmetro

Descrição

Select Existing Connection

Se a instância de destino já estiver registrada no DTS, selecione-a na lista suspensa. No DMS console, use a lista suspensa Select a DMS database instance. Caso não esteja registrada, configure os parâmetros abaixo manualmente.

Database Type

Selecione SelectDB.

Access Method

Selecione Alibaba Cloud Instance.

Instance Region

A região onde a instância SelectDB de destino está localizada.

Replicate Data Across Alibaba Cloud Accounts

Selecione No para migração dentro da mesma conta.

Instance ID

O ID da instância SelectDB de destino.

Database Account

A conta de banco de dados da instância SelectDB de destino. Consulte Permissions required.

Database Password

A senha da conta de banco de dados.

  1. Clique em Test Connectivity and Proceed.

Adicione os blocos CIDR dos servidores DTS às configurações de segurança de ambos os bancos de dados antes de executar o teste de conectividade. Consulte Add DTS server IP addresses to a whitelist .

Etapa 3: Selecionar objetos de migração

Na página Configure Objects, defina as configurações a seguir.

Configuração

Descrição

Migration Types

Selecione os tipos de migração conforme suas necessidades: Somente migração completa: selecione Schema Migration e Full Data Migration. Migração com tempo de inatividade mínimo: selecione Schema Migration, Full Data Migration e Incremental Data Migration.

Processing Mode of Conflicting Tables

Precheck and Report Errors (padrão): o DTS verifica se existem tabelas com o mesmo nome no destino. Caso haja duplicatas, a pré-verificação falha e a tarefa não é iniciada. Para resolver sem excluir a tabela de destino, use object name mapping. Ignore Errors and Proceed: o DTS ignora a verificação de tabelas duplicadas. Use com cautela — se os esquemas coincidirem, os registros da source sobrescrevem os registros do destino que tenham a mesma chave primária; se os esquemas divergirem, algumas colunas podem não migrar ou a tarefa pode falhar.

Capitalization of Object Names in Destination Instance

Controla a capitalização dos nomes de bancos de dados, tabelas e colunas no destino. O padrão é DTS default policy. Consulte Specify the capitalization of object names in the destination instance.

Source Objects

Selecione os bancos de dados ou tabelas a migrar. Clique em ícone de seta para adicioná-los a Selected Objects.

Selected Objects

Clique em com o botão direito em um objeto de migração para renomeá-lo, definir o parâmetro bucket_count (quando Schema Migration estiver selecionado), escolher operações SQL incrementais específicas ou definir condições de filtro SQL para filtragem em nível de linha. Consulte Map object names e Set filter conditions.

Importante
  • Se você não selecionar Schema Migration, crie as tabelas com o modelo de chave Unique ou Duplicate na instância SelectDB de destino antes de iniciar a migração. Consulte Data type mappings, Additional columns e Data model.

  • Se você não selecionar Incremental Data Migration, não grave novos dados na instância de origem durante a migração.

  • O uso de mapeamento de nomes de objetos pode fazer com que objetos dependentes falhem na migração.

  1. Clique em Next: Advanced Settings e defina o seguinte.

Configuração

Descrição

Dedicated Cluster for Task Scheduling

Por padrão, o DTS usa um cluster compartilhado. Para maior estabilidade, adquira um cluster dedicado. Consulte What is a DTS dedicated cluster.

Retry Time for Failed Connections

Por quanto tempo o DTS tenta reconectar após falhas de conexão. Intervalo válido: 10–1.440 minutos. Padrão: 720 minutos. Defina no mínimo 30 minutos. Se o DTS reconectar dentro dessa janela, a migração é retomada; caso contrário, a tarefa falha. Observe que tarefas diferentes que compartilham a mesma source ou destino usam o valor definido mais recentemente, e o DTS cobra pela instância durante o período de nova tentativa.

Retry Time for Other Issues

Por quanto tempo o DTS tenta reexecutar operações DDL ou DML que falharam. Intervalo válido: 1–1.440 minutos. Padrão: 10 minutos. Defina no mínimo 10 minutos. Deve ser inferior a Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Limita a carga de leitura e gravação durante a migraçã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 apenas quando Full Data Migration estiver selecionado.

Enable Throttling for Incremental Data Migration

Limita a carga durante a migração incremental. Configure 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

(Opcional) Uma tag para identificar a instância.

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

Yesconfigurações de notificação de alerta: não grava operações de heartbeat na source (um indicador de latência pode aparecer na instância DTS). No: grava operações de heartbeat (pode afetar o backup físico e a clonagem da source).

Configure ETL

Yes: configure o processamento de extract, transform, and load (ETL) com instruções de tratamento de dados no editor de código. Consulte Configure ETL in a data migration or data synchronization task e What is ETL?. No: ignora o ETL.

Monitoring and Alerting

Yes: configure alertas para falha da tarefa ou para latência que exceda um limiar. Defina o limiar de alerta e os contatos de notificação. Consulte Configure monitoring and alerting when you create a DTS task. No: sem alertas.

  1. (Opcional) Clique em Next: Configure Database and Table Fields para definir Primary Key Column, Distribution Key e Engine nas tabelas de destino.

Esta etapa só está disponível quando Schema Migration está selecionado. Defina Definition Status como All para ver todas as tabelas.
Selecione uma ou mais colunas como Primary Key Column . Ao menos uma coluna de chave primária também deve ser selecionada como Distribution Key .
Para tabelas sem chaves primárias ou restrições UNIQUE, defina Engine como duplicate . Caso contrário, a migração poderá falhar ou haverá perda de dados.

Etapa 4: Executar uma pré-verificação

Clique em Next: Save Task Settings and Precheck.

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

O DTS executa uma pré-verificação antes do início da migração. A tarefa só pode ser iniciada após a aprovação da pré-verificação.

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

  • Se um alerta for acionado:

    • Se não puder ser ignorado, clique em View Details, corrija o problema e execute a pré-verificação novamente.

    • Se puder ser ignorado, clique em Confirm Alert Details, clique em Ignore na caixa de diálogo, clique em OK e, em seguida, clique em Precheck Again.

Aviso

Ignorar alertas da pré-verificação pode resultar em inconsistência de dados ou em outros riscos.

Etapa 5: Adquirir e iniciar a instância de migração

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

  2. Na página Purchase Instance, defina o seguinte.

Seção Parâmetro Descrição
New Instance Class Resource Group O grupo de recursos para a instância de migração. Padrão: default resource group. Consulte What is Resource Management?
Instance Class Determina a velocidade da migração. Selecione conforme o volume de dados e a janela de migração. Consulte Instance classes of data migration instances.
  1. Leia e aceite os 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.

Acompanhe o progresso da migração na página Data Migration:

  • Somente migração completa: a tarefa é interrompida automaticamente ao concluir. O status exibe Completed.

  • Incremental migration: a tarefa é executada continuamente e não para automaticamente. O status exibe Running.

Mapeamentos de tipos de dados

A tabela a seguir mostra como os tipos de dados do PolarDB for MySQL são mapeados para os tipos de dados do SelectDB.

Categoria PolarDB for MySQL SelectDB
Numérico TINYINT TINYINT
TINYINT UNSIGNED SMALLINT
SMALLINT SMALLINT
SMALLINT UNSIGNED INT
MEDIUMINT INT
MEDIUMINT UNSIGNED BIGINT
INT INT
INT UNSIGNED BIGINT
BIGINT BIGINT
BIGINT UNSIGNED LARGEINT
BIT(M) INT
Decimal Decimal (Zerofill não suportado)
Numeric Decimal
Float Float
Double DOUBLE
BOOL / BOOLEAN BOOLEAN
Data e hora DATE DATEV2
DATETIME[(fsp)] DATETIMEV2
Timestamp[(fsp)] DATETIMEV2
Time[(fsp)] VARCHAR
YEAR[(4)] INT
String CHAR / VARCHAR VARCHAR
BINARY / VARBINARY STRING
TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT STRING
TINYBLOB / BLOB / MEDIUMBLOB / LONGBLOB STRING
ENUM STRING
SET STRING
JSON STRING
Importante

Para evitar perda de dados, CHAR e VARCHAR(n) são convertidos para VARCHAR(4*n) durante a migração para o SelectDB.

  • Se nenhum comprimento for especificado, o padrão é VARCHAR(65533).

  • Dados com mais de 65.533 caracteres são convertidos para STRING.

Colunas adicionais

Para tabelas que usam o engine Duplicate, o DTS adiciona automaticamente as colunas a seguir às tabelas de destino. Se você criar as tabelas de destino manualmente, adicione essas colunas por conta própria.

Nome da coluna

Tipo de dado

Valor padrão

Descrição

_is_deleted

Int

0

Indica se a linha foi excluída. 0 para INSERT e UPDATE; 1 para DELETE.

_version

Bigint

0

0 para migração completa. Na migração incremental, corresponde ao timestamp em segundos do binary log da source.

_record_id

Bigint

0

0 para migração completa. Na migração incremental, corresponde ao ID de registro exclusivo com incremento automático da entrada de log incremental.

Próximas etapas

Após a conclusão da migração, verifique a consistência dos dados entre os bancos de dados de origem e de destino. Para migração incremental, interrompa as gravações na source, aguarde o DTS sincronizar as alterações restantes e, em seguida, redirecione o tráfego da aplicação para o SelectDB.