Come impostare le chiavi di partizione DynamoDB

Come Impostare Le Chiavi Di Partizione Dynamodb



La produttività di qualsiasi database si basa sull'accessibilità dei dati poiché la ricerca di un elemento da più oggetti può rivelarsi frenetica. Spesso, il modo in cui si interroga il database è sempre una considerazione seria. Le chiavi di partizione sono i tuoi punti di ingresso primari in DynamoDB ogni volta che desideri eseguire query altamente efficienti.

Di solito, le chiavi di partizione tra le tabelle sono univoche. Pertanto, è impossibile avere due o più elementi con la stessa chiave di partizione in una tabella, ma può verificarsi il contrario se utilizzato negli indici. Inoltre, le chiavi di partizione non possono essere modificate una volta creata una tabella poiché sono immutabili.







Questo articolo discute le chiavi di partizione. Ci concentreremo sul motivo per cui hai bisogno delle chiavi di partizione e sulle migliori pratiche da seguire quando le imposti. Infine, esamineremo in che modo le chiavi di partizione DynamoDB sono essenziali.



Che cos'è una chiave di partizione DynamoDB e perché è importante?

Una chiave di partizione è una semplice chiave primaria in DynamoDB, spesso costituita da un singolo attributo. Ogni elemento in una tabella DynamoDB ha una chiave di partizione univoca per abilitare processi di query veloci ed efficienti.



Puoi accoppiare una chiave primaria con una chiave di ordinamento per creare una chiave primaria composita contenente due attributi. Se utilizzati insieme, è possibile organizzare tutti i dati in una chiave di partizione utilizzando il valore della chiave di ordinamento.





Poiché DynamoDB riserva i dati come un consorzio di attributi chiamati elementi, gli attributi hanno chiavi di valore primarie univoche per una facile accessibilità. In particolare, gli elementi in DynamoDB sono simili a record, campi, colonne o righe nella maggior parte dei sistemi di database.

Inoltre, DynamoDB consente di distribuire i dati in partizioni fino a 10 GB di unità di archiviazione. Ogni tabella può quindi avere una o più partizioni. È possibile utilizzare il valore di una chiave di partizione come input per la funzione hash interna del database, con l'output della funzione hash che determina la partizione in cui è archiviato l'elemento. Inoltre, la posizione di un elemento determina la partizione in cui è memorizzato.



Come impostare le chiavi di partizione DynamoDB

L'impostazione delle chiavi di partizione può essere un compito in salita se non hai ancora compreso il concetto. Tuttavia, questo processo può essere semplice ed efficiente una volta raccolti i suggerimenti e i trucchi necessari. Di seguito sono riportate alcune delle migliori pratiche da seguire durante l'impostazione delle chiavi di partizione:

1. Scegli le chiavi di partizione corrette

Il tipo di chiavi di partizione determina la praticità e l'efficienza dell'interrogazione dei dati. Sono i punti di ingresso principali per interrogare i dati e la definizione dei modelli di accesso di ciascuna applicazione è fondamentale.

È consigliabile utilizzare gli attributi ad alta cardinalità durante la configurazione delle chiavi di partizione DynamoDB. Gli attributi ad alta cardinalità presentano i valori distinti per ogni elemento e possono includere employee_id, employee_no, order_id, emailid, customerid o orderid.

2. Utilizzare la convenzione di denominazione PK

Le chiavi di partizione utilizzano spesso la convenzione di denominazione pk. Questo metodo di denominazione garantisce un preciso meccanismo di denominazione senza discriminazioni in base al tipo o al modello dell'elemento rappresentato.

Ad esempio, mentre potresti essere tentato di utilizzare postID e userID come chiavi di partizione per i modelli Post e User in una tabella, DynamoDB consente solo una chiave di partizione per ogni tabella. Pertanto, non è possibile utilizzarne due in una singola tabella. Si noti che le tabelle senza chiavi di ordinamento possono avere chiavi di partizione ID.

3. Usa attributi compositi

Alcune tabelle beneficiano maggiormente delle chiavi composite. Vale a dire che hai bisogno di più di un singolo attributo per formare le chiavi univoche. Ad esempio, puoi utilizzare comodamente customer_ID, country_code e product_ID per formare una chiave di partizione (customerid#countrycode#productid). Allo stesso tempo, puoi utilizzare order_id come chiave di ordinamento.

4. Aggiungi numeri casuali in modo appropriato

Se ti aspetti un enorme volume di scritture per ogni chiave, l'utilizzo di un prefisso o suffisso aggiuntivo rende più efficienti i casi di uso intenso. Ad esempio, puoi utilizzare il numero della fattura insieme a una serie di numeri casuali come chiave di partizione. Ricorda di separare le varie sezioni della tua chiave di partizione. Ad esempio, InvoiceNumber#125656#0 come chiave di partizione è ideale per un uso intenso con migliaia di scritture al secondo.

Crea una chiave di partizione DynamoDB

Come le chiavi di ordinamento, la creazione di una chiave di partizione in DynamoDB comporta la creazione di uno schema di chiavi per la tua tabella. Naturalmente, questo accade quando crei una tabella. Ciò comporta spesso la descrizione dell'attributo utilizzando il nome dell'attributo accanto al tipo di attributo. La seguente sintassi aiuterà:

AttributeName=stringa,KeyType=stringa ...

Nella sintassi data, il nome dell'attributo è il nome effettivo dell'attributo mentre il tipo di attributo può essere una stringa (S), un numero (N) o un binario (B).

Puoi anche scegliere di utilizzare una sintassi JSON come mostrato di seguito:

[

{

'AttributeName': 'stringa',

'KeyType': 'HASH'

}

...

]

Qualunque sia la sintassi scelta, il ruolo dell'attributo assume la funzione HASH perché stiamo creando una chiave di partizione. Al contrario, il tipo di chiave assume una funzione RANGE durante la creazione delle chiavi di ordinamento.

Infine, è anche possibile modificare una chiave di partizione utilizzando la seguente utility:

DynamoDBClient.updateItem({
'NomeTabella': 'mioNome_Tabella',
'Chiave': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :emailaddress',
'ExpressionAttributeNames': {
'#email': 'indirizzo email'
},
'ExpressionAttributeValues': {
':indirizzo e-mail': {
'S': ' [e-mail protetta] '
}
}
})

L'utilità data aggiorna il tuo attributo email in modo che assomigli a quello che hai nel file [e-mail protetta] per l'elemento in cui la chiave di partizione (pk) è uguale a my_PartitionKey.

Conclusione

Quando si configurano le chiavi di partizione DynamoDB, non esiste un unico metodo universale. La creazione e l'utilizzo delle chiavi di partizione dipendono dal caso d'uso. Inoltre, puoi esaminare i vari approcci disponibili e trovare quello più appropriato per la tua applicazione. Assicurati di aderire alle linee guida fornite.