Como definir as chaves de partição do dynamoDB

Como definir as chaves de partição do dynamoDB

A produtividade de qualquer banco de dados depende da acessibilidade dos dados, pois a pesquisa de um item de vários objetos pode ser agitada. Muitas vezes, como você consulta o banco de dados é sempre uma consideração séria. As chaves de partição são seus principais pontos de entrada no DynamoDB sempre que você quiser fazer consultas altamente eficientes.

Geralmente, as teclas de partição nas mesas são únicas. Assim, é impossível ter dois ou mais itens com a mesma chave de partição em uma tabela, mas o inverso pode acontecer quando usado em índices. Além disso, as chaves de partição são impossíveis de mudar quando você criar uma tabela, pois elas são imutáveis.

Este artigo discute sobre as chaves de partição. Vamos nos concentrar no motivo pelo qual você precisa das chaves da partição e as melhores práticas a seguir ao defini -las. Finalmente, examinaremos como as chaves de partição do dynamoDB são essenciais.

O que é uma chave de partição do dynamoDB e por que é importante?

Uma chave de partição é uma chave primária simples no DynamoDB, geralmente consistindo em um único atributo. Cada item em uma tabela de dynamoDB tem uma chave de partição exclusiva para ativar os processos de consulta rápida e eficiente.

Você pode emparelhar uma chave primária com uma chave de classificação para fazer uma chave primária composta contendo dois atributos. Quando usado em conjunto, você pode organizar todos os dados sob uma chave de partição usando o valor da chave de classificação.

Como o DynamoDB reserva os dados como um consórcio de atributos chamados itens, os atributos têm teclas de valor primário exclusivas para facilitar a acessibilidade. Notavelmente, os itens no DynamoDB são semelhantes a registros, campos, colunas ou linhas na maioria dos sistemas de banco de dados.

Além disso, o DynamoDB permite que você distribua os dados em partições de unidades de armazenamento de até 10 GB. Cada tabela pode, portanto, ter uma ou mais partições. Você pode usar o valor de uma chave de partição como entrada para a função de hash interna do banco de dados, com a saída da função de hash que determina a partição em que o item é armazenado. Além disso, a localização de um item determina a partição em que é armazenada.

Como definir as chaves de partição do dynamoDB

Definir as chaves de partição pode ser uma tarefa difícil se você ainda não estiver entendendo o conceito. No entanto, esse processo pode ser fácil e eficiente depois de reunir as dicas e truques necessários. A seguir, são apresentadas algumas das melhores práticas a seguir ao configurar as chaves de partição:

1. Escolha as chaves de partição certas

O tipo de chaves de partição determina a conveniência e eficiência de consultar seus dados. Eles são os principais pontos de entrada para consultar seus dados, e definir os padrões de acesso de cada aplicativo é crítico.

É aconselhável usar os atributos de alta cardicinalidade ao configurar suas chaves de partição do DynamoDB. Os atributos de alta cardicalidade apresentam os valores distintos para cada item e podem incluir o funcionário_id, funcionário_no, order_id, emailid, clientID ou OrderId.

2. Use a Convenção de Nomeação de PK

As chaves de partição costumam usar a Convenção de Nomeação PK. Este método de nomeação garante um mecanismo de nomeação preciso sem discriminar com base no tipo ou modelo de item representado.

Por exemplo, embora você possa ser tentado a usar o pós -id e o usuário do usuário como teclas de partição para modelos de postagem e usuário em uma tabela, o DynamoDB permite apenas uma chave de partição para cada tabela. Assim, você não pode usar dois em uma única tabela. Observe que as tabelas sem teclas de classificação podem ter teclas de partição de identificação.

3. Use atributos compostos

Algumas tabelas se beneficiam mais de chaves compostas. Ou seja, você precisa de mais do que um único atributo para formar as chaves exclusivas. Por exemplo, você pode usar convenientemente o cliente_id, country_code e product_id para formar uma chave de partição (customerID#countrycode#ProductId). Ao mesmo tempo, você pode usar o order_id como sua chave de classificação.

4. Adicione números aleatórios adequadamente

Se você espera um enorme volume de gravações para cada chave, o uso de um prefixo ou sufixo adicional torna os casos de uso pesado mais eficientes. Por exemplo, você pode usar o número da fatura juntamente com um conjunto de números aleatórios como sua chave de partição. Lembre -se de separar as várias seções da sua chave de partição. Por exemplo, o Invoicenumber#125656#0 como uma chave de partição é ideal para uso pesado com milhares de gravações por segundo.

Crie uma chave de partição do DynamoDB

Como as teclas de classificação, criar uma chave de partição no DynamoDB envolve a criação de um esquema chave para sua tabela. Claro, isso acontece quando você cria uma tabela. Isso geralmente envolve descrever seu atributo usando o nome do atributo ao lado do tipo de atributo. A sintaxe a seguir ajudará:

AtributeName = string, keytype = string…

Na sintaxe dada, o nome do atributo é o nome real do atributo, enquanto o tipo de atributo pode ser uma (s) string (s), número (n) ou um binário (b).

Você também pode optar por usar uma sintaxe JSON, como mostrado no seguinte:

[[

"Nome do atributo": "string",
"KeyType": "Hash"

..
]

Qualquer que seja a sintaxe que você escolher, o papel do atributo assume a função de hash porque estamos criando uma chave de partição. Pelo contrário, o tipo de chave assume uma função de intervalo ao criar as teclas de classificação.

Por fim, também é possível alterar uma chave de partição usando o seguinte utilitário:

DynamoDBClient.updateItem (
"Nome do table": "mytable_name",
"Chave":
"pk":
"S": "My_PartitionKey"

,
"UpdateExpression": "Definir #emailAddress =: emailAddress",
"ExpressionAttributeNames":
"#email": "emailaddress"
,
"ExpressionAttributeValues":
":endereço de email":
"S": "Endereço@domínio.com "


)

O utilitário fornecido atualiza seu atributo de email para se parecer com o que você tem no endereç[email protected] o item em que a chave da partição (PK) é igual a my_partitionKey.

Conclusão

Ao configurar as chaves de partição do dynamoDB, não existe um único método universal. Criar e usar as chaves de partição depende do caso de uso. Além disso, você pode analisar as várias abordagens disponíveis e encontrar a mais apropriada para o seu aplicativo. Certifique -se de aderir às diretrizes fornecidas.