Todos os produtos
Search
Central de documentação

Data Transmission Service:Migrar dados do PolarDB-X 2.0 para o ApsaraDB for SelectDB

Última atualização: Jun 27, 2026

Use o Data Transmission Service (DTS) para migrar dados de uma instância PolarDB-X 2.0 para uma instância ApsaraDB for SelectDB.

Importante

Este recurso está em fase de testes grayscale e disponível apenas para alguns usuários.

Pré-requisitos

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

Objetos não suportados

Não é possível migrar os seguintes tipos de objetos:

  • Tabelas com letras maiúsculas nos nomes

  • INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER e chaves estrangeiras (FK)

  • Objetos TABLEGROUP

  • Bancos de dados ou tabelas com o atributo Locality

  • Instâncias somente leitura da Enterprise Edition do PolarDB-X 2.0

As tabelas a serem migradas devem ter restrições PRIMARY KEY ou UNIQUE, com todos os campos únicos. Sem essas restrições, o banco de dados de destino poderá conter registros duplicados.

Se você selecionar tabelas como objetos de migração e precisar renomeá-las ou renomear suas colunas no destino, uma única tarefa suporta até 1.000 tabelas. Para mais de 1.000 tabelas, configure várias tarefas ou migre todo o banco de dados de uma vez.

Restrições durante a migração

Não execute as operações abaixo enquanto a tarefa de migração estiver em andamento:

  • Na instância de origem: Não execute instruções DDL que alterem esquemas de banco de dados ou tabelas durante a migração de esquema ou a migração completa de dados. Essa ação causa falha na tarefa.

  • Na instância de destino:

    • Não crie clusters na instância ApsaraDB for SelectDB. Se isso causar falha na tarefa, reinicie a instância de migração para retomar.

    • Não adicione nós de backend ao banco de dados ApsaraDB for SelectDB. Se isso causar falha na tarefa, reinicie a instância de migração para retomar.

    • Não permita que outras fontes de dados gravem no destino enquanto o DTS estiver em execução. Isso pode causar inconsistência de dados ou falha na tarefa.

  • Restrições de DDL: Não execute instruções DDL que modifiquem várias colunas simultaneamente ou modifiquem a mesma tabela em sucessão.

Requisitos específicos do SelectDB

  • Nomes de bancos de dados e tabelas: Devem começar com uma letra. Use o recurso de mapeamento de nomes de objetos para renomear quaisquer objetos que não atendam a esse requisito.

  • Nomes com caracteres chineses: Renomeie objetos com nomes em caracteres chineses usando o mapeamento de nomes de objetos (por exemplo, de chinês para inglês). Caso contrário, a tarefa poderá falhar.

  • Comprimento VARCHAR: No PolarDB-X 2.0, VARCHAR(M) especifica o comprimento em caracteres. No SelectDB, VARCHAR(N) especifica o comprimento em bytes. Se você pular a migração de esquema, defina os comprimentos dos campos VARCHAR do SelectDB como quatro vezes os comprimentos dos campos correspondentes no PolarDB-X 2.0.

  • Engine da tabela de destino: Os dados só podem ser migrados para tabelas com engine Unique ou Duplicate. Consulte Tabelas com engine Unique e Tabelas com engine Duplicate abaixo.

Tabelas com engine Unique

Todas as chaves únicas na tabela de destino com engine Unique devem existir na tabela de origem e estar incluídas nos objetos a serem migrados. Caso contrário, poderá ocorrer inconsistência de dados.

Tabelas com engine Duplicate

Quando a tabela de destino é uma tabela com engine Duplicate, o DTS converte instruções UPDATE e DELETE em instruções INSERT. Registros duplicados podem aparecer nos seguintes cenários:

  • A instância de migração é submetida a nova tentativa ou reiniciada.

  • Os mesmos dados são modificados por operações DML duas ou mais vezes após o início da instância de migração.

Para remover duplicidades dos registros, use as colunas adicionais criadas automaticamente pelo DTS: _is_deleted, _version e _record_id. Consulte Colunas adicionais.

