Como definir a chave de classificação do DynamoDB

Como Definir A Chave De Classificacao Do Dynamodb



O DynamoDB continua a crescer em popularidade por sua capacidade de organizar os dados em tabelas. Além das tabelas, o DynamoDB possui as chaves primárias que auxiliam na usabilidade do banco de dados e na conveniência de processar as consultas e verificações em sua tabela ou banco de dados.

Entender como definir as chaves de classificação do DynamoDB ao criar tabelas ajuda muito a organizar seus dados. Ainda mais, melhora a eficiência de recuperação de seus dados sempre que você precisar de alguma coisa.

Este artigo se concentra nas chaves de classificação do DynamoDB. Além de discutir o que são as chaves de classificação do DynamoDB, também discutiremos como defini-las e usá-las.







O que são chaves de classificação do DynamoDB e quando elas são aplicáveis?

As chaves de classificação são atributos usados ​​no DynamoDB para organizar os itens em uma partição. Normalmente, vários itens podem ter valores de chave de partição semelhantes, mas valores de chave de classificação diferentes. Obviamente, o DynamoDB oferece suporte ao uso apenas das chaves de partição e à combinação de chaves de partição e chaves de classificação em uma única tabela.



Nesses casos, a chave primária consiste em uma chave de partição e uma chave de classificação, com seus valores sendo um productID e productType, respectivamente. Essa combinação de atributos, conhecida como chave composta, torna a recuperação dos itens mais fácil e eficiente. Além disso, a chave de partição usa a função HASH interna enquanto a chave de classificação usa a função RANGE.



Guia passo a passo sobre como configurar uma chave de classificação nas tabelas do Dynamo DB

Assim como acontece com as chaves de partição, a criação de chaves de classificação do DynamoDB ocorre quando você configura a tabela do DynamoDB. Ambos os casos envolvem a criação de um esquema de chave primeiro. Como as chaves de classificação não são independentes e funcionam em conjunto com as chaves de partição na chave composta primária ou na combinação de chaves de intervalo de hash, você começa criando uma chave de partição para sua tabela.





Etapa 1: criar uma chave de partição para sua tabela

As chaves de classificação têm um relacionamento direto com as chaves de partição. E como a chave de partição é a mais dominante no arranjo do DynamoDB, comece criando a chave de partição depois de inserir o nome da tabela. Você pode usar a seguinte sintaxe abreviada:

AttributeName=string,KeyType=string...

O tipo de atributo na sintaxe abreviada pode ser um String(S), Número(N) ou Binário(B). Mas se você achar a sintaxe abreviada complicada para definir sua chave de partição, poderá usar a seguinte sintaxe JSON:



[
{
'Nome do Atributo': 'string',
'Tipo de chave': 'HASH'
}
...
]

Etapa 2: adicionar uma chave de classificação

Prossiga para adicionar uma chave de classificação usando a seguinte sintaxe JSON. Uma chave de classificação não deve ser um ID. Em vez disso, use um tipo de atributo.

[
{
'Nome do Atributo': 'string',
'Tipo de chave': 'RANGE'
}
...
]

Observe que usamos a função HASH ao criar uma chave de partição do DynamoDB. Agora, usamos a função RANGE ao configurar a chave de classificação do DynamoDB.

No Console de gerenciamento da AWS, você tem as opções de adicionar uma chave de classificação, marcá-la conforme mostrado e adicionar sua chave. Por exemplo, podemos ter customer_ID ou order_ID como a chave de partição e invoice_number como a chave de classificação em uma tabela para Novos Pedidos.

Consulte a seguinte ilustração:

É importante observar que os atributos de chave de partição e de chave de classificação podem estar na forma de String(S), Number(N) ou Binary(B).

Em Java, uma tabela de música com entradas de chave de partição e chave de classificação deve ter a seguinte aparência:

pacote com.dynamoDbDemo.entity;
import com.amazonaws.services.dynamodbv2.datamodeling.*;

@DynamoDBTable(tableName = 'Música')
classe pública Música {
Artista de Cordas privado;
private String songTitle;

@DynamoDBHashKey(attribute)
}

public void setSongTitle(String SongTitle) {
this.songTitle = songTitle;
}

@DynamoDBRangeKey(attribute) // chave de classificação

public String getSongTitle() {
return songTitle;
}

public void setSongTitle(String songTitle) {
this.songTitle = songTitle;
}

Nas linhas de comando anteriores, DynamoDBTable é a anotação Java usada para mapear uma propriedade para o atributo da tabela, enquanto a anotação DynamoDBHashKey atribui uma chave de partição. Da mesma forma, a anotação DynamoDBRangeKey dedica um item ao atributo de chave de classificação. Você pode adicionar outros atributos não primários à sua tabela.

Conclusão

Este guia discute como configurar uma chave de classificação em uma tabela do DynamoDB. Observe que você não pode alterar seus atributos de chave de classificação depois de criá-los. Novamente, é essencial observar que o DynamoDB consultará apenas suas tabelas e índices usando uma chave de partição e uma chave de classificação juntas. Você não pode usar as chaves de classificação sozinhas para consultar suas tabelas. Certifique-se de especificar a chave de partição primeiro.