nota
A consistência forte multirregional (MRSC) está disponível na versão prévia e está sujeita a alterações.
A consistência forte multirregional (MRSC) é um novo recurso de tabelas globais do DynamoDB disponível na versão prévia. Uma tabela global configurada para MRSC oferece a capacidade de realizar uma leitura altamente consistente com escopo multirregional. A realização de uma leitura altamente consistente em uma tabela MRSC garante que você esteja sempre lendo a versão mais recente de um item, independentemente da região na qual você está realizando a leitura.
É possível usar tabelas globais altamente consistentes em várias regiões para criar aplicações com um objetivo de ponto de recuperação (RPO) igual a zero. Um RPO zero garante que suas aplicações sempre possam ler a versão mais recente dos dados do DynamoDB, mesmo que uma interrupção da aplicação faça com que você mude o tráfego para uma Região da AWS diferente.
A versão prévia da MRSC é aceita apenas em tabelas globais versão 2019.11.21 (atual).
Tópicos
Modos de consistência para tabelas globais
Ao criar uma tabela global, você pode configurar o modo de consistência. As tabelas globais apresentam os seguintes modos de consistência multirregional: consistência final e consistência forte (versão prévia).
Se você não especificar um modo de consistência ao criar uma tabela global, ela usará como padrão a consistência final multirregional (MREC). Uma tabela global não pode conter réplicas configuradas com modos de consistência diferentes. Não é possível alterar o modo de consistência de uma tabela global.
Consistência final multirregional (MREC)
A consistência final multirregional (MREC) é o modo de consistência padrão para tabelas globais. As alterações feitas em um item em uma réplica da tabela global MREC são replicadas em todas as outras réplicas, normalmente em um segundo ou menos. Isso significa que as operações de leitura feitas com o parâmetro ConsistentRead definido como true
(uma leitura altamente consistente) sempre exibirão a versão mais recente de um item se ele tiver sido atualizado na região onde a leitura ocorreu, mas poderão exibir dados obsoletos se o item tiver sido atualizado em uma região diferente.
Os conflitos que decorrem de modificação simultânea do mesmo item em várias regiões são resolvidos com uma abordagem de último gravador ganha.
As tabelas globais MREC terão latências de gravação e de leitura altamente consistente mais baixas em comparação às tabelas globais MRSC.
Você deve usar o modo MREC quando:
-
A aplicação pode tolerar dados obsoletos exibidos por operações de leitura altamente consistente se esses dados tiverem sido atualizados em outra região.
-
Você prioriza latências de gravação e de leitura altamente consistente mais baixas em relação à consistência de leitura multirregional.
-
Sua estratégia de alta disponibilidade multirregional pode tolerar um RPO maior que zero.
Consistência forte multirregional (versão prévia)
nota
A consistência forte multirregional (MRSC) está disponível na versão prévia e está sujeita a alterações.
As alterações feitas em um item em uma réplica da tabela global MRSC podem ser lidas imediatamente em qualquer outra tabela de réplica na tabela global com uma leitura altamente consistente. Isso significa que as operações de leitura feitas com o parâmetro ConsistentRead
definido como true
(uma leitura altamente consistente) sempre exibirão a versão mais recente de um item de qualquer tabela de réplica.
Se uma operação de gravação modificar um item que já está sendo modificado em outra região, essa operação de gravação falhará com uma ReplicatedWriteConflictException
. As gravações que falharem com a ReplicatedWriteConflictException
poderão ser repetidas e serão bem-sucedidas se a atualização conflitante tiver sido resolvida e nenhuma outra estiver em andamento.
As tabelas globais MRSC terão latências de gravação e leitura altamente consistente mais altas em comparação às tabelas globais MREC.
É necessário usar o modo MRSC quando:
-
Você precisa de garantias de leitura altamente consistente com um escopo multirregional.
-
Você prioriza a consistência global de leitura em detrimento da menor latência de gravação.
-
Sua estratégia de alta disponibilidade multirregional exige um RPO igual a zero.
Disponibilidade regional para a versão prévia de MRSC
Essa versão prévia está disponível nas seguintes Regiões da AWS:
-
Leste dos EUA (Norte da Virgínia), us-east-1
-
Leste dos EUA (Ohio), us-east-2
-
Oeste dos EUA (Oregon), us-west-2
Considerações sobre a versão prévia de MRSC
Quando você usa tabelas globais com MRSC, as seguintes considerações se aplicam à versão prévia:
Considerações sobre workloads
-
As tabelas globais com MRSC estão disponíveis apenas na versão prévia. Você não deve usá-las para workloads de produção.
-
As características de performance e throughput das tabelas MRSC podem mudar na versão prévia.
Suporte a recursos
-
Somente chaves de propriedade da Amazon são aceitas na versão prévia.
-
Chaves gerenciadas pela AWS não são aceitas na versão prévia.
-
Chaves gerenciadas pelo cliente não são aceitas na versão prévia.
-
Políticas baseadas em recursos não podem ser usadas para interromper a replicação entre regiões.
-
As informações do CloudWatch Contributor Insights são relatadas somente para a região em que as operações ocorreram para as tabelas globais MRSC na versão prévia.
-
Tempo de vida (TTL) não é aceito em tabelas globais MRSC na versão prévia.
-
Índices secundários locais (LSIs) não são aceitos em tabelas globais MRSC na versão prévia.
-
As APIs de transação não são aceitas na versão prévia.
Diferenças de comportamento em relação às tabelas globais MREC
-
A versão prévia de MRSC está disponível em um conjunto limitado de regiões.
-
Uma tabela global MRSC deve conter exatamente três tabelas de réplica.
-
É necessário criar uma tabela global MRSC adicionando duas tabelas de réplica a uma tabela existente de região única que não contenha dados.
-
Não é possível excluir uma única tabela de réplica de uma tabela global MRSC. Para excluir uma tabela global MRSC, você deve excluir duas tabelas de réplica em uma única ação, gerando uma tabela de região única. Depois, será possível excluir a tabela de região única restante.
-
Violações da chave de índice secundário global podem ocorrer além do período inicial de preenchimento.
Cotas
-
Uma Conta da AWS pode ter no máximo três tabelas globais com MRSC.
-
O throughput de gravação no modo de capacidade provisionada é limitado a 10 mil unidades de capacidade de gravação replicadas (rWCUs).
-
O throughput de leitura no modo de capacidade provisionada é limitado a 10 mil unidades de capacidade de leitura replicadas (RCUs).
-
O throughput de gravação no modo de capacidade sob demanda é limitado a 10 mil unidades de solicitação de gravação replicadas (rWRUs).
-
O throughput de leitura no modo de capacidade sob demanda é limitado a 10 mil unidades de solicitação de leitura (RRUs).