As tabelas globais do Amazon DynamoDB são um banco de dados totalmente gerenciado, com tecnologia sem servidor, multirregional e multiativo. As tabelas globais oferecem disponibilidade de 99,999%, maior resiliência de aplicações e melhor continuidade dos negócios. Como as tabelas globais replicam as tabelas do Amazon DynamoDB automaticamente nas regiões da AWS de sua preferência, é possível obter uma performance rápida e local de leitura e gravação.

No caso raro de falha de uma única região, não há necessidade de failover de banco de dados, pois a arquitetura multiativa das tabelas globais permite que os clientes leiam e gravem em qualquer tabela de réplica. As tabelas globais também eliminam o difícil trabalho de replicar dados entre regiões e de resolver conflitos de atualização para workloads multiativas. Além disso, as tabelas globais possibilitam que as aplicações permaneçam altamente disponíveis, mesmo no caso raro de isolamento ou degradação de uma região inteira.

É possível configurar tabelas globais no Console de Gerenciamento da AWS com a AWS Command Line Interface (AWS CLI) ou com o AWS CloudFormation. Não é necessário alterar a aplicação ao ler ou gravar em uma tabela global, pois as tabelas globais 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. Saiba mais sobre a configuração de tabelas globais no Guia do desenvolvedor do Amazon DynamoDB. Para obter mais informações sobre preços globais de tabelas, consulte as opções de preços do Amazon DynamoDB para uso sob demanda e provisionado.

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 têm o mesmo nome e chave primária. Quando os dados são gravados em alguma tabela de réplica, o DynamoDB replica automaticamente esses dados em todas as outras tabelas de réplica da 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. Sem tabelas globais, seria necessário criar uma tabela em cada região da AWS e escrever código para replicar as alterações de dados em cada tabela 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 de sua aplicação tenham acesso de baixa latência aos dados, onde quer que estejam localizados. No caso improvável de uma região da AWS ficar temporariamente indisponível, seus clientes ainda poderão acessar as tabelas de réplicas nas outras regiões.

Diagrama exibindo como as tabelas globais funcionam

Benefícios

Leia e grave localmente, acesse seus dados globalmente

A replicação multiativa e multirregional garante que as atualizações realizadas em uma tabela de réplica de uma região sejam replicadas para as tabelas de réplica de outras regiões. A replicação entre réplicas de tabelas em todas as regiões acaba sendo consistente. Isso significa que as leituras e gravações locais em tabelas de réplica na mesma região da aplicação podem alcançar uma forte consistência. Porém, as leituras de itens que estão em outras tabelas de réplica de uma região acabam sendo consistentes.

Performance

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 a performance de aplicações globais em escala.

Fácil de configurar e operar

As tabelas globais eliminam a complexidade e a carga operacional de implantar e gerenciar a replicação multiativa e multirregional no Amazon DynamoDB. Selecione as regiões nas quais você precisa dos dados replicados, e o DynamoDB dá conta do resto. As aplicações acessam as tabelas globais usando as APIs do DynamoDB e endpoints existentes.

Disponibilidade, durabilidade e tolerância a falhas multirregional

As tabelas globais foram criadas para oferecer disponibilidade de 99,999%. Se uma única região ficar isolada ou degradada, sua aplicação poderá redirecionar o tráfego para uma região diferente e executar leituras e gravações de acordo com uma tabela replicada diferente. É possível aplicar lógicas de negócio personalizadas para determinar quando redirecionar solicitações para outras regiões. 

Além disso, o Amazon DynamoDB monitora as gravações realizadas que ainda não foram propagadas para todas as tabelas replicadas. Quando uma região volta a ficar on-line, o Amazon DynamoDB retoma a propagação de qualquer gravação pendente daquela região para as tabelas replicadas em outras regiões, e vice-versa.

Consistência e resolução de conflitos

As alterações feitas em um item de uma tabela replicada serão replicadas em todas as outras réplicas da mesma tabela global. Em uma tabela global, um item recém-gravado normalmente é propagado em todas as tabelas replicadas em um segundo.  Em uma tabela global, cada tabela replicada armazena o mesmo conjunto de itens de dados. O Amazon DynamoDB não é compatível com replicação parcial de apenas alguns itens. Se as aplicações atualizarem o mesmo item em diferentes regiões aproximadamente ao mesmo tempo, pode haver conflitos.

Para resolver conflitos, as tabelas globais do Amazon DynamoDB usam uma reconciliação last-writer-wins entre as atualizações concomitantes, assim o Amazon DynamoDB determina o último a gravar com base no melhor esforço. Com esse mecanismo de resolução de conflitos, todas as réplicas concordam com a última atualização e convergem para um estado em que todas apresentem dados idênticos.

Conceitos básicos

