Pular para o conteúdo principal

Amazon DynamoDB

O que são tabelas globais?

As tabelas globais do DynamoDB são um banco de dados totalmente gerenciado, com tecnologia sem servidor, multirregional e multiativo. As tabelas globais fornecem até 99,999% de disponibilidade, maior resiliência para aplicações e continuidade de negócios aprimorada. Como as tabelas globais replicam suas tabelas automaticamente nas regiões da AWS de sua escolha, você pode obter um desempenho rápido e local de leitura e gravação.

Caso o processamento da aplicação seja interrompido em uma região, não há necessidade de realizar o failover do banco de dados, pois a arquitetura multiativa das tabelas globais possibilita que os clientes realizem operações de leitura e de gravação em qualquer tabela réplica. As tabelas globais também eliminam o difícil trabalho de resolver conflitos de atualização para workloads multirregionais.

As tabelas globais oferecem suporte aos modos forte e eventual para consistência multirregional. A forte consistência multirregional oferece o mais alto nível de resiliência de aplicações e permite que as aplicações dos clientes estejam sempre disponíveis e sempre leiam os dados mais recentes de qualquer região. Agora você pode desenvolver aplicações com um objetivo de ponto de recuperação igual a zero. Com a consistência multirregional eventual, você pode criar réplicas em uma única conta da AWS ou em várias contas da AWS. 

Como funciona

Uma tabela global do DynamoDB é composta por várias tabelas de réplica. Cada tabela de réplica existe em uma região diferente, mas todas as réplicas compartilham o mesmo esquema de chave primária. Quando os dados são gravados em qualquer tabela de réplica, o DynamoDB realiza automaticamente a replicação desses dados para todas as demais tabelas de réplica na tabela global.

Por exemplo, suponha que sua aplicação atenda a uma grande base de clientes espalhadas entre três regiões geográficas: Costa Oeste dos EUA, Canadá e Europa Ocidental. Na ausência de tabelas globais, seria necessário criar uma tabela em cada região da AWS e realizar a gravação de um código para replicar as alterações dos dados entre as tabelas de cada região.

Com tabelas globais, é possível criar uma tabela global com uma tabela de réplica nas três regiões mais próximas de cada área geográfica. O DynamoDB replicará automaticamente as alterações de qualquer réplica para as réplicas nas outras regiões.

As tabelas globais permitem que os usuários da aplicação tenham acesso de baixa latência aos dados, independentemente do local em que estejam. Caso o processamento da aplicação seja interrompido em uma região, os clientes poderão continuar acessando as tabelas de réplica nas demais regiões.

Ao criar uma tabela global, você pode escolher entre consistência forte ou consistência eventual. Uma tabela global configurada para uma consistência multirregional forte oferece a capacidade de realizar uma leitura altamente consistente em várias regiões. A configuração padrão é consistência eventual multirregional.

Para tabelas globais configuradas usando o modo de consistência eventual multirregional, você pode criar réplicas em uma única conta da AWS ou em várias contas da AWS. As tabelas globais de várias contas replicam automaticamente as tabelas em várias contas e regiões, oferecendo maior resiliência, segurança e governança. Elas são ideais para clientes que adotam estratégias de várias contas ou usam o AWS Organizations para melhorar o isolamento de segurança, aplicar barreiras de proteção de perímetro de dados, implementar a recuperação de desastres ou separar workloads por unidade de negócios.

Começar a usar tabelas globais é fácil, pois elas usam as mesmas APIs do DynamoDB que as tabelas de uma única região. Não há custos ou compromissos adiantados para usar as tabelas globais, e você paga apenas pelos recursos que utilizar. Você pode configurar tabelas globais no Console de Gerenciamento da AWS com a AWS CLI ou com o AWS CloudFormation. Também é fácil converter sua tabela de região única em tabelas globais.

Missing alt text value

Benefícios das tabelas globais

    As tabelas globais foram projetadas para oferecer disponibilidade de 99,999%. Se uma única região ficar isolada ou degradada, sua aplicação poderá transferir o tráfego para outra região e realizar leituras e gravações em uma tabela de réplica diferente. É possível aplicar lógicas de negócio personalizadas para determinar quando redirecionar solicitações para outras regiões. Além disso, com o modo de consistência multirregional forte, sua aplicação sempre lerá os dados mais recentes de qualquer região.

    As tabelas globais eliminam a complexidade e a carga operacional de implantar e gerenciar a replicação multiativa e multirregional no DynamoDB. Selecione as regiões em que você precisa dos dados replicados, e o DynamoDB lida com o resto. Você pode escolher entre consistência eventual ou consistência forte para replicação entre réplicas de tabela em todas as regiões. Com uma consistência multirregional forte, você não precisa mais se preocupar com a consistência ou a recuperação de dados durante operações de failover.

    Você também pode escolher criar réplicas em uma única conta da AWS ou em várias contas da AWS. Com tabelas globais de várias contas, você pode criar aplicações em todas as contas para um isolamento mais forte, melhor segurança e governança e maior resiliência operacional, o que está alinhado com o AWS Well-Architected Framework. As aplicações acessam as tabelas globais usando endpoints existentes e APIs do DynamoDB.

    As tabelas globais agora podem ser configuradas tanto para uma consistência forte quanto para uma consistência eventual. A consistência forte garante que leituras altamente consistentes reflitam a gravação mais recente, enquanto a consistência eventual apresenta um breve intervalo até que todas as réplicas reflitam a última atualização, em troca de menor latência em leituras e gravações locais.

    No modo de consistência multirregional forte, o DynamoDB garante que uma gravação confirmada com êxito em qualquer réplica em qualquer região esteja imediatamente disponível para leitura em qualquer outra réplica. Caso uma operação de gravação tente modificar um item que já esteja sendo alterado em outra região, essa operação falhará com uma exceção passível de repetição.

    No modo de consistência eventual multirregional, o DynamoDB replica uma gravação em qualquer réplica em qualquer região para todas as outras réplicas, geralmente em um a dois segundos. Se o mesmo item for modificado em várias regiões, o DynamoDB resolverá o conflito usando o método de resolução last-writer-win.

    Com as tabelas globais, você lê e grava dados localmente fornecendo uma latência de milissegundo de digito único para sua aplicação distribuída globalmente, em qualquer escala. Isso pode aumentar o desempenho de aplicações globais em escala.