Planejamento da capacidade de throughput para tabelas globais do DynamoDB - Amazon DynamoDB

Planejamento da capacidade de throughput para tabelas globais do DynamoDB

A migração do tráfego de uma região para outra exige uma análise cuidadosa das configurações da tabela do DynamoDB em relação à capacidade.

Algumas considerações sobre o gerenciamento da capacidade de gravação:

  • Uma tabela global deve estar no modo sob demanda ou provisionada com o ajuste de escala automático ativado.

  • Se provisionada com o ajuste de escala automático, as configurações de gravação (utilização mínima, máxima e pretendida) são replicadas em todas as regiões. Embora as configurações de ajuste de escala automático sejam sincronizadas, a capacidade real de gravação provisionada pode variar de maneira independente entre as regiões.

  • Um motivo pelo qual você pode ver uma capacidade de gravação provisionada diferente é devido ao recurso de TTL. Ao habilitar a TTL no DynamoDB, você pode especificar um nome de atributo cujo valor indica a hora de expiração do item, em segundos no formato de hora epoch do Unix. Depois desse período, o DynamoDB poderá excluir o item sem incorrer em custos de gravação. Com tabelas globais, você pode configurar a TTL em uma região, e essa configuração é replicada automaticamente para as outras regiões associadas à tabela global. Quando um item é elegível para exclusão por meio de uma regra de TTL, esse trabalho pode ser feito em qualquer região. A operação de exclusão é executada sem consumir unidades de gravação na tabela de origem, mas as tabelas de réplica receberão uma gravação replicada dessa operação de exclusão e incorrerão em custos de unidade de gravação replicada.

  • Se você estiver usando o ajuste de escala automático, garanta que a configuração de capacidade máxima de gravação provisionada seja suficientemente alta para lidar com todas as operações de gravação, bem como com todas as possíveis operações de exclusão por TTL. O ajuste de escala automático ajusta cada região de acordo com seu consumo de gravação. As tabelas sob demanda não têm configuração de capacidade máxima de gravação provisionada, mas o limite máximo de throughput de gravação por tabela especifica a capacidade máxima de gravação sustentada que a tabela sob demanda permitirá. O limite padrão é 40 mil, mas esse limite é ajustável. Recomendamos que você o defina alto o suficiente para lidar com todas as operações de gravação (incluindo operações de gravação TTL) que a tabela sob demanda possa precisar. Esse valor deve igual em todas as regiões participantes quando você configura tabelas globais.

Algumas considerações sobre o gerenciamento da capacidade de leitura:

  • É permitido que as configurações de gerenciamento da capacidade de leitura sejam diferentes entre regiões, pois presume-se que regiões diferentes possam ter padrões de leitura independentes. Ao adicionar uma réplica global a uma tabela, a capacidade da região de origem é propagada. Após a criação, você pode ajustar as configurações de capacidade de leitura, que não são transferidas para o outro lado.

  • Ao usar o ajuste de escala automático do DynamoDB, certifique-se de que as configurações de capacidade máxima de leitura provisionada sejam suficientemente altas para lidar com todas as operações de leitura em todas as regiões. Durante as operações padrão, a capacidade de leitura talvez esteja distribuída entre as regiões, mas durante um failover, a tabela deve ser capaz de se adaptar automaticamente ao aumento da workload de leitura. As tabelas sob demanda não têm configuração de capacidade máxima de leitura provisionada, mas o limite máximo de throughput de leitura por tabela especifica a capacidade máxima de leitura sustentada que a tabela sob demanda permitirá. O limite padrão é 40 mil, mas esse limite é ajustável. Recomendamos que você o defina alto o suficiente para lidar com todas as operações de leitura que a tabela possa precisar se todas as operações de leitura fossem roteadas para essa única região.

  • Se uma tabela em uma região não costuma receber tráfego de leitura, mas pode precisar absorver uma grande quantidade de tráfego de leitura após um failover, você pode aumentar a capacidade de leitura provisionada da tabela, esperar que a tabela termine de ser atualizada e reduzir o provisionamento da tabela novamente. Você pode deixar a tabela no modo provisionado ou alterná-la para o modo sob demanda. Isso pré-prepara a tabela para aceitar um nível mais alto de tráfego de leitura.

O ARC inclui verificações de prontidão que podem ser úteis para confirmar se as regiões do DynamoDB têm configurações de tabela e cotas de conta semelhantes, independentemente de você usar ou não o Route 53 para rotear solicitações. Essas verificações de prontidão também podem ajudar a ajustar as cotas por conta para garantir que elas correspondam.