Utilizzo dello sharding di scrittura del Global Secondary Index per le query selettive sulle tabelle in DynamoDB - Amazon DynamoDB

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à.

Utilizzo dello sharding di scrittura del Global Secondary Index per le query selettive sulle tabelle in DynamoDB

Le applicazioni spesso devono identificare un piccolo sottoinsieme di elementi in una tabella Amazon DynamoDB che soddisfano una determinata condizione. Quando questi elementi vengono distribuiti in modo casuale tra le chiavi di partizione della tabella, è possibile ricorrere a una scansione della tabella per recuperarli. Questa opzione può essere costosa, ma funziona bene quando un gran numero di elementi nella tabella soddisfa la condizione di ricerca. Tuttavia, quando lo spazio chiave è grande e la condizione di ricerca è molto selettiva, questa strategia può causare molte elaborazioni inutili.

Una soluzione migliore può essere quella di eseguire query sui dati. Per abilitare le query selettive nell'intero spazio chiave, è possibile utilizzare il partizionamento in scrittura aggiungendo un attributo contenente un valore (0-N) su ogni elemento che verrà utilizzato per la chiave di partizione dell'indice secondario globale.

Di seguito è riportato un esempio di schema che utilizza questo modello in un flusso di lavoro di eventi critici:

Esempio di query selettive.

Utilizzando questo schema, gli elementi dell'evento vengono distribuiti tra 0-N le partizioni diGSI, consentendo una lettura a dispersione utilizzando una condizione di ordinamento sulla chiave composita per recuperare tutti gli elementi con un determinato stato durante un periodo di tempo specificato.

Questo pattern di schema fornisce un set di risultati altamente selettivo a costi minimi, senza richiedere una scansione della tabella.