O Data Transmission Service (DTS) migra linhas de uma instância RDS MySQL para uma instância Tair (compatível com Redis OSS) e converte cada linha em um par chave-valor do Redis. Use este recurso para descarregar dados quentes em um cache na memória e reduzir a carga no banco de dados relacional.
Como funciona
O DTS oferece dois modos de migração:
|
Modo de migração |
Quando usar |
|
Migração completa de dados |
Ideal para carga inicial única ou transição definitiva. O DTS migra todos os dados existentes uma vez e encerra a tarefa. |
|
Migração completa + incremental de dados |
Recomendado quando a aplicação está em produção e o destino precisa permanecer sincronizado. O DTS migra os dados existentes e replica continuamente as alterações (INSERT, UPDATE, DELETE) do log binário da source. |
Requisitos
Banco de dados de source
|
Requisito |
Detalhes |
|
Chaves primárias |
Todas as tabelas a migrar devem ter chaves primárias. Não é possível migrar tabelas sem chaves primárias. |
|
Log binário (apenas migração incremental) |
|
|
Cluster MySQL com primário duplo (apenas incremental) |
Defina |
|
Colunas invisíveis no MySQL 8.0.23+ |
Torne as colunas visíveis antes da migração: |
|
Migração no nível de tabela com mapeamento de nomes de objetos |
Uma única tarefa suporta até 1.000 tabelas. Para migrar mais tabelas, divida o processo em várias tarefas ou migre o banco de dados inteiro. |
Instância de destino
|
Requisito |
Detalhes |
|
Capacidade de armazenamento |
Deve exceder o espaço de armazenamento usado pela instância RDS MySQL de source. Consulte Criar uma instância. |
|
Transparent Data Encryption (TDE) |
Deve estar desativado. O DTS não migra dados para uma instância Tair com TDE habilitado. |
|
Política de evicção de memória |
Defina |
Contas do banco de dados de source
|
Banco de dados |
Permissões necessárias |
Como configure |
|
RDS MySQL de source |
Leitura nos objetos a migrar |
Criar uma conta e, em seguida, modifique as permissões da conta |
|
Tair de destino (compatível com Redis OSS) |
Leitura e gravação na instância |
Faturamento
|
Tipo de migração |
Custo |
|
Migração de esquema e migração completa de dados |
Gratuito |
|
Migração incremental de dados |
Pago. Consulte Visão geral do faturamento. |
Operações SQL compatíveis com a migração incremental
|
Tipo de operação |
Instrução SQL |
|
DML |
INSERT, UPDATE, DELETE |
Comportamentos conhecidos e limitações
Durante a migração completa de dados:
-
Não execute operações DDL no banco de dados de source. Alterações de esquema causam falha na tarefa.
O DTS aplica bloqueios de metadados no banco de dados de source durante a migração completa, o que também pode impedir operações DDL executadas manualmente.
Evite gravar novos dados na source se optar apenas pela migração completa. Para garantir consistência em tempo real, ative tanto a migração completa quanto a incremental.
-
A migração completa de dados não é compatível se o recurso always-encrypted (EncDB) estiver habilitado na instância RDS MySQL.
Instâncias RDS MySQL com TDE habilitado são compatíveis com a migração completa e a incremental.
Durante a execução da tarefa de migração:
Não grave dados no destino a partir de fontes externas ao DTS. Gravações externas causam inconsistência de dados.
Se a instância Tair de destino for um cluster e um shard atingir o limite de memória ou ficar sem armazenamento, a tarefa falhará com um erro de Out of Memory.
Caso a instância Tair de destino sofra perda transitória de conexão, failover entre primário e secundário ou alteração de endpoint, os dados completos poderão ser remigrados, resultando em possível inconsistência.
A tarefa falhará se ocorrer failover entre primário e secundário em uma source MySQL autogerenciada durante a execução.
Uma instância somente leitura do ApsaraDB RDS for MySQL V5.6 (que não registra logs de transação) não pode ser usada como source para migração incremental de dados.
Dados provenientes de operações de alteração do log binário — como dados restaurados de um backup físico ou de uma operação em cascata — não são replicados para o destino.
Periodicamente, o DTS executa
CREATE DATABASE IF NOT EXISTSna source para avançar a posição do log binário.O DTS calcula a latência de migração comparando o timestamp do último registro migrado com o timestamp atual da source. Se não houver atividade DML na source por um longo período, a latência exibida pode ser imprecisa. Execute qualquer operação DML na source para atualize a leitura da latência. Ao migrar um banco de dados inteiro, crie uma tabela de heartbeat que receba atualizações a cada segundo para manter a precisão da latência.
Em caso de falha em uma instância DTS, a equipe do DTS tentará a recuperação dentro de 8 horas. Durante esse processo, a instância pode ser reiniciada ou ter seus parâmetros ajustados. Apenas os parâmetros da instância DTS são modificados — os parâmetros do seu banco de dados permanecem inalterados.
Crie uma tarefa de migração
Etapa 1: Acesse a página de migração de dados
Console do DTS
Faça login no console do DTS.
No painel de navegação à esquerda, clique em Data Migration.
No canto superior esquerdo, selecione a região onde a instância de migração residirá.
Console do DMS
As etapas podem variar conforme o modo e o layout do console do Data Management (DMS). Consulte Modo simples e Personalizar o layout e o estilo do console do DMS .
Faça login no console do DMS.
Na barra de navegação superior, passe o ponteiro sobre Data + AI > DTS (DTS) > Data Migration.
Na lista suspensa ao lado de Data Migration Tasks, selecione a região onde a instância de migração residirá.
Etapa 2: Configure os bancos de dados de source e de destino
Clique em Create Task e configure os seguintes parâmetros.
Nome da tarefa
|
Parâmetro |
Descrição |
|
Task Name |
Nome desta tarefa do DTS. O DTS gera um nome automaticamente. Use um nome descritivo para facilitar a identificação da tarefa. O nome não precisa ser único. |
Banco de dados de source
|
Parâmetro |
Descrição |
|
Select Existing Connection |
Caso a instância esteja registrada no DTS, selecione-a na lista — o DTS preencherá os campos restantes automaticamente. Caso contrário, configure os campos abaixo. Consulte Gerencie conexões de banco de dados. |
|
Database Type |
Selecione MySQL. |
|
Access Method |
Selecione Alibaba Cloud Instance. |
|
Instance Region |
Selecione a região onde a instância RDS MySQL de source está localizada. |
|
Replicate Data Across Alibaba Cloud Accounts |
Selecione No se a instância de source pertencer à conta atual da Alibaba Cloud. |
|
RDS Instance ID |
Selecione o ID da instância RDS MySQL de source. |
|
Database Account |
Conta do banco de dados para a instância de source. Consulte Requisitos para verifique as permissões necessárias. |
|
Database Password |
Senha da conta do banco de dados. |
|
Encryption |
Escolha entre Non-encrypted ou SSL-encrypted. Para usar criptografia SSL, ative o SSL na instância RDS antes de configure a tarefa. |
Banco de dados de destino
|
Parâmetro |
Descrição |
|
Select Existing Connection |
Se a instância estiver registrada no DTS, selecione-a na lista. Caso contrário, configure os campos abaixo. |
|
Database Type |
Selecione Tair/Redis. |
|
Access Method |
Selecione Alibaba Cloud Instance. |
|
Instance Region |
Selecione a região onde a instância Tair de destino (compatível com Redis OSS) está localizada. |
|
Replicate Data Across Alibaba Cloud Accounts |
Selecione No se a instância de destino pertencer à conta atual da Alibaba Cloud. |
|
Instance ID |
Selecione o ID da instância Tair de destino (compatível com Redis OSS). |
|
Authentication Method |
Escolha um método de autenticação. Neste exemplo, usa-se Password Login. A opção Account + Password Login requer Redis 6.0 ou posterior. Para Secret-free login, ative primeiro o acesso sem senha na instância — consulte Ativar acesso sem senha. |
|
Database Password |
Senha para conexão com a instância de destino. Use o formato |
Etapa 3: Testar a conectividade
Clique em Test Connectivity and Proceed.
Adicione os endereços IP dos servidores do DTS às configurações de segurança (listas de permissões) dos bancos de dados de source e de destino. Consulte Adicionar endereços IP de servidores DTS a uma lista de permissões .
Etapa 4: Configure objetos de migração
Na página Configure Objects, defina as seguintes opções.
|
Parâmetro |
Descrição |
|
Migration Types |
Selecione Full Data Migration para uma carga única. Marque tanto Full Data Migration quanto Incremental Data Migration para manter o destino sincronizado enquanto a aplicação estiver em execução. Se escolher apenas a migração completa, evite gravar na source durante o processo para prevenir inconsistência de dados. |
|
Processing Mode of Conflicting Tables |
Precheck and Report Errors: a pré-verificação confirme se o destino está vazio. A tarefa não inicia se houver dados existentes. Ignore Errors and Proceed: ignora a verificação — os dados da source sobrescrevem quaisquer chaves no destino com nomes correspondentes. Isso pode causar perda de dados. |
|
Source Objects |
Selecione um ou mais objetos na seção Source Objects e clique no ícone de seta para movê-los para Selected Objects. A seleção pode ser feita no nível de banco de dados, tabela ou coluna. |
|
Selected Objects |
Para mapear dados migrados para um índice DB específico do Redis, clique com o botão direito em um esquema em Selected Objects e configure: Mapping Name of Redis/Tair Database (0 to 255) — o índice DB do Redis que receberá os dados (apenas numérico); Cache Mapping Mode — o formato da chave para os dados migrados. Se selecione Key-Value Model Based on Database, Table, and Primary Key, defina também Value Separation Method. Para filtrar linhas, clique com o botão direito na tabela e defina uma cláusula WHERE. Consulte Definir uma condição de filtro. |
Clique em Next: Advanced Settings.
Etapa 5: Configure definições avançadas
|
Parâmetro |
Descrição |
|
Dedicated Cluster for Task Scheduling |
Por padrão, o DTS agenda tarefas no 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 reconexão quando a conexão com a source ou o destino falha. Intervalo válido: 10–1.440 minutos. Padrão: 720 minutos. Defina um valor superior a 30 minutos. Se o DTS reconectar dentro dessa janela, a tarefa será retomada; caso contrário, ela falhará. Nota: durante as tentativas de reconexão, a instância DTS é cobrada. Configure este parâmetro conforme suas necessidades de negócio e libere a instância DTS assim que as instâncias de source e destino não forem mais necessárias. |
|
Retry Time for Other Issues |
Tempo de nova tentativa do DTS para operações DDL ou DML com falha. Intervalo válido: 1–1.440 minutos. Padrão: 10 minutos. Defina um valor superior a 10 minutos. Este valor deve ser menor que Retry Time for Failed Connections. |
|
Enable Throttling for Full Data Migration |
Limita a taxa de leitura/gravação durante a migração completa para reduzir a carga nos bancos de dados de source e destino. 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 taxa 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. |
|
Cache Expiration Time |
TTL das chaves após a migração. Defina como -1 para desativar a expiração (as chaves nunca expiram). Um valor de -1 arrisca encher a memória do Redis e causar erros na tarefa. |
|
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks |
Controla se o DTS grava SQL da tabela de heartbeat na source durante a execução. Yes: o DTS não grava operações SQL nas tabelas de heartbeat. Nesse caso, a latência de migração pode ser exibida incorretamente. No: o DTS grava o SQL de heartbeat, o que pode afetar backups físicos e clonagem da source. |
|
Environment Tag |
Uma tag opcional para identificar o ambiente (por exemplo, produção ou staging). |
|
Configure ETL |
Define se o extract, transform, and load (ETL) será ativado. Se habilitado, insira as instruções de processamento de dados no editor de código. Para detalhes de configuração, consulte Configurar ETL em uma tarefa de migração ou sincronização de dados. Para uma visão geral do recurso, consulte O que é ETL? |
|
Monitoring and Alerting |
Define se alertas serão configurados para falhas de tarefa ou latência acima de um limiar. Se habilitado, configure o limiar de alerta e as notificações. Consulte Configurar monitoramento e alertas. |
Etapa 6: Execute a pré-verificação
Clique em Next: Save Task Settings and Precheck.
Para visualize os parâmetros da API desta configuração de tarefa, passe o mouse 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 tarefa. Se alguma verificação falhar:
Clique em View Details ao lado do item com falha.
Corrija o problema com base nos resultados da verificação.
Clique em Precheck Again.
Se aparecer um alerta (aviso não bloqueante):
Clique em Confirm Alert Details.
Na caixa de diálogo View Details, clique em Ignore > OK.
Clique em Precheck Again.
Ignorar alertas pode resultar em inconsistência de dados. Prossiga com cautela.
Etapa 7: Adquirir e iniciar a instância
Aguarde até que Success Rate atinja 100% e clique em Next: Purchase Instance.
Na página Purchase Instance, defina os seguintes parâmetros:
|
Parâmetro |
Descrição |
|
Resource Group |
Grupo de recursos para a instância de migração. Padrão: default resource group. Consulte O que é Resource Management? |
|
Instance Class |
A classe da instância determina a velocidade da migração. Consulte Classes de instâncias de migração de dados. |
Leia e aceite os Data Transmission Service (Pay-as-you-go) Service Terms.
Clique em Buy and Start > OK.
Verifique o status da migração
Após o início da tarefa, acesse a página Data Migration para monitorar o progresso.
Apenas migração completa de dados: a tarefa é interrompida automaticamente ao concluir. O status exibirá Completed.
Migração completa + incremental de dados: a tarefa continua em execução após a carga inicial e replica as alterações contínuas da source. O status exibirá Running.
Para versões compatíveis de bancos de dados de source e destino, consulte Visão geral das soluções de migração .