O Data Transmission Service (DTS) migra dados de uma instância do PolarDB-X 2.0 para uma instância do Tablestore com tempo de inatividade mínimo. Essa abordagem oferece suporte à migração de esquema, migração completa de dados e migração incremental de dados, permitindo manter o banco de dados de origem online durante a execução da migração.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância do Tablestore. Para instruções de configuração, consulte Usar o Tablestore.
O AccessKey ID e o AccessKey secret da conta Alibaba Cloud (não de um usuário do Resource Access Management (RAM)) proprietária da instância do Tablestore. Consulte Criar um par de AccessKey.
Se você usar o AccessKey ID de um usuário RAM, a tarefa de migração de dados poderá falhar devido à falta de permissões necessárias. Use as credenciais da conta Alibaba Cloud.
Limitações
Banco de dados de source
|
Restrição |
Detalhe |
|
Chave primária ou restrição UNIQUE |
As tabelas devem ter uma restrição PRIMARY KEY ou UNIQUE com todos os campos exclusivos. Caso contrário, o destino poderá conter registros duplicados. |
|
Capitalização do nome da tabela |
Tabelas com letras maiúsculas nos nomes oferecem suporte apenas à migração de esquema. A migração completa e a incremental não são compatíveis com essas tabelas. |
|
Máximo de tabelas por tarefa |
Até 5.000 tabelas ao migrar tabelas individuais com renomeação. Exceder esse limite causa um erro de solicitação. Para migrar mais tabelas, divida o trabalho em várias tarefas ou migre o banco de dados inteiro. |
|
Log binário |
Defina o parâmetro |
Destino (Tablestore)
|
Restrição |
Detalhe |
|
Máximo de tabelas |
Até 64 tabelas por instância do Tablestore. Exceder esse limite causa um erro de migração. Entre em contato com o suporte técnico do Tablestore para aumentar o limite. |
|
Nomenclatura de tabelas e colunas |
Os nomes devem conter apenas letras, dígitos e sublinhados ( |
|
Escopo do objeto |
Apenas um banco de dados (ou várias tabelas dentro do mesmo banco de dados) pode ser migrado por tarefa. Não há suporte ao mapeamento de nomes no nível do banco de dados. |
Geral
Execute as migrações fora do horário de pico. A migração completa de dados consome recursos significativos de leitura e gravação na source e no destino, aumentando a carga do servidor de banco de dados.
A migração completa de dados causa fragmentação nas tabelas de destino. Após a migração, o uso de armazenamento no destino excede o uso na source.
Grave dados no destino apenas por meio do DTS durante a migração. Gravações de outras fontes causam inconsistência de dados entre a source e o destino.
Faturamento
|
Tipo de migração |
Taxa de configure da instância |
Taxa de tráfego de Internet |
|
Migração de esquema e migração completa de dados |
Gratuita |
Gratuita |
|
Migração incremental de dados |
Cobrada. Consulte Visão geral do faturamento. |
— |
Operações SQL compatíveis com migração incremental
|
Tipo de operação |
Instruções SQL |
|
DML |
INSERT, UPDATE, DELETE |
Permissões necessárias para a conta do banco de dados
|
Banco de dados |
Migração de esquema |
Migração completa de dados |
Migração incremental de dados |
|
PolarDB-X 2.0 de source |
SELECT |
SELECT |
REPLICATION SLAVE, REPLICATION CLIENT e SELECT nos objetos a serem migrados |
Para instruções sobre criação de contas e concessão de permissões, consulte Gerenciar contas de banco de dados e Permissões necessárias para uma conta sincronizar dados.
Crie uma tarefa de migração
Etapa 1: Abrir a página Data Migration Tasks
Faça login no console do Data Management (DMS).
Na barra de navegação superior, clique em DTS.
No painel de navegação à esquerda, escolha DTS (DTS) > Data Migration.
As etapas acima podem variar conforme o modo e o layout do console DMS. Consulte Modo simples e Personalizar o layout e o estilo do console DMS. Você também pode acessar diretamente a página Data Migration Tasks do novo console DTS.
Etapa 2: Selecione uma região
Na lista suspensa ao lado de Data Migration Tasks, selecione a região onde reside a instância de migração de dados.
No novo console DTS, selecione a região no canto superior esquerdo da página.
Etapa 3: Configure bancos de dados de source e destino
Clique em Create Task. No assistente Create Task, configure os seguintes parâmetros.
Banco de dados de source
|
Parâmetro |
Descrição |
|
Select an existing DMS database instance |
(Opcional) Selecione uma instância DMS existente para preencher automaticamente as configurações de conexão ou deixe em branco para configurar manualmente. |
|
Database Type |
Selecione PolarDB-X 2.0. |
|
Access Method |
Selecione Alibaba Cloud Instance. |
|
Instance Region |
Região onde reside a instância do PolarDB-X 2.0 de source. |
|
Replicate Data Across Alibaba Cloud Accounts |
Selecione No se a source e o destino estiverem na mesma conta. |
|
Instance ID |
ID da instância do PolarDB-X 2.0 de source. |
|
Database Account |
Conta com as permissões listadas na seção Permissões necessárias para a conta do banco de dados. |
|
Database Password |
Senha da conta do banco de dados. |
Banco de dados de destino
|
Parâmetro |
Descrição |
|
Select an existing DMS database instance |
(Opcional) Selecione uma instância DMS existente para preencher automaticamente as configurações de conexão ou deixe em branco para configurar manualmente. |
|
Database Type |
Selecione Tablestore. |
|
Access Method |
Selecione Alibaba Cloud Instance. |
|
Instance Region |
Região onde reside a instância do Tablestore de destino. |
|
Instance ID |
ID da instância do Tablestore de destino. |
|
AccessKey ID of Alibaba Cloud Account |
AccessKey ID da conta Alibaba Cloud proprietária da instância do Tablestore. Não use o AccessKey ID de um usuário RAM. |
|
AccessKey Secret of Alibaba Cloud Account |
AccessKey secret da conta Alibaba Cloud proprietária da instância do Tablestore. |
Etapa 4: Testar a conectividade
Clique em Test Connectivity and Proceed.
O DTS adiciona automaticamente seus blocos CIDR de servidor à lista de permissões de IP das instâncias de banco de dados da Alibaba Cloud. Para bancos de dados autogerenciados em instâncias do Elastic Compute Service (ecs), o DTS adiciona blocos CIDR às regras do grupo de segurança do ecs. Se o banco de dados autogerenciado abranger várias instâncias do ecs, adicione manualmente os blocos CIDR do DTS ao grupo de segurança de cada instância. Para bancos de dados locais ou de nuvem de terceiros, adicione manualmente os blocos CIDR à lista de permissões de IP do banco de dados. Consulte Adicionar os blocos CIDR dos servidores DTS às configurações de segurança de bancos de dados locais.
Adicionar blocos CIDR de servidores DTS a listas de permissões de IP ou regras de grupo de segurança introduz riscos de segurança. Antes de prosseguir, tome medidas preventivas, incluindo: fortalecer a segurança de contas e senhas, restringir portas expostas, autenticar chamadas de API, auditar regularmente listas de permissões de IP e regras de grupo de segurança e usar Express Connect, VPN Gateway ou Smart Access Gateway para conectar bancos de dados ao DTS.
Etapa 5: Configure objetos e definições de migração
Configure os seguintes parâmetros.
Tipo de migração
|
Opção |
Quando usar |
|
Schema Migration + Full Data Migration |
Migração única. Recomendamos não gravar dados no banco de dados de source durante a migração para garantir a consistência dos dados. |
|
Schema Migration + Full Data Migration + Incremental Data Migration |
Migração com tempo de inatividade mínimo. O DTS continua capturando alterações da source durante a migração completa e depois as aplica ao destino. |
Se você não selecionar Incremental Data Migration, recomendamos não gravar dados no banco de dados de source durante a migração. Isso garante a consistência dos dados entre os bancos de dados de source e de destino.
Tratamento de conflitos
| Parâmetro | Opção | Comportamento |
|---|---|---|
| Processing Mode of Conflicting Tables | Precheck and Report Errors | Falha na pré-verificação se as tabelas de destino compartilharem nomes com as tabelas de source. Use o mapeamento de nomes de objetos para renomear tabelas antes de iniciar. |
| Ignore Errors and Proceed | Ignora a pré-verificação. Linhas com chaves primárias correspondentes não são migradas; diferenças de esquema podem causar migração parcial ou falha na tarefa. Use com cautela. |
Configurações específicas do Tablestore
|
Parâmetro |
Opções e orientações |
|
Processing Policy of Dirty Data |
Skip ignora erros de gravação e continua. Block interrompe a tarefa em caso de erros de gravação. |
|
Data Write Mode |
Overwrite Row usa a operação UpdateRowChange para sobrescrever linhas na instância do Tablestore. Update Row usa a operação PutRowChange para atualizar linhas na instância do Tablestore. |
|
Batch Write Mode |
BulkImportRequest grava dados offline e oferece maior eficiência de leitura e gravação com menor custo. BatchWriteRowRequest grava dados em lotes. Use BulkImportRequest para obter maior eficiência e reduzir os custos de uso da instância do Tablestore. |
|
More (avançado) |
Queue Size: tamanho da fila de gravação. Thread Quantity: número de threads de callback de gravação. Concurrency: máximo de threads de gravação simultâneas. Buckets: máximo de buckets simultâneos para dados incrementais (deve ser menor ou igual a Concurrency). |
Seleção de objetos
|
Parâmetro |
Descrição |
|
Operation Types |
Tipos de operação DML a serem migrados. Todos os tipos são selecionados por padrão. |
|
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 Especificar a capitalização de nomes de objetos na instância de destino. |
|
Source Objects |
Selecione tabelas ou bancos de dados para migrar e clique no ícone de seta para adicioná-los aos Selected Objects. O Tablestore permite migrar apenas um banco de dados ou várias tabelas dentro do mesmo banco de dados por tarefa. |
|
Selected Objects |
Clique com o botão direito em um objeto para renomeá-lo. Clique em Batch Edit para renomear vários objetos. Nota: não há suporte ao mapeamento de nomes de banco de dados — apenas nomes de tabelas e colunas podem ser mapeados. Para filtrar linhas, clique com o botão direito em uma tabela e especifique condições SQL. Consulte Usar condições SQL para filtrar dados. |
Etapa 6: Configure definições avançadas
Clique em Next: Advanced Settings e configure os seguintes parâmetros.
|
Parâmetro |
Descrição |
|
Select the dedicated cluster used to schedule the task |
Por padrão, o DTS agenda a tarefa em um cluster compartilhado. Selecione um cluster dedicado para obter recursos exclusivos. Consulte O que é um cluster dedicado DTS. |
|
Set Alerts |
Selecione Yes para receber notificações quando a tarefa falhar ou a latência da migração exceder um limiar. Especifique contatos de alerta e limiares. Consulte Configurar monitoramento e alertas. |
|
Retry Time for Failed Connections |
Tempo durante o qual o DTS tenta reconectar após uma falha de conexão antes de marcar a tarefa como falha. Intervalo: 10–1440 minutos. Padrão: 720 minutos. Defina pelo menos 30 minutos para permitir a recuperação de falhas transitórias. |
|
The wait time before a retry when other issues occur in the source and destination databases |
Tempo de espera do DTS antes de tentar novamente operações DDL ou DML com falha. Intervalo: 1–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 Migration |
Limita a carga de leitura/gravação na source e no destino durante a migração completa. Configure QPS to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Exibido apenas quando Full Data Migration está 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). Exibido apenas quando Incremental Data Migration está selecionado. |
|
Environment Tag |
Uma tag opcional para identificar a instância DTS. |
|
Configure ETL |
Não há suporte a extração, transformação e carga (ETL) para este caminho de migração. Selecione No. |
|
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks |
Selecione Yes para impedir que o DTS grave nas tabelas de heartbeat no banco de dados de source. Nesse caso, uma latência da instância DTS pode ser exibida. Selecione No para gravar operações de heartbeat. Nesse caso, recursos específicos, como backup físico e clonagem do banco de dados de source, podem ser afetados. |
Etapa 7: Configure colunas de chave primária
Clique em Next: Configure Database and Table Fields. Na caixa de diálogo Note, clique em OK.
O DTS mapeia automaticamente a coluna de chave primária de cada tabela para a Primary Key Column do Tablestore. Para alterar o mapeamento, defina Definition Status como All e selecione uma ou mais colunas na lista suspensa para criar uma chave primária composta.
Etapa 8: Execute a pré-verificação
Clique em Next: Save Task Settings and Precheck.
Para visualizar os parâmetros da API desta configuração antes de salvar, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters.
A tarefa executa uma pré-verificação antes de iniciar. Se itens da pré-verificação falharem:
Clique em View Details ao lado do item com falha, resolva o problema e clique em Precheck Again.
Se um item de alerta puder ser ignorado com segurança, clique em Confirm Alert Details, clique em Ignore, confirme clicando em OK e, em seguida, clique em Precheck Again.
Ignorar alertas de pré-verificação pode resultar em inconsistência de dados. Prossiga apenas se compreender as implicações.
Etapa 9: Aguardar a aprovação da pré-verificação
Aguarde até que a success rate atinja 100% e clique em Next: Purchase Instance.
Etapa 10: Configure a classe da instância
Na página Purchase Instance, configure os seguintes parâmetros em New Instance Class.
|
Parâmetro |
Descrição |
|
Resource Group |
Grupo de recursos para a instância DTS. Padrão: default resource group. Consulte O que é Resource Management?. |
|
Instance Class |
Controla o throughput da migração. Selecione uma classe com base no volume de dados e nas restrições de tempo. Consulte Especificações das instâncias de migração de dados. |
Etapa 11: Aceitar os termos de serviço
Leia e aceite os Data Transmission Service (Pay-as-you-go) Service Terms marcando a caixa de seleção.
Etapa 12: Iniciar a migração
Clique em Buy and Start. A tarefa aparece na lista de tarefas, onde você pode monitorar seu progresso.