Comece convertendo as tabelas existentes em tabelas globais ou criando uma nova tabela global, use o console do Amazon DynamoDB, a AWS CLI ou o AWS CloudFormation. Se você estiver começando a usar o Amazon DynamoDB, acesse a página Conceitos básicos do DynamoDB. Antes de começar, analise os preços das tabelas globais para capacidade sob demanda ou provisionada, conforme as necessidades de sua aplicação.

      Perguntas frequentes

      O que é uma tabela global do Amazon DynamoDB?

      Uma tabela global é uma coleção de uma ou mais tabelas de réplica que pertencem a uma única conta da AWS. Uma única tabela global do Amazon DynamoDB pode ter apenas uma tabela de réplica por região da AWS.

      O que é uma tabela de réplica do Amazon DynamoDB?

      Uma tabela de réplica é uma única tabela do DynamoDB. Cada tabela de réplica armazena o mesmo conjunto de itens de dados, tem o mesmo nome de tabela e o mesmo esquema de chave primária. Quando uma aplicação grava dados em uma tabela de réplica em uma região, o Amazon DynamoDB replica a gravação nas outas tabelas de réplica de outras regiões da AWS.

      Devo considerar as tabelas globais do Amazon DynamoDB para minha estratégia de continuidade dos negócios?

      Sim, as tabelas globais do Amazon Dynamo reforçam a continuidade dos negócios, pois aumentam a resiliência da aplicação e proporcionam forte consistência para uma única região. Como as tabelas globais são multiativas, a aplicação pode ler ou gravar em qualquer tabela de réplica. No caso raro de um evento regional não planejado, a aplicação poderá redirecionar para outra réplica.

      Como tornar a tabela do Amazon DynamoDB global?

      É possível criar uma tabela global usando o console do Amazon DynamoDB, a AWS CLI ou o AWS CloudFormation com este guia detalhado.

      Quais são os pré-requisitos para as tabelas globais do Amazon DynamoDB?

      Antes de adicionar outra réplica em uma região diferente a uma tabela global do Amazon DynamoDB, a tabela deve ter o DynamoDB Streams habilitado, ter o mesmo nome de todas as outras réplicas, ter a mesma chave de partição de todas as outras réplicas, ter as mesmas configurações de capacidade de gravação especificadas e não deve conter dados.

      Os nomes de tabelas do Amazon DynamoDB são exclusivos globalmente?

      Todas as tabelas de réplica de uma tabela global do Amazon DynamoDB devem ter o mesmo nome.

      Qual é a diferença entre a tabela do Amazon DynamoDB e a tabela global?

      De forma semelhante a outros bancos de dados, o Amazon DynamoDB armazena dados em tabelas. A tabela é uma coleção de itens, e cada item é uma coleção de atributos. O Amazon DynamoDB usa chaves primárias para identificar de forma exclusiva cada item de uma tabela e tem índices secundários para fornecer mais flexibilidade de consulta.

      Por outro lado, uma tabela global do Amazon DynamoDB é uma coleção de uma ou mais tabelas de réplica que pertence a uma única conta da AWS. Cada tabela de réplica é estruturalmente igual a uma tabela normal do Amazon DynamoDB.

      A recuperação para um ponto no tempo está disponível nas tabelas globais do Amazon DynamoDB?

      Sim, é possível habilitar a recuperação para um ponto no tempo em cada réplica de uma tabela global.

      Práticas recomendadas

        Histórias de sucesso dos clientes

        "Quando começou a pandemia da COVID-19, havia uma demanda enorme para nossos serviços de voz e vídeo. No início de 2020, observamos um crescimento de uso sem precedentes de 10M para 300M de participantes em reuniões diárias de clientes novos e existentes que precisavam de se conectar virtualmente. No backend, conseguimos gerenciar esse aumento com o Amazon DynamoDB para reuniões por Zoom. Usando as tabelas globais do DynamoDB em conjunto com o modo sob demanda nos permitiu escalar quase infinitamente sem problemas de performance, mesmo com nosso pico repentino de uso."

        Yasin Mohammed, gerente de engenharia, operações na nuvem na Zoom Video Communications, Inc.

        “A replicação de dados em diferentes regiões é um problema muito complicado, e podemos usar as tabelas globais do Amazon DynamoDB para fazer isso com facilidade.”

        Saral Jain, diretor de engenharia e diretor de infraestrutura da Snap Inc.

        Leia o estudo de caso »

        Disney+

        A equipe de descoberta de conteúdo por trás do Disney+ usa as tabelas globais do DynamoDB para ajustar escala e fornecer recursos populares como Continue assistindo, Minha lista e Recomendações personalizadas.

        Assista ao vídeo »

        Saiba mais sobre as tabelas globais
        Saiba mais sobre as tabelas globais do DynamoDB

        Guia do desenvolvedor do Amazon DynamoDB.

        Saiba mais 
        Cadastre-se para obter uma conta gratuita
        Cadastre-se para obter uma conta gratuita

        Obtenha acesso instantâneo ao nível gratuito da AWS. 

        Cadastrar-se 
        Comece a criar no console
        Comece a criar no console

        Comece a criar com tabelas globais do DynamoDB no console do DynamoDB.

        Comece a criar