Práticas recomendadas e requisitos para gerenciar tabelas globais - Amazon DynamoDB

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á.

Práticas recomendadas e requisitos para gerenciar tabelas globais

Ao usar as tabelas globais do Amazon DynamoDB, você pode replicar os dados da tabela nas regiões da AWS. É importante que as tabelas de réplica e índices secundários na tabela global tenham configurações idênticas de capacidade de gravação para garantir a replicação apropriada dos dados.

Versão de tabelas globais

Há duas versões das tabelas globais do DynamoDB disponíveis: Tabelas globais versão 2019.11.21 (atual) e. Tabelas globais versão 2017.11.29 (Legacy) Os clientes devem usar a versão 2019.11.21 (atual) do Global Tables sempre que possível, pois ela oferece maior flexibilidade, maior eficiência e consome menos capacidade de gravação do que a versão 2017.11.29 (Legacy).

Para determinar qual versão você está usando, consulte Determinar a versão da tabela global que você está usando. Para atualizar tabelas globais da versão 2017.11.29 (herdada) para a versão 2019.11.21 (atual), consulte Atualizar as tabelas globais.

Requisitos para adicionar uma nova tabela-réplica

Se você quiser adicionar uma nova tabela-réplica a uma tabela global, todas estas condições precisarão ser verdadeiras:

  • A tabela precisa ter a mesma chave de partição que todas as outras réplicas.

  • A tabela deve ter as mesmas configurações de gerenciamento de capacidade de gravação especificadas.

  • A tabela precisa ter o mesmo nome que todas as outras réplicas.

  • A tabela precisa estar com o DynamoDB Streams ativado e o fluxo precisa conter as imagens novas e antigas do item.

  • Nenhuma das tabelas-réplica novas ou existentes na tabela global pode conter dados.

Se os índices secundários globais forem especificados, as seguintes condições também deverão ser atendidas:

  • Os índices secundários globais devem ter o mesmo nome.

  • Os índices secundários globais devem ter a mesma chave de partição e chave de classificação (se presente).

Importante

As configurações de capacidade de gravação devem ser definidas de maneira consistente em todas as tabelas-réplica das tabelas globais e corresponder aos índices secundários. Para atualizar as configurações de capacidade de gravação para a tabela global, é altamente recomendável usar o console do DynamoDB ou a operação UpdateGlobalTableSettings da API. UpdateGlobalTableSettings aplica automaticamente alterações nas configurações de capacidade de gravação para todas as tabelas-réplica e índices secundários correspondentes em uma tabela global. Se você usar as operações UpdateTable, RegisterScalableTarget ou PutScalingPolicy, deverá aplicar a alteração em cada tabela-réplica e índice secundário correspondente individualmente. Para obter mais informações, consulte a UpdateGlobalTableSettingsReferência da API do Amazon DynamoDB.

Recomendamos enfaticamente habilitar o Auto Scaling para gerenciar as configurações de capacidade de gravação provisionadas. Se preferir gerenciar as configurações de capacidade de gravação manualmente, você deverá provisionar unidades de capacidade de gravação replicadas iguais para todas as suas tabelas-réplica. Provisione também unidades de capacidade de gravação replicadas iguais para fazer a correspondência dos índices secundários na tabela global.

Você também precisa ter as permissões adequadas do AWS Identity and Access Management (IAM). Para ter mais informações, consulte Usar o IAM com tabelas globais.

Práticas recomendadas e requisitos de gerenciamento de capacidade

Considere o seguinte ao gerenciar configurações de capacidade de tabelas-réplica no DynamoDB.

Usar o Auto Scaling do DynamoDB

Usar o Auto Scaling do DynamoDB é a maneira recomendada de gerenciar as configurações de capacidade de throughput para tabelas-réplica que usam o modo provisionado. O Auto Scaling do DynamoDB ajusta automaticamente as unidades de capacidade de leitura (RCUs) e as unidades de capacidade de gravação (WCUs) em cada tabela-réplica, com base na workload atual da aplicação. Para ter mais informações, consulte Gerenciar a capacidade de throughput automaticamente com o Auto Scaling do DynamoDB.