Outras observações

  • Desempenho da migração completa de dados: A migração completa utiliza recursos de leitura e gravação em ambas as instâncias, o que aumenta a carga do banco de dados. Execute a migração fora dos horários de pico, quando a carga da CPU em ambas as instâncias estiver abaixo de 30%.

  • Fragmentação de armazenamento: Como a migração completa usa operações INSERT concorrentes, as tabelas de destino ficam fragmentadas. Após a migração completa, as tabelas de destino ocupam mais espaço de armazenamento do que as tabelas de origem.

  • Gravações de heartbeat: O DTS executa periodicamente CREATE DATABASE IF NOT EXISTS \ na instância de origem para gravar dados de heartbeat e avançar a posição do log binário. Se você definir Whether to delete SQL operations on heartbeat tables of forward and reverse tasks como Yes, ou se a conta de origem não tiver permissão para criar bancos de dados, e nenhuma operação DML for executada na origem por um longo período, as informações de latência poderão ficar imprecisas. Para atualizar os dados de latência, execute uma operação DML na instância de origem.

  • Recuperação de tarefas: Se uma tarefa do DTS falhar, o suporte do DTS tentará restaurá-la dentro de 8 horas. Durante a restauração, a tarefa pode ser reiniciada e certos parâmetros da tarefa podem ser ajustados. Os parâmetros do banco de dados não são modificados.

Faturamento

Tipo de migração

Taxa de configuração da tarefa

Taxa de transferência de dados

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

Gratuita

Gratuita quando Access Method for Alibaba Cloud Instance. Cobranças aplicáveis quando Access Method for Public IP Address. Consulte Visão geral do faturamento.

Migração incremental de dados

Pago. Consulte Visão geral do faturamento.

—

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

Tipo de operação

Instruções SQL

DML

INSERT, UPDATE, DELETE

DDL

ADD COLUMN; DROP COLUMN; DROP TABLE; TRUNCATE TABLE; RENAME TABLE

Importante

Operações RENAME TABLE podem causar inconsistência de dados. Por exemplo, se você selecionar uma tabela como objeto de migração e renomeá-la durante a migração, os dados dessa tabela não serão migrados. Para evitar isso, selecione o banco de dados que contém a tabela como objeto de migração e certifique-se de que tanto o nome do banco de dados antes quanto depois da renomeação estejam incluídos nos objetos a serem migrados.

Permissões necessárias

Banco de dadosMigração de esquemaMigração completaMigração incremental
PolarDB-X 2.0 de origemSELECTSELECTREPLICATION SLAVE, REPLICATION CLIENT e SELECT nos objetos a serem migrados
ApsaraDB for SelectDB de destinoUsage_priv (acesso ao cluster), Select_priv, Load_priv, Alter_priv, Create_priv, Drop_priv

Para obter instruções sobre como criar contas e conceder permissões:

Criar uma tarefa de migração

Etapa 1: Acessar a página Data Migration

Use um dos métodos a seguir:

Console do DTS

  1. Faça login no 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 reside.

Console do DMS

As etapas reais podem variar dependendo do modo e layout do console do DMS. Consulte Modo simples e Personalizar o layout e o estilo do console do DMS .
  1. Faça login no console do DMS.

  2. Na barra de navegação superior, mova o ponteiro sobre 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 reside.

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

  1. Clique em Create Task.

  2. Configure os parâmetros descritos na tabela a seguir.

    CategoriaParâmetroDescrição
    N/ATask NameNome da tarefa DTS. O DTS gera um nome padrão. Especifique um nome informativo que facilite a identificação da tarefa. O nome não precisa ser único.
    Source DatabaseSelect Existing ConnectionSe a instância de origem estiver registrada no DTS, selecione-a na lista suspensa. O DTS preenche automaticamente os parâmetros restantes. Caso contrário, configure os parâmetros manualmente. No console do DMS, selecione a instância em Select a DMS database instance.
    Database TypeSelecione PolarDB-X 2.0.
    Access MethodSelecione Alibaba Cloud Instance.
    Instance RegionSelecione a região onde a instância PolarDB-X 2.0 de origem reside.
    Replicate Data Across Alibaba Cloud AccountsSelecione No se as instâncias de origem e destino pertencerem à mesma conta Alibaba Cloud.
    Instance IDSelecione o ID da instância PolarDB-X 2.0 de origem.
    Database AccountInsira a conta do banco de dados. Consulte Permissões necessárias para ver as permissões mínimas exigidas.
    Database PasswordInsira a senha da conta do banco de dados.
    Destination DatabaseSelect Existing ConnectionSe a instância de destino estiver registrada no DTS, selecione-a na lista suspensa. O DTS preenche automaticamente os parâmetros restantes. Caso contrário, configure os parâmetros manualmente. No console do DMS, selecione a instância em Select a DMS database instance.
    Database TypeSelecione SelectDB.
    Access MethodSelecione Alibaba Cloud Instance.
    Instance RegionSelecione a região onde a instância SelectDB de destino reside.
    Replicate Data Across Alibaba Cloud AccountsSelecione No se as instâncias de origem e destino pertencerem à mesma conta Alibaba Cloud.
    Instance IDSelecione o ID da instância SelectDB de destino.
    Database AccountInsira a conta do banco de dados. Consulte Permissões necessárias para ver as permissões mínimas exigidas.
    Database PasswordInsira a senha da conta do banco de dados.
  3. Clique em Test Connectivity and Proceed.

