Come impostare la chiave di ordinamento di DynamoDB

Come Impostare La Chiave Di Ordinamento Di Dynamodb



DynamoDB continua a crescere in popolarità per la sua capacità di organizzare i dati in tabelle. Oltre alle tabelle, DynamoDB ha le chiavi primarie che aiutano l'usabilità del database e la comodità che deriva dall'elaborazione delle query e scansioni attraverso la tabella o il database.

Comprendere come impostare le chiavi di ordinamento di DynamoDB durante la creazione delle tabelle è molto utile per organizzare i dati. Ancora di più, migliora l'efficienza del recupero dei tuoi dati ogni volta che hai bisogno di qualcosa.

Questo articolo si concentra sulle chiavi di ordinamento di DynamoDB. Oltre a discutere di cosa sono le chiavi di ordinamento di DynamoDB, parleremo anche di come impostarle e utilizzarle.







Cosa sono le chiavi di ordinamento di DynamoDB e quando sono applicabili?

Le chiavi di ordinamento sono attributi utilizzati in DynamoDB per organizzare gli elementi in una partizione. In genere, diversi elementi possono avere valori di chiave di partizione simili ma valori di chiave di ordinamento diversi. Ovviamente, DynamoDB supporta l'utilizzo delle sole chiavi di partizione e la combinazione di chiavi di partizione e chiavi di ordinamento in un'unica tabella.



In tali casi, la chiave primaria è costituita da una chiave di partizione e una chiave di ordinamento, i cui valori sono rispettivamente productID e productType. Questa combinazione di attributi, nota come chiave composita, rende il recupero degli elementi più semplice ed efficiente. Inoltre, la chiave di partizione utilizza la funzione HASH interna mentre la chiave di ordinamento utilizza la funzione RANGE.



Guida dettagliata su come impostare una chiave di ordinamento nelle tabelle DB di Dynamo

Come con le chiavi di partizione, la creazione delle chiavi di ordinamento DynamoDB avviene durante la configurazione della tabella DynamoDB. Entrambi i casi comportano la creazione di uno schema chiave prima. Poiché le chiavi di ordinamento non sono indipendenti e funzionano insieme alle chiavi di partizione nella chiave composita primaria o nella combinazione di chiavi hash-range, si inizia creando una chiave di partizione per la tabella.





Passaggio 1: crea una chiave di partizione per la tua tabella

Le chiavi di ordinamento hanno una relazione diretta con le chiavi di partizione. E poiché la chiave di partizione è la più dominante nella disposizione di DynamoDB, inizia creando la chiave di partizione dopo aver inserito il nome della tabella. È possibile utilizzare la seguente sintassi abbreviata:

AttributeName=stringa,KeyType=stringa ...

Il tipo di attributo nella sintassi abbreviata può essere a Stringa(S), Numero(N) o Binario(B). Ma se ritieni che la sintassi abbreviata sia ingombrante nell'impostazione della chiave di partizione, puoi utilizzare la seguente sintassi JSON:



[
{
'AttributeName': 'stringa',
'KeyType': 'HASH'
}
...
]

Passaggio 2: aggiungi una chiave di ordinamento

Procedi con l'aggiunta di una chiave di ordinamento utilizzando la seguente sintassi JSON. Una chiave di ordinamento non deve essere un ID. Utilizzare invece un attributo Type.

[
{
'AttributeName': 'stringa',
'KeyType': 'RANGE'
}
...
]

Tieni presente che abbiamo utilizzato la funzione HASH durante la creazione di una chiave di partizione DynamoDB. Ora, utilizziamo la funzione RANGE durante l'impostazione della chiave di ordinamento di DynamoDB.

Nella Console di gestione AWS, hai le opzioni per aggiungere una chiave di ordinamento, contrassegnarla come mostrato e aggiungere la tua chiave. Ad esempio, possiamo avere ID_cliente o ID_ordine come chiave di partizione e numero_fattura come chiave di ordinamento in una tabella per i nuovi ordini.

Fare riferimento alla seguente illustrazione:

È importante notare che sia la chiave di partizione che gli attributi della chiave di ordinamento possono essere sotto forma di String(S), Number(N) o Binary(B).

In Java, una tabella Music con voci sia della chiave di partizione che della chiave di ordinamento dovrebbe apparire così:

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

@DynamoDBTable(tableName = 'Musica')
classe pubblica Musica {
artista d'archi privato;
private String songTitle;

@DynamoDBHashKey(attribute)
}

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

@DynamoDBRangeKey(attribute) // chiave di ordinamento

public String getSongTitle() {
return songTitle;
}

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

Nelle righe di comando precedenti, DynamoDBTable è l'annotazione Java utilizzata per mappare una proprietà all'attributo table mentre l'annotazione DynamoDBHashKey attribuisce una chiave di partizione. Allo stesso modo, l'annotazione DynamoDBRangeKey dedica un elemento all'attributo chiave di ordinamento. Puoi procedere ad aggiungere altri attributi non primari alla tua tabella.

Conclusione

Questa guida illustra come impostare una chiave di ordinamento su una tabella DynamoDB. Si noti che non è possibile modificare gli attributi della chiave di ordinamento dopo averli creati. Ancora una volta, è essenziale notare che DynamoDB interrogherà solo le tabelle e gli indici utilizzando insieme una chiave di partizione e una chiave di ordinamento. Non puoi utilizzare solo le chiavi di ordinamento per interrogare le tue tabelle. Assicurati di specificare prima la chiave di partizione.