O DynamoDB é eventualmente consistente?

Por padrão, sim. As leituras do DynamoDB são eventualmente consistentes: uma leitura logo após uma escrita pode não refletir essa escrita, mas repeti-la pouco depois retorna o item atualizado. Você pode optar por leituras fortemente consistentes em tabelas e LSIs; índices secundários globais são sempre eventualmente consistentes.

Eventualmente consistente (o padrão)

Uma leitura eventualmente consistente pode não refletir uma escrita recém-concluída. Repita a leitura um instante depois e ela retorna o valor atual. Esse modo é o padrão, e é cobrado pela metade da tarifa de uma leitura fortemente consistente.

Leituras fortemente consistentes

Defina ConsistentRead: true para obter os dados confirmados mais recentes (uma leitura fortemente consistente). Isso é suportado na tabela base e em índices secundários locais (LSIs) — mas não em índices secundários globais (GSIs) nem no DynamoDB Streams, que são sempre eventualmente consistentes.

A exclusão dos GSIs é imposta pela API, e não deixada por sua conta: um Query em um índice secundário global com ConsistentRead: true falha a requisição inteira em vez de rebaixá-la silenciosamente (a rejeição exata).

Quanto custa essa escolha

"Metade do preço" é a regra documentada; aqui está no que ela dá. Pegue 1.000 leituras por segundo de itens de 4 KB em us-east-1, e nada mais:

ConsistênciaUnidades de leitura por leituraOn-demand / mêsProvisionado / mês
Eventualmente consistente0,5US$164,25US$47,45 (500 RCU)
Fortemente consistente1US$328,50US$94,90 (1.000 RCU)

As entradas, para você conferir: 2.628.000 segundos em um mês de 730 horas, US$0,125 por milhão de unidades de requisição de leitura, US$0,00013 por RCU-hora. Um item de 4 KB é uma unidade de leitura, dividida pela metade na consistência eventual.

Ou seja, US$164 por mês é o preço fixo de nunca ler um item desatualizado nessa carga de trabalho. É barato para um saldo de conta e um desperdício para uma listagem de produtos, e é por isso que a flag é por requisição e não por tabela. Precifique os seus próprios números na calculadora de preços.

Por que funciona assim

O DynamoDB replica automaticamente os seus dados por três zonas de disponibilidade. A consistência eventual permite servir leituras sem esperar por todas as cópias — mais rápido e mais barato; a consistência forte retorna os dados mais atualizados.

E multirregião (global tables)?

A replicação entre regiões tem a sua própria configuração de consistência. As global tables usam por padrão a consistência eventual multirregião (MREC), em que as mudanças replicam para as outras regiões normalmente em um segundo ou menos. Em vez disso, você pode criar uma global table com consistência forte multirregião (MRSC): as escritas replicam de forma síncrona para pelo menos uma outra região, e leituras fortemente consistentes em qualquer réplica sempre retornam a versão mais recente de um item.

Aprofunde-se

Leia consistência no DynamoDB para os trade-offs completos. Baixe o DynoTable para alternar a consistência de leitura nas suas consultas.

Referências

Verificado pela última vez em 2026-07-13 contra a documentação oficial da AWS vinculada acima; os preços unitários foram reconferidos em 2026-07-28.

A rejeição do GSI foi reproduzida em 2026-07-28 no DynamoDB Local 3.3.0 (amazon/dynamodb-local:latest) via @aws-sdk/client-dynamodb 3.1095.0, e a tabela de custo foi calculada com os mesmos dados de preço que a calculadora usa.

Trabalhe com o DynamoDB sem o Console

Um cliente desktop rápido para DynamoDB que roda o SQL de verdade que o DynamoDB não consegue — JOINs, GROUP BY, agregações — com edição visual e um agente de IA com suas próprias chaves do Bedrock.

Teste grátis de 30 dias, sem cartão de crédito — depois o plano Grátis sem limite de tempo.