Etapa 3: Configurar objetos de migração

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

    ParâmetroDescrição
    Migration TypesSelecione os tipos de migração conforme suas necessidades: <br>- Schema Migration + Full Data Migration: Migra apenas os dados existentes. Não grave novos dados na origem durante a migração. <br>- Schema Migration + Full Data Migration + Incremental Data Migration: Migra os dados existentes e mantém o destino sincronizado com as alterações contínuas. Use esta combinação para minimizar interrupções no serviço. <br><br>Se você pular a Schema Migration, crie tabelas com engine Unique ou Duplicate com a estrutura correta no SelectDB antes de iniciar a tarefa. Para mais detalhes, consulte Mapeamento de tipos de dados, Colunas adicionais e Modelo de dados.
    Processing Mode of Conflicting Tables- Precheck and Report Errors: A pré-verificação falha se o destino contiver tabelas com os mesmos nomes da origem. Para resolver conflitos, use o mapeamento de nomes de objetos para renomear as tabelas migradas. Consulte Mapear nomes de objetos. <br>- Ignore Errors and Proceed: Ignora a pré-verificação para nomes de tabelas idênticos.
    Aviso

    Isso pode causar inconsistência de dados. Durante a migração completa, o DTS ignora registros conflitantes e mantém os dados existentes no destino. Durante a migração incremental, o DTS sobrescreve registros conflitantes. Se a origem e o destino tiverem esquemas diferentes, apenas colunas parciais serão migradas ou a tarefa poderá falhar.

    Capitalization of Object Names in Destination InstancePolí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.
    Source ObjectsSelecione os bancos de dados ou tabelas a serem migrados e clique em 向右小箭头 para movê-los para Selected Objects.
    Selected Objects- Para renomear uma tabela no destino, clique com o botão direito nela e selecione uma opção de mapeamento de nomes de objetos. Consulte Mapear nomes de objetos. <br>- Para filtrar linhas, clique com o botão direito em uma tabela e especifique condições WHERE. Consulte Especificar condições de filtro. <br>- Para selecionar operações SQL específicas para um banco de dados ou tabela, clique com o botão direito no objeto e escolha as operações a serem incluídas. <br>- Se Schema Migration estiver selecionado, você só pode selecionar tabelas (não bancos de dados) como objetos de migração e deve definir o parâmetro bucket_count: clique com o botão direito em uma tabela, ative Enable Parameter Settings, defina Value como um número inteiro positivo (padrão: auto) e clique em OK. <br><br>
    Nota

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

  2. Clique em Next: Advanced Settings e configure os seguintes parâmetros.

    ParâmetroDescrição
    Dedicated Cluster for Task SchedulingPor padrão, o DTS agenda a tarefa em um cluster compartilhado. Para melhorar a estabilidade da tarefa, adquira um cluster dedicado. Consulte O que é um cluster dedicado do DTS.
    Retry Time for Failed ConnectionsTempo durante o qual o DTS tenta reconectar após falhas de conexão depois do início da tarefa. Intervalo válido: 10–1.440 minutos. Padrão: 720 minutos. Defina como mais de 30 minutos. Se o DTS reconectar dentro desse período, a tarefa será retomada. Caso contrário, a tarefa falhará.
    Nota

    Quando várias tarefas compartilham a mesma origem ou destino, o tempo de nova tentativa definido mais recentemente tem precedência. O DTS cobra pela instância durante a nova tentativa.

    Retry Time for Other IssuesTempo durante o qual o DTS tenta novamente operações DDL ou DML com falha. Intervalo válido: 1–1.440 minutos. Padrão: 10 minutos. Defina como mais de 10 minutos. Deve ser menor que Retry Time for Failed Connections.
    Enable Throttling for Full Data MigrationLimita o throughput de leitura e gravação durante a migração completa para reduzir a carga em ambas as instâncias. 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 MigrationLimita o throughput 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.
    Whether to delete SQL operations on heartbeat tables of forward and reverse tasksControla se o DTS grava operações SQL de heartbeat na instância de origem. <br>- Yes: O DTS não grava operações de heartbeat. As informações de latência podem ficar imprecisas. <br>- No: O DTS grava operações de heartbeat. O backup físico e a clonagem da origem podem ser afetados.
    Environment TagUma tag opcional para identificar a instância.
    Configure ETLDefine se o recurso de extração, transformação e carregamento (ETL) será ativado. Consulte O que é ETL? e Configurar ETL em uma tarefa de migração ou sincronização de dados.
    Monitoring and AlertingDefine se alertas serão recebidos quando a tarefa falhar ou a latência da migração exceder um limiar. Se Yes, configure o limiar de alerta e as configurações de notificação. Consulte Configurar monitoramento e alertas ao criar uma tarefa DTS.
  3. (Opcional) Clique em Next: Configure Database and Table Fields. Para cada tabela a ser migrada, especifique Primary Key Column, Distribution Key e Engine.

    - Esta etapa está disponível apenas quando Schema Migration estiver selecionado. Defina Definition Status como All para visualizar todas as tabelas. - Primary Key Column suporta múltiplas colunas. Uma ou mais colunas de chave primária também podem ser selecionadas como Distribution Key . - Se uma tabela não tiver chave primária ou restrição UNIQUE, selecione duplicate para Engine . Caso contrário, a tarefa poderá falhar ou poderá ocorrer perda de dados.

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

