AWS DynamoDB si basa su tabelle e indici per archiviare e organizzare i dati. In queste tabelle, ci sono chiavi primarie che aiutano nell'organizzazione dei dati e nel recupero degli articoli. Pertanto, una tabella o un indice DynamoDB ha sempre una chiave primaria semplice o una chiave primaria composita.
Abbiamo già discusso delle semplici chiavi primarie su questo sito Web. Questo articolo si concentra sulle chiavi di partizione DynamoDB. Le sezioni che copriamo includono la definizione di una chiave composita, le migliori pratiche per la creazione di tasti compositi e come creare una chiave composita per la tabella.
Cos'è una chiave composita DynamoDB?
Una chiave composita DynamoDB è un insieme di attributi consiste in una chiave di partizione e una chiave di ordinamento. Tutte le tabelle con tasti di ordinamento hanno tasti primari compositi, mentre tutte le tabelle senza tasti di ordinamento hanno semplici tasti primari. Sono anche conosciuti come tasti di range hash o chiavi primarie composite DynamoDB.
È interessante notare che i tasti compositi non esistono all'interno degli elementi nella tabella come con gli altri attributi. Invece, è un concetto astratto che puoi creare o pensare come una combinazione di una chiave di partizione e una chiave di ordinamento.
Considera i tasti compositi come chiavi primarie durante l'interrogazione delle tabelle o quando si intraprendi operazioni che richiedono una chiave primaria. Pertanto, tutti gli aggiornamenti, eliminare, aggiornare o qualsiasi elemento che richiede l'inclusione di una chiave primaria ha sia la chiave di partizione che la chiave di ordinamento.
Mentre una chiave di partizione o una semplice chiave primaria aiuta ancora nella maggior parte delle operazioni, i tasti compositi aggiungono un'efficienza nella maggior parte delle operazioni DynamoDB e migliorano le prestazioni del database. Inoltre, le chiavi di partizione consentono anche di filtrare i risultati della query in modo più efficiente utilizzando le operazioni di confronto.
Best practice per creare i tasti compositi Dynamodb
Assicurati di aderire a quanto segue:
Scegli una chiave di partizione unica: La tua chiave di partizione dovrebbe essere unica e avere il più alto cardinalità possibile. Una chiave di partizione con una cardinalità estremamente bassa può influire sull'archiviazione e la distribuzione dei dati.
È possibile utilizzare i valori che non sono condivisibili tra gli elementi in una tabella. Possono includere gli indirizzi e -mail, i numeri di identificazione o i nomi degli utenti. Pertanto, un utente_id funziona bene nella colonna chiave di partizione per una tabella degli utenti. Allo stesso modo, una tabella dei dipendenti può avere il dipendente_id come chiave di partizione.
La tua chiave di ordinamento dovrebbe integrare i modelli di accesso: La chiave di ordinamento dovrebbe raccogliere le informazioni correlate in un unico posto per operazioni di query efficienti. Una buona chiave di ordinamento migliora la selettività degli elementi della tabella durante il recupero da parte di un comando di query.
Come creare una chiave composita in DynamoDB
Per creare una chiave composita, è possibile utilizzare il comando Crea-table con i parametri -Key-schema e-attribute-definizioni.
Il parametro -key -schema specifica la struttura chiave primaria della tabella e può includere uno o più elementi. Specificare prima l'elemento dello schema chiave, seguito da qualsiasi indice secondario. Ogni elemento nello schema chiave è costituito da un nome di attributo e un tipo chiave.
D'altra parte, il parametro -Attribute Definizioni specifica gli attributi che costituiscono la chiave primaria e qualsiasi indice secondario. Ogni definizione di attributo è costituita da un nome di attributo e un tipo di attributo.
Ecco un esempio su come utilizzare questi parametri per creare una tabella DynamoDB con una chiave primaria composita costituita da due attributi: Partition_Key e Sort_Key:
AWS DynamoDB Crea-table \
--tavolo\
--Attributi-Definitions attributeName = partition_key, attributeType = s attributeName = SORT_KEY, attributeType = s \
--Key-schema attributeName = partitition_key, keyType = hash attributeName = SORT_KEY, keyType = Range \
--provvisore-throughput readcapacityunits = 10, writecapacityunits = 10
Il comando indicato crea una nuova tabella DynamoDB con una chiave primaria composita costituita dall'attributo Partition_Key come tasto di partizione (hash) e l'attributo Sort_key come chiave di ordinamento (intervallo). Procedere a definire gli attributi chiave primari nel parametro -attributo -definizioni e lo schema chiave nel parametro -key -schema.
È inoltre possibile creare una chiave composita semplicemente definendo sia la chiave di partizione dell'articolo che la chiave composita utilizzando l'operazione putItem. Per esempio:
DynamoDBClient.putItem (
"TableName": "MyTableName",
"Articolo":
"pk":
"S": "PartitionKey"
,
"sk":
"S": "Sortkey"
,
"e-mail":
"S": "[email protected] "
)
Conclusione
Questo articolo contiene tutto ciò che devi sapere sui tasti compositi DynamoDB. In particolare, è essenziale scegliere la chiave di partizione e ordinare attentamente, poiché incidono significativamente sulle prestazioni e sulla scalabilità della tabella DynamoDB. Una chiave primaria composita è ideale per interrogare e filtrare i dati in DynamoDB in base alla chiave di partizione e alla chiave di ordinamento.