Como usar tabelas globais do DynamoDB

Como usar tabelas globais do DynamoDB
Uma tabela global do DynamoDB refere -se a uma coleção de uma única ou várias mesas pertencentes a uma conta da AWS. As tabelas globais ajudam a organizar uma coleção de atributos que são construídos e estacionados na pegada global do DynamoDB e fornece aos proprietários de contas um banco de dados totalmente gerenciado, multi-ativo e multi-region.

Eles se destacam em sua capacidade de oferecer performances locais e rápidas de leitura e gravação para funções e aplicativos globais altamente escalados. Também conhecido como réplicas, essas tabelas copiam a estrutura e o conteúdo de suas tabelas de dynamoDB nas regiões da AWS de sua escolha.

Este artigo discute o que são tabelas de réplica, seus benefícios e como usá -los. Mais importante, discutiremos como criar e usar a tabela global do DynamoDB.

O que são tabelas de réplica?

Uma tabela de réplica, ou réplica, é uma tabela de dynamoDB que faz parte de uma tabela global. Cada tabela de réplica armazena um conjunto semelhante de dados. É interessante.

Todas as réplicas em uma tabela global devem ter o mesmo esquema de chave primária e nome da tabela. Quando você adiciona dados a uma tabela de réplicas em uma determinada região, o aplicativo replica e propaga automaticamente os dados para as outras regiões.

Mas, apesar de conter várias réplicas, o DynamoDB trata cada tabela como uma única unidade. Você sempre pode adicionar mais réplicas à sua tabela global, disponível em outras regiões da AWS. Permite gravações e leituras paralelas em todas as regiões.

Como as tabelas do DynamoDB funcionam: usando uma tabela de dynamoDB

Assumimos que você já tem uma conta da AWS, e um de seus serviços principais na conta é um dynamoDB. Assumimos que você sabe como criar as tabelas do DynamoDB. Observe que as tabelas do DynamoDB são diferentes das tabelas globais do DynamoDB.

Você pode começar fazendo login em sua conta e criando uma tabela de dynamoDB como você normalmente faz. Neste tutorial, usamos o console da AWS para criar uma tabela, mas você pode escolher CloudFormation, Dynobase ou qualquer outro que você se sinta confortável usando.

Passo 1: Crie uma nova tabela de dynamoDB.

Queremos criar uma tabela de réplicas de nós leste (n. Virgínia). Todos os fluxos do DynamoDB estão ativados (new_and_old_images). Nosso nome de tabela é coleção de filmes.

AWS DynamoDB Create-Table \
--Coleção de filmes de nome de mesa \
--Definições de atributo \
AtributeName = estrelado, atributeType = s \
AtributeName = movietitle, atributeType = s \
--Schema-chave \
AtributeName = estrelado, keytype = hash \
AtributeName = movietitle, keytype = range \
--provisionado-throughput \
ReadCapacityUnits = 20, WriteCapacityUnits = 10 \
--Specificação de fluxo com streamilabled = true, streamviewType = new_and_old_images \
--Região EUA-East-1

Passo 2: Crie uma tabela idêntica denominada coleção de filmes do East (Ohio). Ative os fluxos do DynamoDB, como mostrado no primeiro exemplo.

AWS DynamoDB Create-Table \
--Coleção de filmes de nome de mesa \
--Definições de atributo \
AtributeName = estrelado, atributeType = s \
AtributeName = movietitle, atributeType = s \
--Schema-chave \
AtributeName = estrelado, keytype = hash \
AtributeName = movietitle, keytype = range \
--provisionado-throughput \
ReadCapacityUnits = 20, WriteCapacityUnits = 10 \
--Specificação de fluxo com streamilabled = true, streamviewType = new_and_old_images \
--Região EUA-East-2

etapa 3: Use as duas réplicas para criar uma tabela global denominada coleção de filmes.

AWS DynamoDB Create-Global-Table \
--Coleção de filmes de nome de mesa global \
--Replicação-Group RegionName = US-EAST-1 RegionName = US-East-2 \
--Região EUA-East-1

Passo 4: Adicione outra tabela de uma Europa diferente, digamos n. Califórnia.

AWS DynamoDB Create-Table \
--Coleção de filmes de nome de mesa \
--Definições de atributo \
AtributeName = estrelado, atributeType = s \
AtributeName = movietitle, atributeType = s \
--Schema-chave \
AtributeName = estrelado, keytype = hash \
AtributeName = movietitle, keytype = range \
--provisionado-throughput \
ReadCapacityUnits = 20, WriteCapacityUnits = 10 \
--Specificação de fluxo com streamilabled = true, streamviewType = new_and_old_images \
--Região US-West-1

Você pode adicionar a tabela à tabela global que foi criada anteriormente. Isso implica que sua tabela global agora tem três réplicas:

AWS DynamoDB Update-Global-Table \
--Coleção de filmes de nome de mesa global \
--réplica updates 'create = RegionName = US-West-1' \
--Região EUA-East-1

Etapa 5: Verifique a replicação adicionando um novo item de uma região diferente, digamos Europa (Irlanda). Você pode usar a chamada da API PutItem para esta operação.

AWS DynamoDB put-Item \
--Coleção de filmes de nome de mesa \
--Item '"Starring": "S": "Item_1", "Movietitle": "S": "Valor do filme 1"' \
--Região EU-WEST-2

Você pode esperar por minutos e confirmar se suas atualizações foram bem -sucedidas em qualquer regiões anteriores. Usamos a região dos EUA leste (Virgínia do Norte).

AWS DynamoDB Get-Item \
--Coleção de filmes de nome de mesa \
--key '"Starring": "S": "Item_1", "Movietitle": "S": "Valor do filme 1"' \
--Região EUA-East-1

Benefícios do uso de tabelas do DynamoDB

A seguir, são apresentados os principais benefícios das tabelas globais do DynamoDB:

  1. Ele permite que você leia e escreva os dados localmente, permitindo acesso global aos dados.
  2. Eles são duráveis, confiáveis ​​e não propensos a falhas de várias regiões.
  3. As tabelas globais são ideais para organizações que desejam melhorar seu desempenho, pois você pode distribuir os dados em escalas sem precedentes.
  4. Eles aumentam a consistência e a resolução de conflitos imbatíveis.

Conclusão

Este tutorial, brevemente, vistas gerais sobre o uso, benefícios e atributos globais de dados do DynamoDB. Agora você pode criar e usar as tabelas do DynamoDB sem problemas. Boa sorte!