Quais são as práticas recomendadas para migrar um banco de dados do RDBMS para o Amazon Redshift usando o AWS DMS?
Tenho um banco de dados do Relational Database Management System (RDBMS) que desejo migrar para o Amazon Redshift usando o AWS Database Migration Service (AWS DMS). Quais são algumas práticas recomendadas que posso seguir ao migrar um banco de dados do RDBMS para o Amazon Redshift?
Resolução
Use as práticas recomendadas neste artigo para obter ajuda para migrar bancos de dados do RDBMS para o Amazon Redshift usando o AWS DMS.
- Use a carga paralela com suas regras de configuração de tabelas ao migrar dados para um endpoint do Amazon Redshift. Para obter mais informações sobre como usar a carga paralela e como ela pode contribuir para acelerar a migração, consulte Usar carga paralela para tabelas, visualizações e coleções selecionadas.
- As versões 3, 4, 5 e posteriores do AWS DMS incluem suporte ao uso das configurações de tarefas ParallelLoad durante a carga total para endpoints de destino do Amazon Redshift. Para obter mais informações, consulte Configurações de tarefas de carga total em vários threads para o Amazon Redshift.
- Se estiver migrando uma grande quantidade de dados para o Amazon Redshift, aumente os valores de atributo do endpoint para maxFileSize e fileTransferUploadStreams. Fazer isso pode ajudar a melhorar a performance da carga total. Em seguida, aumente o valor de CommitRate para melhorar a performance.
- Como o AWS DMS não oferece suporte ao modo de LOB completo quando o Amazon Redshift é usado como um destino para seus bancos de dados, certifique-se de configurar LobMaxSize para um valor apropriado.
- Certifique-se de que as tabelas do Amazon Redshift tenham uma chave primária. Se a tabela de destino não tiver uma chave primária, as inserções serão feitas no modo BatchApply. Mas, como as atualizações e exclusões são aplicadas uma a uma, a performance é afetada. Portanto, certifique-se de que o AWS DMS migre dados de CDC em lotes para o destino Amazon Redshift para evitar problemas de performance.
- Ajuste as configurações de aplicação em lote de acordo com a workload para reduzir o número de confirmações no destino. As configurações de aplicação em lote incluem BatchApplyTimeoutMin, BatchApplyTimeoutMax e BatchApplyMemoryLimit.
- Use BatchSplitSize para definir o número máximo de alterações aplicadas em um único lote. O valor padrão é 0, o que significa que não há limite aplicado.
- Crie tabelas de destino do Amazon Redshift com as chaves de distribuição e classificação apropriadas. Quando o AWS DMS cria tabelas para destinos do Amazon Redshift, ele cria tabelas com uma chave de distribuição padrão e sem chaves de classificação. O Amazon Redshift armazena dados em disco em uma ordem classificada de acordo com a chave de classificação. O otimizador de consultas do Amazon Redshift usa a ordem de classificação ao determinar os planos de consulta ideais. Então, quando você executa uma consulta, o otimizador de consulta redistribui linhas para os nós de computação conforme necessário para executar quaisquer junções e agregações. Para obter mais informações, consulte Escolher a melhor chave de classificação e Trabalhar com estilos de distribuição de dados.
- Se você tiver uma workload transacional pesada, use configurações semelhantes a estas. Essas configurações de exemplo significam que um buffer de lote de 8.000 MB é preenchido em 1.800 segundos usando 32 threads paralelos e com um tamanho máximo de arquivo de 250 MB. Configurações de endpoint do Amazon Redshift:
MaxFileSize=250000;
Configurações da tarefa:
BatchApplyEnabled=true; BatchSplitSize =8000; BatchApplyTimeoutMax =1800; BatchApplyTimeoutMin =1800; ParallelApplyThreads=32; ParallelApplyBufferSize=100;
-
Certifique-se de que não haja bloqueios ou sessões de bloqueio presentes no Amazon Redshift. Para obter mais informações, consulte Como faço para detectar e liberar bloqueios no Amazon Redshift?
-
Use a ferramenta Amazon Redshift Workload Management (WLM) para gerenciar sua workload. O Amazon Redshift WLM pode ser usado para definir várias filas de consulta e para rotear consultas para as filas apropriadas em tempo de execução. Para obter mais informações, consulte Gerenciamento de workloads.
Informações relacionadas
Usar um banco de dados do Amazon Redshift como destino para o AWS Database Migration Service
Como posso usar o Amazon Redshift como endpoint de destino de uma tarefa do AWS DMS?
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos