Meu índice secundário global (GSI) sofre controle de utilização.
Breve descrição
O controle de utilização em um GSI afeta a tabela base de maneiras diferentes. O efeito depende se o controle de utilização se refere à atividade de leitura ou à atividade de gravação:
- Quando um GSI tem capacidade de leitura insuficiente, o controle de utilização não afeta a tabela base.
- Quando um GSI tem capacidade de gravação insuficiente, o controle de utilização resulta em operações de gravação que falham na tabela base ou em qualquer um de seus GSIs.
Para obter mais informações, consulte Como usar índices secundários globais no DynamoDB.
Resolução
Para evitar o controle de utilização, siga estas etapas:
- Certifique-se de que a capacidade de gravação provisionada para cada GSI seja igual ou maior que a capacidade de gravação provisionada da tabela base. Para modificar o throughput provisionado de um GSI, use a operação UpdateTable. Se você ativou o ajuste de escala automático para a tabela base, é uma prática recomendada aplicar as mesmas configurações ao GSI. Para fazer isso, escolha Copiar da tabela base no console do DynamoDB. Para ter o melhor desempenho, ative a opção Usar as mesmas configurações de capacidade de leitura/gravação para todos os índices secundários globais. Isso permite que o ajuste de escala automático do DynamoDB escale uniformemente todos os índices secundários globais na tabela base. Para mais informações, consulte Habilitar o Auto Scaling do DynamoDB em tabelas existentes.
- Verifique se a chave de partição do GSI distribui as operações de leitura e gravação da forma mais uniforme possível entre as partições. Isso ajuda a evitar partições dinâmicas e, portanto, o controle de utilização. Para obter mais informações, consulte Projetar chaves de partição para distribuir a workload.
- Para identificar as chaves que sofrem controle de utilização com mais frequência, use o Amazon CloudWatch Contributor Insights para o DynamoDB.