Se você criar suas tabelas-réplica usando o AWS Management Console, o Auto Scaling ficará ativado por padrão em cada tabela-réplica com as configurações padrão para o gerenciamento das unidades de capacidade de leitura e de gravação.

As alterações às configurações de Auto Scaling para uma tabela-réplica ou um índice secundário feitas por meio do console do DynamoDB ou pela utilização da chamada UpdateGlobalTableSettings são aplicadas a todas as tabelas-réplica e índices secundários correspondentes na tabela global automaticamente. Essas alterações substituem todas as configurações de Auto Scaling existentes. Isso garante que as configurações de capacidade de gravação provisionadas fiquem consistentes nas tabelas-réplica e nos índices secundários na tabela global. Se usar chamadas UpdateTable, RegisterScalableTarget ou PutScalingPolicy, você deverá aplicar a alteração a cada tabela-réplica e índice secundário correspondente individualmente.

nota

Se o Auto Scaling não satisfizer as alterações de capacidade de seu aplicativo (workload imprevisível) ou se você não quiser definir suas configurações (configurações de destino para limite mínimo, máximo ou de utilização), você poderá usar o modo sob demanda para gerenciar a capacidade das tabelas globais. Para ter mais informações, consulte Modo sob demanda.

Se você habilitar modo sob demanda em uma tabela global, seu consumo de unidades de solicitação de gravação replicadas (rWCUs) será consistente com como rWCUs são provisionados. Por exemplo, se você realizar 10 gravações em uma tabela local que é replicada em duas regiões adicionais, você consumirá 60 unidades de solicitações de gravação (10 + 10 + 10 = 30; 30 x 2 = 60). As 60 unidades de solicitação de gravação consumidas incluem a gravação extra consumida pelas tabelas globais versão 2017.11.29 (herdada) para atualizar os atributos aws:rep:deleting, aws:rep:updatetime e aws:rep:updateregion.

Gerenciar capacidade manualmente

Se você decidir não usar o Auto Scaling do DynamoDB, deverá definir manualmente as configurações de capacidade de leitura e de gravação em cada tabela-réplica e no índice secundário.

As unidades de capacidade de gravação replicadas (rWCUs - Replicated write capacity units) provisionadas em cada tabela-réplica devem ser definidas para o número total de rWCUs necessárias para as gravações de aplicativo em todas as regiões multiplicado por dois. Isso acomoda as gravações do aplicativo que ocorrem na região local e as gravações replicadas do aplicativo vindas de outras regiões. Por exemplo, suponha que você espera 5 gravações por segundo em sua tabela-réplica em Ohio e 5 gravações por segundo em sua tabela-réplica no Norte da Virginia. Nesse caso, você deve provisionar 20 RWCUs para cada tabela de réplica (5 + 5 = 10; 10 x 2 = 20).

Para atualizar as configurações de capacidade de gravação para a tabela global, é altamente recomendável usar o console do DynamoDB ou a operação UpdateGlobalTableSettings da API. UpdateGlobalTableSettings aplica automaticamente alterações nas configurações de capacidade de gravação para todas as tabelas-réplica e índices secundários correspondentes em uma tabela global. Se você usar as operações UpdateTable, RegisterScalableTarget ou PutScalingPolicy, deverá aplicar a alteração em cada tabela-réplica e índice secundário correspondente individualmente. Para obter mais informações, consulte a Referência da API do Amazon DynamoDB.

nota

Para atualizar as configurações (UpdateGlobalTableSettings) para uma tabela global no DynamoDB, você deve ter as permissões dynamodb:UpdateGlobalTable, dynamodb:DescribeLimits, application-autoscaling:DeleteScalingPolicy e application-autoscaling:DeregisterScalableTarget. Para ter mais informações, consulte Usar o IAM com tabelas globais.