Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
In una tabella Amazon DynamoDB, la chiave primaria che identifica in modo univoco ogni elemento della tabella può essere composta da una chiave di partizione e una chiave di ordinamento.
Le chiavi di ordinamento progettate adeguatamente offrono due vantaggi principali:
Raccolgono le informazioni correlate in un'unica posizione in cui possono essere interrogate in modo efficiente. Una progettazione attenta della chiave di ordinamento ti permette di recuperare i gruppi di item correlati comunemente necessari utilizzando le query in un intervallo con operatori come
begins_with
,between
,>
,<
e così via.-
Le chiavi di ordinamento composite consentono di definire relazioni gerarchiche (one-to-many) nei dati su cui interrogare a qualsiasi livello della gerarchia.
Ad esempio, in una tabella che elenca delle posizioni geografiche, potresti strutturare la chiave di ordinamento come segue.
[country]#[region]#[state]#[county]#[city]#[neighborhood]
In questo modo potresti eseguire query di intervallo efficienti per un elenco di posizioni a uno qualsiasi di questi livelli di aggregazione, da
country
fino aneighborhood
, interrogando qualsiasi item tra questi valori.
Uso delle chiavi di ordinamento per il controllo di versione
Molte applicazioni devono mantenere una cronologia delle revisioni a livello di item a scopi di analisi o conformità e devono essere in grado di recuperare facilmente la versione più recente. A tale scopo, esiste un modello di progettazione efficace che utilizza i prefissi delle chiavi di ordinamento:
Per ciascun nuovo item, crea due copie dell'item: una copia deve avere un prefisso del numero di versione pari a zero (come
v0_
) all'inizio della chiave di ordinamento, l'altra copia deve avere un prefisso del numero di versione pari a uno (comev1_
).Ogni volta che l'item viene aggiornato, utilizza il successivo prefisso della versione più alto nella chiave di ordinamento della versione aggiornata e copia i contenuti aggiornati nell'item con il prefisso zero. Ciò significa che la versione più aggiornata di un item può essere individuata facilmente tramite il prefisso zero.
Ad esempio, un produttore di parti potrebbe usare uno schema simile a quello illustrato sotto.

L'item Equipment_1
è sottoposto a una serie di controlli da parte di vari revisori. I risultati di ogni nuovo controllo vengono catturati in un nuovo item nella tabella, a partire dalla versione numero uno e aumentando il numero per ogni revisione successiva.
Quando viene aggiunta ogni nuova revisione, il livello dell'applicazione sostituisce i contenuti dell'item della versione zero (con chiave di ordinamento pari a v0_Audit
) con i contenuti della nuova revisione.
Ogni volta che l'applicazione deve recuperare lo stato del controllo più recente, può eseguire una query per il prefisso v0_
della chiave di ordinamento.
Se l'applicazione deve recuperare l'intera cronologia delle revisioni, può eseguire una query per tutti gli elementi della chiave di partizione dell'item e filtrare l'item v0_
.
Questo design funziona anche per i controlli su più parti di un'apparecchiatura, se si include la singola parte IDs nella chiave di ordinamento dopo il prefisso della chiave di ordinamento.