Como usar índices secundários globais do DynamoDB

Como usar índices secundários globais do DynamoDB
Os índices secundários globais do DynamoDB são índices que contêm teclas de classificação e teclas de partição diferentes da chave primária da tabela base. Eles derivam seu nome "global" do fato de permitir que o acesso a dados de várias partições da tabela de base durante as operações de consulta.

Os índices secundários globais são adequados para aplicações e programas que podem precisar executar vários tipos de consultas usando conjuntos de diferentes atributos como critérios de consulta. Os índices secundários globais suportam tais aplicativos. Criar um ou mais GSIs em sua mesa ajudará você a emitir as solicitações de consulta contra os índices no Amazon DynamoDB.

Notavelmente, uma tabela de dynamoDB pode ter vários índices secundários globais. Isso é incrivelmente valioso para aplicativos, pois ter várias chaves secundárias em uma única tabela melhora o acesso de dados usando os atributos que não sejam as chaves primárias. Além disso, o GSIS pode suportar atributos não únicos, dando mais flexibilidade, permitindo que você execute as consultas contra atributos não-chave.

Como criar um índice secundário global

Embora você possa criar um índice secundário global quando você criar uma tabela inicialmente, como é comum ao criar índices secundários locais, você também tem a flexibilidade de adicionar um índice secundário global depois de criar uma tabela. Quando você escolhe o método anterior, o DynamoDB preenche automaticamente seu GSI usando os dados na tabela já criada.

Vamos discutir brevemente os dois métodos:

a. Criando um índice secundário global para uma nova tabela

Você pode criar um GSI usando o AWS Management Console. Faça login na sua conta da AWS no console e clique no DynamoDB.

Clique nas tabelas e vá para a seção Criar Tabela, como você normalmente faz ao criar uma nova tabela. Esta seção permite que você personalize suas tabelas adequadamente. Nomeie sua tabela conforme desejado e clique em Configurações personalizadas.

Uma nova seção aparece na parte inferior da página anterior quando você clica em configurações personalizadas. A nova interface permite que você crie os índices secundários ou secundários locais. Clique na caixa "Criar índice global" e continue.

A etapa anterior conduz você na seção final, onde você precisa fornecer os detalhes do seu índice secundário global definindo sua chave de partição, nome de índice, chave de classificação e projeções de atributo.

b. Crie um índice secundário global para uma tabela existente

Existem duas opções para criar um índice secundário global - os comandos da AWS CLI ou usando o AWS Management Console. Usar o comando da CLI é bem direto. Tudo que você precisa é o comando de nome-índice e definir seu nome de tabela no comando.

AWS DynamoDB Update-Table \
--coleção de músicas de nome de mesa \
--atributo-definições atributeName = nome, atributeType = s \
--Updates globais-secundários Índice \
"[" Create ": " indexName ":" Name-index "," Keyschema ": [" atributeName ":" Name "," KeyType ":" Hash "], \
"Provisionedthroughput": "readcapacityUnits": 10, "writeCapacityUnits": 5, "projeção": "projectionType": "all"] "

Se você deseja usar o console de gerenciamento da AWS, acesse sua lista de tabelas, escolha a tabela na qual pretende criar um índice secundário global e navegue até a guia Indexos. Clique na guia "Criar índice".

Clicar na guia "Criar índice" leva você ao Assistente de índice secundário global, onde você personaliza seu índice com os atributos relevantes.

Usando tabelas secundárias globais do Dynamo

A seguir, alguns dos índices secundários globais do DynamoDB casos de uso:

a. Consultando o Índice Secundário Global

Você pode usar o comando de consulta da API do DynamoDB para executar as operações de consulta em seus índices secundários globais. O comando de consulta é como mostrado no seguinte:

AWS DynamoDB Consulta \
--coleção de músicas de nome de mesa \
--Índice-name Songtitle-Index \
--Expressão-chave "SongTitle =: Name" \
--Expression-attribute-values ​​'": name": "s": "Topping Charts"' '
"Capacidade consumida": nula

b. Examinando as tabelas secundárias globais do DynamoDB

Você também pode executar uma operação de varredura no seu GSI usando o comando DynamoDB Scan. Geralmente, o comando de varredura se parece com o seguinte:

$ AWS DynamoDB Scan \
--coleção de músicas de nome de mesa \
--indicador de nomes de índice \
$ Local

c. Projeções de atributo

Projeções são conjuntos de atributos que são copiados de tabelas para índices secundários. Geralmente, as chaves de partição, as teclas de classificação e vários outros atributos estão entre os mais projetados em índices para apoiar os requisitos de consulta de seus aplicativos.

Consultar um índice permite que o AmaloDB acesse quaisquer atributos na projeção, como ele acesse os atributos que estão em suas tabelas independentes. Certifique -se de especificar os atributos que serão projetados em seu índice. As três opções fornecidas pelo DynamoDB incluem o seguinte:

  • Keys_only- isso consiste nos menores índices secundários possíveis, com cada item no índice contendo apenas a chave de classificação e os valores-chave da partição da tabela, bem como os valores da chave do índice.
  • Incluir- Esta opção possui todos os atributos na categoria keys_only e quaisquer outros atributos que não sejam de chave que você especificar.
  • Tudo- esta opção tem todos os atributos da sua tabela de origem.

Conclusão

Isso nos leva ao final deste tutorial. Você achará o DynamoDB bastante útil para qualquer desenvolvedor dedicado da explicação. Não se apresse e aprenda a criar e usar as tabelas secundárias globais do DynamoDB.