O Data Transmission Service (DTS) permite executar uma migração completa única de um projeto do MaxCompute para uma instância do ApsaraDB RDS for MySQL, incluindo a migração de esquema e de dados. O DTS não oferece suporte à migração incremental a partir do MaxCompute. Interrompa todas as gravações no projeto de origem antes de iniciar a tarefa.
Tipos de migração suportados
|
Tipo de migração |
Suportado |
|
Migração de esquema |
Sim |
|
Migração completa de dados |
Sim |
|
Migração incremental de dados |
Não |
Pré-requisitos
Antes de começar, verifique se você tem:
Um par de AccessKey criado na conta Alibaba Cloud proprietária do projeto do MaxCompute. Consulte Criar um par de AccessKey.
A lista de permissões de endereços IP do MaxCompute configurada para permitir o acesso do DTS. Consulte Configurar uma lista de permissões de endereços IP para permitir o acesso de serviços da Alibaba Cloud ao MaxCompute.
Uma instância de destino do ApsaraDB RDS for MySQL com armazenamento suficiente e uma conta de banco de dados com permissões de leitura e gravação. Consulte Criar uma conta e Modificar permissões da conta.
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 neste exemplo. As taxas são aplicáveis apenas quando os dados são transferidos da Alibaba Cloud pela Internet. Consulte Visão geral do faturamento. |
Limitações
Sem migração incremental. O DTS suporta apenas migração completa de dados do MaxCompute. Não grave novos dados no projeto de origem após o início da tarefa. Os dados gravados posteriormente não serão migrados e causarão inconsistência nos dados.
Risco de registros duplicados. O MaxCompute não oferece suporte a restrições de chave primária. Se ocorrerem erros de rede e o DTS tentar repetir a tarefa, registros duplicados poderão ser gravados em tabelas de destino sem chaves primárias.
Risco de retomada automática. Caso uma tarefa de migração falhe, o DTS a retoma automaticamente. Interrompa ou libere a tarefa antes de alternar as cargas de trabalho para o banco de dados de destino. Caso contrário, a tarefa retomada sobrescreverá os dados já existentes no destino.
Inconsistência de esquema. O MaxCompute e o ApsaraDB RDS for MySQL são bancos de dados heterogêneos. O DTS não garante a consistência do esquema após a migração. Avalie o impacto da conversão de tipos de dados antes de iniciar a migração. Consulte Mapeamentos de tipos de dados entre bancos de dados heterogêneos.
-
Crescimento do tablespace de destino. Operações INSERT simultâneas durante a migração completa causam fragmentação nas tabelas de destino. Após a conclusão da migração, o tablespace de destino ficará maior que o de origem. Execute
ANALYZE TABLEouOPTIMIZE TABLEpara recuperar espaço.NotaO comando
OPTIMIZE TABLEbloqueia a tabela durante a execução. Agende essa operação para horários de baixa demanda. Impacto no desempenho. Durante a migração, o DTS utiliza recursos de leitura e gravação tanto na origem quanto no destino. Execute as migrações em horários de baixa demanda, quando a utilização da CPU em ambos os bancos de dados estiver abaixo de 30%.
Nomenclatura do banco de dados de destino. O DTS cria automaticamente o banco de dados de destino. Se o nome do banco de dados de origem não atender às convenções de nomenclatura do ApsaraDB RDS for MySQL, crie manualmente o banco de dados de destino antes de configurar a tarefa de migração. Consulte Criar contas e bancos de dados.
Migrar dados
Etapa 1: Acessar 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.
NotaAs etapas podem variar conforme o modo e o layout do console do DMS. Consulte Modo simples e Personalizar o layout e o estilo do console do DMS. Alternativamente, acesse diretamente a página Data Migration Tasks no novo console do DTS.
Etapa 2: Selecionar a região
Na lista suspensa ao lado de Data Migration Tasks, selecione a região onde a instância de migração está localizada.
No novo console do DTS, selecione a região no canto superior esquerdo.
Etapa 3: Criar uma tarefa de migração
Clique em Create Task.
-
Opcional: No canto superior direito, clique em New Configuration Page para alternar para a nova página de configuração.
NotaIgnore esta etapa se Back to Previous Version for exibido. Recomenda-se o uso da nova página de configuração.
Etapa 4: Configurar os bancos de dados de origem e de destino
Configure os seguintes parâmetros para os bancos de dados de origem e de destino.
Banco de dados de origem (MaxCompute)
|
Parâmetro |
Descrição |
|
Task Name |
Nome da tarefa. O DTS atribui um nome automaticamente. Especifique um nome descritivo para facilitar a identificação. O nome não precisa ser único. |
|
Select a DMS database instance |
Selecione uma instância de banco de dados existente no DMS ou configure manualmente os parâmetros do banco de dados de origem. Ao selecionar uma instância existente, o DTS preenche automaticamente os demais parâmetros. |
|
Database Type |
Selecione MaxCompute. |
|
Access Method |
Selecione Alibaba Cloud Instance. |
|
Instance Region |
Região onde o projeto do MaxCompute de origem está localizado. |
|
Project |
Nome do projeto do MaxCompute de origem. |
|
AccessKey ID of Alibaba Cloud Account |
O AccessKey ID da conta Alibaba Cloud proprietária do projeto do MaxCompute. |
|
AccessKey Secret of Alibaba Cloud Account |
O AccessKey secret da conta Alibaba Cloud proprietária do projeto do MaxCompute. |
Banco de dados de destino (ApsaraDB RDS for MySQL)
|
Parâmetro |
Descrição |
|
Select a DMS database instance |
Selecione uma instância de banco de dados existente no DMS ou configure manualmente os parâmetros do banco de dados de destino. |
|
Database Type |
Selecione MySQL. |
|
Access Method |
Selecione Alibaba Cloud Instance. |
|
Instance Region |
Região onde a instância do ApsaraDB RDS for MySQL de destino está localizada. |
|
Replicate Data Across Alibaba Cloud Accounts |
Selecione No para usar uma instância na conta Alibaba Cloud atual. |
|
RDS Instance ID |
O ID da instância do ApsaraDB RDS for MySQL de destino. |
|
Database Account |
Conta de banco de dados com permissões de leitura e gravação no banco de dados de destino. |
|
Database Password |
Senha da conta do banco de dados. |
Para registrar um banco de dados no DMS, clique em Create Template no console do DMS. Consulte Registrar uma instância de banco de dados da Alibaba Cloud e Registrar um banco de dados hospedado em um serviço de nuvem de terceiros ou um banco de dados autogerenciado. Para registrar um banco de dados diretamente no DTS, use a página Database Connections ou a nova página de configuração. Consulte Gerenciar conexões de banco de dados.
Etapa 5: Testar a conectividade
Clique em Test Connectivity and Proceed na parte inferior da página.
Se o banco de dados de origem ou de destino for uma instância de banco de dados da Alibaba Cloud, o DTS adiciona automaticamente seus blocos CIDR de servidor à lista de permissões de endereços IP da instância. Se o banco de dados de origem ou de destino for um banco de dados autogerenciado hospedado em uma instância do Elastic Compute Service (ECS), o DTS adiciona automaticamente os blocos CIDR dos servidores DTS às regras do grupo de segurança da instância ECS. Nesse caso, garanta que a instância ECS possa acessar o banco de dados. Se o banco de dados autogerenciado estiver hospedado em várias instâncias ECS, adicione manualmente os blocos CIDR dos servidores DTS às regras do grupo de segurança de cada instância ECS. Para bancos de dados autogerenciados hospedados em um data center ou fornecidos por um serviço de nuvem de terceiros, adicione manualmente os blocos CIDR dos servidores DTS à lista de permissões do banco de dados. Consulte Blocos CIDR dos servidores DTS.
Adicionar blocos CIDR de servidores DTS a uma lista de permissões de banco de dados ou a regras de grupo de segurança do ECS introduz riscos de segurança. Antes de usar o DTS, tome as seguintes precauções: fortaleça seu nome de usuário e senha, limite as portas expostas, autentique chamadas de API, revise regularmente as listas de permissões e as regras do grupo de segurança e remova blocos CIDR não autorizados. Para isolamento no nível de rede, conecte o banco de dados ao DTS usando Express Connect, VPN Gateway ou Smart Access Gateway.
Etapa 6: Conceder permissões e verificar a conectividade
Clique em OK para conceder acesso à conta integrada do DTS ao projeto do MaxCompute e, em seguida, clique em Test Connectivity.
Etapa 7: Selecionar objetos de migração
Na página Select Objects, configure os seguintes parâmetros.
|
Parâmetro |
Descrição |
|
Migration Types |
Selecione tanto Schema Migration quanto Full Data Migration. |
|
Processing Mode of Conflicting Tables |
Precheck and Report Errors (padrão): verifica se existem tabelas com nomes idênticos na origem e no destino. A pré-verificação falha se forem encontrados conflitos, impedindo o início da tarefa. Para resolver conflitos, use o mapeamento de nomes de objetos para renomear as tabelas migradas. Ignore Errors and Proceed: ignora a verificação de nomes idênticos. Se a origem e o destino tiverem o mesmo esquema, registros com chaves primárias correspondentes serão ignorados. Se os esquemas forem diferentes, apenas certas colunas serão migradas ou a tarefa falhará completamente. 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. Padrão: DTS default policy. Consulte Especificar o uso de maiúsculas e minúsculas em nomes de objetos. |
|
Source Objects |
Selecione projetos ou tabelas para migrar e clique no ícone de seta para adicioná-los aos Selected Objects. |
|
Selected Objects |
Para renomear um único objeto, clique com o botão direito nele. 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. Para filtrar dados por condição, clique com o botão direito na tabela e especifique as condições de filtro. Consulte Definir condições de filtro. |
Se você renomear um objeto usando o mapeamento de nomes de objetos, outros objetos dependentes podem falhar na migração.
Etapa 8: Configurar 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 |
O DTS usa um cluster compartilhado por padrão. Para melhorar a estabilidade da migração, 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 após uma falha de conexão depois do início da tarefa. Valores válidos: 10–1440 minutos. Padrão: 720 minutos. Recomendamos definir este parâmetro com um valor superior a 30. Se o DTS reconectar dentro dessa janela, a tarefa será retomada. Caso contrário, a tarefa falhará. Se várias tarefas compartilharem a mesma origem ou destino, o valor definido mais recentemente terá precedência. |
|
The wait time before a retry when other issues occur in the source and destination databases |
Tempo de espera antes de tentar novamente operações DML ou DDL com falha. Valores válidos: 1–1440 minutos. Padrão: 10 minutos. Recomendamos definir este parâmetro com um valor superior a 10 e sempre inferior ao valor de Retry Time for Failed Connections. |
|
Enable Throttling for Full Data Migration |
Limita o uso de recursos de leitura/gravação do DTS durante a migração completa para reduzir a carga no destino. Quando ativado, configure QPS (queries per second) 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. |
|
Environment Tag |
Uma tag opcional para identificar a instância do DTS. |
|
Configure ETL |
Define se o processo de extração, transformação e carga (ETL) deve ser ativado. Selecione Yesconfigurações de notificação de alerta para inserir instruções de processamento de dados. Consulte Configurar ETL. Selecione No para pular. Para obter uma visão geral, consulte O que é ETL? |
|
Monitoring and Alerting |
Define se alertas devem ser configurados para a tarefa de migração. Selecione Yes para configurar limiares de alerta e contatos de notificação. Consulte Configurar monitoramento e alertas. |
Etapa 9: Executar a pré-verificação
Clique em Next: Save Task Settings and Precheck.
Para visualizar os parâmetros de API que o DTS usaria para esta configuração, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters.
O DTS executa uma pré-verificação antes de iniciar a tarefa de migração. A tarefa só pode começar após a aprovação na pré-verificação.
Se a pré-verificação falhar, clique em View Details ao lado de cada item com falha, corrija os problemas e execute a pré-verificação novamente.
Se a pré-verificação gerar um alerta, revise-o antes de prosseguir. Se o alerta puder ser ignorado com segurança, clique em Confirm Alert Details, depois clique em Ignore na caixa de diálogo, confirme e clique em Precheck Again.
Aguarde até que a taxa de sucesso atinja 100% e clique em Next: Purchase Instance.
Etapa 10: Adquirir uma instância de migração e iniciar a tarefa
-
Na página Purchase Instance, configure os seguintes parâmetros.
Seção Parâmetro Descrição New Instance Class Resource Group Settings Grupo de recursos para a instância de migração. Padrão: default resource group. Consulte O que é o Resource Management? Instance Class A classe da instância determina a velocidade da migração. Selecione uma classe com base no volume de dados e nos requisitos de desempenho. Consulte Especificações das instâncias de migração de dados. Leia e concorde com os Data Transmission Service (Pay-as-you-go) Service Terms.
Clique em Buy and Start para iniciar a tarefa de migração. Monitore o progresso na lista de tarefas.
Próximos passos
Após a conclusão da migração:
Verifique a consistência dos dados entre o projeto do MaxCompute de origem e a instância do ApsaraDB RDS for MySQL de destino.
Interrompa ou libere a tarefa de migração do DTS antes de alternar as cargas de trabalho para o banco de dados de destino.
Se o tablespace de destino for significativamente maior que o de origem, execute
ANALYZE TABLEouOPTIMIZE TABLEpara recuperar espaço. Agende o comandoOPTIMIZE TABLEpara horários de baixa demanda para evitar bloqueios de tabela.