Consistência de leituras - 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á.

Consistência de leituras

O Amazon DynamoDB lê dados de tabelas, índices secundários locais (LSIs), índices secundários globais (GSIs) e fluxos. Para ter mais informações, consulte Componentes principais do Amazon DynamoDB. Tanto as tabelas quanto os LSIs oferecem duas opções de consistência de leitura: leituras finais consistentes (padrão) e leituras altamente consistentes. Todas as leituras de GSIs e fluxos são finais consistentes.

Quando sua aplicação grava dados em uma tabela do DynamoDB e recebe uma resposta HTTP 200 (OK), isso significa que a gravação foi concluída com êxito e persistida de forma durável. O DynamoDB oferece isolamento confirmado para leitura e garante que as operações de leitura sempre retornem valores confirmados de um item. A leitura nunca apresentará uma visão do item a partir de uma gravação que, em última análise, não foi concluída. Isolamento confirmado para leitura não previne modificações do item imediatamente após operação de leitura.

Leituras eventualmente coerentes

O tipo final consistente é o modelo de consistência padrão para todas as operações de leitura. Ao emitir leituras finais consistentes para uma tabela ou um índice do DynamoDB, as respostas podem não refletir os resultados de uma operação de gravação recém-concluída. Se você repetir sua solicitação de leitura após um curto período, em algum momento a resposta deverá retornar o item mais recente. As leituras finais consistentes são compatíveis com tabelas, índices secundários locais e índices secundários globais. Observe também que todas as leituras de um fluxo do DynamoDB também são do tipo final consistente.

As leituras finais consistentes custam metade do preço das leituras altamente consistentes. Para obter mais informações, consulte a Definição de preço do Amazon DynamoDB.

Leituras altamente consistentes

As operações de leitura, como GetItem, Query e Scan, fornecem um parâmetro ConsistentRead opcional. Se você definir como ConsistentRead true, o DynamoDB retornará uma resposta com a up-to-date maioria dos dados, refletindo as atualizações de todas as operações de gravação anteriores que foram bem-sucedidas. Leituras altamente consistentes só são compatíveis com tabelas e índices secundários locais. Não há suporte para leituras altamente consistentes de um índice secundário global ou de um fluxo do DynamoDB.

Consistência de leitura de tabelas globais

O DynamoDB também oferece suporte a tabelas globais para replicação multiativa e multirregional. Uma tabela global é composta por várias tabelas de réplica em diferentes AWS regiões. Todas as alterações feitas em qualquer item de qualquer tabela de réplica serão replicadas para todas as outras réplicas dentro da mesma tabela global, geralmente em menos de um segundo, e serão do tipo final consistente. Para ter mais informações, consulte Consistência e resolução de conflitos.