Seleção do melhor tamanho para uma instância de replicação - AWS Database Migration Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Seleção do melhor tamanho para uma instância de replicação

A escolha da instância de replicação adequada depende de vários fatores do seu caso de uso. Para ajudar a entender como os recursos da instância de replicação são utilizados, consulte a discussão a seguir. Ela abrange o cenário comum de uma tarefa de carga máxima + CDC.

Durante uma tarefa de carga completa, AWS DMS carrega as tabelas individualmente. Por padrão, oito tabelas são carregadas por vez. AWS DMS captura as alterações contínuas na origem durante uma tarefa de carga total para que as alterações possam ser aplicadas posteriormente no endpoint de destino. As alterações são armazenados em cache na memória; se a memória disponível for esgotada, as alterações são armazenadas em cache no disco. Quando uma tarefa de carga completa é concluída para uma tabela, as alterações em cache são aplicadas AWS DMS imediatamente à tabela de destino.

Depois que todas as alterações em cache pendentes para uma tabela forem aplicadas, o endpoint de destino está em um estado transacionalmente consistente. Nesse ponto, o destino está sincronizado com o endpoint de origem em relação às últimas alterações em cache. AWS DMS em seguida, inicia a replicação contínua entre a origem e o destino. Para fazer isso, AWS DMS pega as operações de alteração dos registros de transações de origem e as aplica ao destino de maneira transacionalmente consistente. (Esse processo pressupõe que a aplicação otimizada em lote não esteja selecionada). AWS DMS transmite as alterações contínuas pela memória na instância de replicação, se possível. Caso contrário, AWS DMS grava as alterações no disco na instância de replicação até que elas possam ser aplicadas no destino.

Você tem algum controle sobre como a instância de replicação manipula o processamento de alterações e como a memória é usada nesse processo. Para obter mais informações sobre como ajustar o processamento de alterações, consulte Configurações de ajuste de processamento de alterações.

Fatores a serem considerados

Memória e espaço em disco são fatores-chave na seleção de uma instância de replicação apropriada para o seu caso de uso. Veja uma discussão a seguir sobre as características do caso de uso a serem analisadas para escolher uma instância de replicação.

  • Tamanho do banco de dados e das tabelas

    O volume de dados ajuda a determinar a configuração da tarefa para otimizar o desempenho da carga máxima. Por exemplo, para dois esquemas de 1 TB, é possível particionar tabelas em quatro tarefas de 500 GB e executá-las em paralelo. O paralelismo possível depende do recurso de CPU disponível na instância de replicação. Por isso, é uma boa ideia compreender o tamanho do banco de dados e das tabelas para otimizar o desempenho da carga máxima. Isso ajuda a determinar o número de tarefas possíveis que você pode ter.

  • Objetos grandes

    Os tipos de dados presentes no escopo da migração podem afetar o desempenho. Particularmente, os objetos grandes (LOBs) afetam o desempenho e o consumo de memória. Para migrar um valor de LOB, AWS DMS executa um processo de duas etapas. Primeiro, AWS DMS insere a linha no destino sem o valor LOB. Em segundo lugar, AWS DMS atualiza a linha com o valor LOB. Isso tem um impacto na memória, portanto, é importante identificar as colunas de LOB na origem e analisar o tamanho dessas colunas.

  • Frequência da carga e tamanho das transações

    A frequência da carga e as transações por segundo (TPS) influenciam o uso da memória. Um grande número de atividades de TPS ou da linguagem de manipulação de dados (DML) resultam em uma alta utilização de memória. Isso ocorre porque o DMS armazena em cache as alterações até que elas sejam aplicadas ao destino. Durante a CDC, isso resulta em troca (gravação no disco físico devido ao estouro de memória), o que provoca latência.

  • Chaves de tabelas e integridade referencial

    As informações sobre as chaves de tabela determinam o modo da CDC (aplicação em lote ou aplicação transacional) que você utiliza para migrar os dados. Em geral, a aplicação transacional é mais lenta do que a aplicação em lote. Para transações de longa execução, pode haver muitas mudanças na migração. Quando você usa a aplicação transacional, AWS DMS pode ser necessária mais memória para armazenar as alterações em comparação com a aplicação em lote. Se você migrar tabelas sem chaves primárias, a aplicação em lote falhará e a tarefa do DMS será movida para o modo de aplicação transacional. Quando a integridade referencial está ativa entre as tabelas durante o CDC, AWS DMS usa a aplicação transacional por padrão. Para obter mais informações sobre a aplicação em lote em comparação com a aplicação transacional, consulte Como posso utilizar o recurso de aplicação em lote do DMS para melhorar o desempenho da replicação de CDC?

Use essas métricas para determinar se é necessário que a instância de replicação seja otimizada para computação ou para memória.

Problemas comuns

É possível enfrentar os seguintes problemas comuns que causam contenção de recursos na instância de replicação durante a migração. Para obter informações sobre as métricas instância de replicação, consulte Métricas de instâncias de replicação.

  • Se a memória em uma instância de replicação se tornar insuficiente, isso resultará na gravação dos dados no disco. A leitura de disco pode causar latência, o que pode ser evitado com o dimensionamento da instância de replicação com memória suficiente.

  • O tamanho do disco atribuído à instância de replicação pode ser menor do que o necessário. O tamanho do disco é utilizado quando os dados na memória transbordam. Ele também é utilizado para armazenar os logs de tarefas. O IOPS máximo também depende disso.

  • A execução de várias tarefas ou tarefas com alto paralelismo afeta o consumo de CPU da instância de replicação. Isso retarda o processamento das tarefas e resulta em latência.

Práticas recomendadas

Considere estas duas práticas recomendadas mais comuns ao dimensionar uma instância de replicação. Para ter mais informações, consulte Práticas recomendadas do AWS Database Migration Service.

  1. Dimensione a workload e compreenda se ela tem consumo intensivo de computação ou de memória. Com base nisso, é possível determinar a classe e o tamanho da instância de replicação:

    • AWS DMS processa LOBs na memória. Essa operação requer uma boa quantidade de memória.

    • O número de tarefas e o número de threads afetam o consumo da CPU. Evite utilizar mais de oito MaxFullLoadSubTasks durante a operação de carga máxima.

  2. Aumente o espaço em disco atribuído à instância de replicação quando tiver uma workload alta durante a carga máxima. Isso permite que a instância de replicação utilize o máximo de IOPS atribuído a ela.

As orientações anteriores não abrangem todos os cenários possíveis. É importante considerar os detalhes do seu caso de uso específico ao determinar o tamanho da instância de replicação.

Os testes anteriores mostram que a CPU e a memória variam com diferentes workloads. Particularmente, os LOBs afetam a memória, e a contagem de tarefas ou o paralelismo afetam a CPU. Depois que a migração estiver em execução, monitore a CPU, a memória liberável, o armazenamento livre e as IOPS da instância de replicação. Com base nos dados coletados, é possível dimensionar a instância de replicação para cima ou para baixo, conforme necessário.