Panoramica delle chiavi primarie DynamoDB, tipi e configurazione

Panoramica delle chiavi primarie DynamoDB, tipi e configurazione

Poiché AWS DynamoDB è un database del valore chiave, ogni elemento in qualsiasi tabella deve avere un'identificazione della chiave primaria univoca. È importante notare che è necessario definire queste chiavi primarie mentre crei la tua tabella. Inoltre, è necessario fornire la chiave primaria per ciascun elemento mentre si inserisce l'elemento in una tabella.

Il prerequisito principale quando si imposta le chiavi primarie è unicità. Due o più elementi non possono avere una chiave primaria simile.

Questo articolo discute tutto ciò che devi sapere sulle chiavi primarie di DynamoDB. Discuteremo i vari tipi di chiavi primarie utilizzate in DynamoDB e come impostare ogni tipo.

Tipi di chiavi primarie DynamoDB

Esistono due tipi di chiavi primarie in DynamoDB:

UN. Chiave di partizione (semplice chiave primaria)

Conosciuta anche come semplice chiave primaria, una chiave di partizione è costituita da un attributo. DynamoDB utilizza il valore della chiave di partizione come input per una funzione hash interno. L'output dalla funzione hash determina la partizione (archiviazione fisica interna a DynamoDB) per la memorizzazione degli articoli.

Una semplice chiave primaria ricorda i tipici negozi di valore chiave come utilizzare una chiave primaria per accedere a una tabella SQL. Puoi anche associare attentamente le chiavi primarie per Memcached the Data Stores. Un eccellente esempio di una chiave di partizione è un User_Name o User_id in una tabella degli utenti.

Vedi il seguente esempio:

Tabella degli utenti

La tabella degli utenti forniti ha UserID come semplice chiave primaria o chiave di partizione. È possibile accedere facilmente ai dettagli di tutti gli articoli all'interno della tabella fornendo l'utente dell'articolo.

Ecco un esempio su come è possibile impostare una chiave di partizione in una tabella DynamoDB usando AWS SDK per Python (Boto3):

Importa Boto3
# Crea un client DynamoDB
DynamoDB = boto3.Client ('DynamoDB')
# Imposta il nome della tabella e l'attributo (colonna) su come utilizzare come chiave di partizione
table_name = 'mytable'
partitition_key_name = 'id'
# Definisci lo schema della tabella
Table_schema = [

'Attributetename': partitition_key_name,
'Keytype': 'hash'

"
# Crea la tabella con la chiave di partizione specificata
Risposta = DynamoDB.crea tabella(
Tablename = table_name,
Keyschema = table_schema,
Attributefinitions = [

'Attributetename': partitition_key_name,
'AttributeType': 's'

",
ProvisionEdThroughput =
"ReadCapacityUnits": 5,
"Writecapacityunits": 5

)
Stampa (risposta)

La sintassi data crea una tabella DynamoDB con un tasto di partizione denominato tipo "S" (String). Il KeyType di "Hash" specifica che questo attributo è la chiave di partizione.

Si noti che questo è solo un modo per impostare una chiave di partizione in DynamoDB. Puoi anche utilizzare la console di gestione AWS, la CLI AWS o altri metodi per creare una tabella con una chiave di partizione.

B. Chiave di partizione e chiave di ordinamento (tasti primari compositi)

Una chiave primaria composita contiene due attributi. Il primo attributo è la chiave di partizione e il secondo è la chiave di ordinamento. Combinando la chiave di partizione e la chiave di ordinamento forma un identificatore univoco per un elemento nella tabella.

Oltre alla chiave di partizione, è possibile utilizzare ulteriormente la chiave di ordinamento per restringere la ricerca di un elemento nella tabella. La chiave di ordinamento aiuta anche a determinare l'ordine in cui i dati vengono archiviati all'interno di una partizione. Vedi il seguente diagramma:

Tavolo da musica

La tabella precedente ha sia un attributo chiave di partizione che un attributo chiave di ordinamento. Pertanto, due elementi possono avere lo stesso valore della chiave di partizione ma hanno valori chiave di ordinamento diversi. I tasti compositi (artista e songtitle) nel tavolo della musica ti aiutano a ottenere un oggetto particolare.

È possibile creare una tabella con una chiave composita utilizzando i seguenti passaggi:

Passaggio 1: creare una chiave di partizione

Il primo passo è creare una chiave di partizione. Dopo aver inserito il nome della tabella, utilizzare la seguente sintassi per creare una chiave di partizione.

AttributeName = String, KeyType = String ..

La sintassi del tipo di attributo fornito può essere una stringa (S), numero (N) o binario (B).

Se trovi la sintassi abbreviata ingombrante nell'impostazione della chiave di partizione, è possibile utilizzare la seguente sintassi JSON:

[

"Attributetename": "stringa",
"KeyType": "Hash"

..
"

In alternativa, il comando Python che è discusso nella sezione precedente di questo articolo può aiutarti a creare una chiave di partizione.

Passaggio 2: crea una chiave di ordinamento

Ora puoi creare una chiave di ordinamento utilizzando la seguente sintassi JSON. Non utilizzare gli attributi ID per le chiavi di ordinamento. Invece, è possibile utilizzare un tipo di attributo.

[

"Attributetename": "stringa",
"KeyType": "Range"

..
"

Mentre utilizziamo la funzione hash durante la creazione di un tasto di partizione DynamoDB, ora utilizziamo la funzione di intervallo per impostare il tasto di ordinamento DynamoDB.

Conclusione

Scegliendo le chiavi primarie corrette per la tabella, è possibile recuperare e archiviare efficacemente i dati in DynamoDB. È essenziale considerare attentamente la chiave primaria durante la progettazione della tabella, in quanto influisce significativamente sulle prestazioni e sulla scalabilità dell'applicazione. Se decidi di aggiungere un tasto di ordinamento, assicurati di utilizzare un attributo che ti aiuti rapidamente a risolvere gli elementi all'interno della tabella.