Clique em Next: Save Task Settings and Precheck.

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

A tarefa deve passar na pré-verificação antes de poder ser iniciada.
Se um item da pré-verificação falhar, clique em View Details ao lado do item com falha, resolva o problema e clique em Precheck Again .
Se um alerta for acionado: se não puder ser ignorado, resolva-o e verifique novamente. Se puder ser ignorado com segurança, clique em Confirm Alert Details , clique em Ignore na caixa de diálogo, confirme e clique em Precheck Again . Ignorar alertas pode causar inconsistência de dados.

Etapa 5: Adquirir e iniciar a instância

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

  2. Na página Purchase Instance, configure a instância.

    SeçãoParâmetroDescrição
    New Instance ClassResource GroupO grupo de recursos para a instância de migração. O padrão é default resource group. Consulte O que é Resource Management?
    Instance ClassA classe da instância determina a velocidade da migração. Selecione uma classe com base nas suas necessidades. Consulte Classes de instância de instâncias de migração de dados.
  3. Marque a caixa de seleção Data Transmission Service (Pay-as-you-go) Service Terms.

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

A tarefa aparece na página Data Migration. Acompanhe o progresso dela nessa página.

Se a tarefa não incluir migração incremental de dados, ela será interrompida automaticamente ao ser concluída. O Status mostrará Completed .
Se a tarefa incluir migração incremental de dados, ela será executada continuamente. O Status mostrará Running . A tarefa de migração incremental de dados nunca é interrompida ou concluída automaticamente.

Mapeamento de tipos de dados

CategoriaTipo PolarDB-X 2.0Tipo SelectDB
NuméricoTINYINTTINYINT
TINYINT UNSIGNEDSMALLINT
SMALLINTSMALLINT
SMALLINT UNSIGNEDINT
MEDIUMINTINT
MEDIUMINT UNSIGNEDBIGINT
INTINT
INT UNSIGNEDBIGINT
BIGINTBIGINT
BIGINT UNSIGNEDLARGEINT
BIT(M)INT
DecimalDecimal (
Nota

zerofill não é suportado)

NumericDecimal
FloatFloat
DoubleDOUBLE
BOOL / BOOLEANBOOLEAN
Data e horaDATEDATEV2
DATETIME[(fsp)]DATETIMEV2
Timestamp[(fsp)]DATETIMEV2
Time[(fsp)]VARCHAR
YEAR[(4)]INT
StringCHAR / VARCHARVARCHAR
BINARY / VARBINARYSTRING
TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXTSTRING
TINYBLOB / BLOB / MEDIUMBOLB / LONGBLOBSTRING
ENUMSTRING
SETSTRING
JSONSTRING
Importante

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

  • Se nenhum comprimento for especificado, o padrão do SelectDB VARCHAR(65533) será usado.

  • Se o comprimento exceder 65533, os dados serão convertidos para STRING.

Colunas adicionais

O DTS cria automaticamente as seguintes colunas em tabelas com engine Duplicate (ou você pode adicioná-las manualmente):

Coluna

Tipo

Valor padrão

Descrição

_is_deleted

Int

0

Indica se o registro foi excluído. Definido como 0 para operações INSERT e UPDATE, 1 para operações DELETE.

_version

Bigint

0

Definido como 0 durante a migração completa de dados. Durante a migração incremental, contém o timestamp (em segundos) do arquivo de log binário de origem.

_record_id

Bigint

0

Definido como 0 durante a migração completa de dados. Durante a migração incremental, contém o ID exclusivo da entrada de log incremental. O ID é incrementado automaticamente para cada nova entrada de log.