DynamoDB - Tasti a intervallo multiplo


9

È possibile avere più campi come chiave di intervallo?

Supponiamo di avere una tabella in cui ogni riga è identificata in modo univoco da <A,B,C>

 -------------------------------
 A   |   B   |  C  |  D   |  E  |
 -------------------------------

dov'è Ala hashchiave primaria

e voglio Be Cdi essere i principali rangechiavi.

Come posso avere più di 2 campi come chiave primaria in DynamoDB?

Risposte:


6

Non è possibile avere più di 2 campi come chiave primaria in DynamoDB.

Per ovviare al problema, è possibile creare local secondary indexper ogni campo che si desidera essere un intervallo chiave. Ma non sarai in grado di creare query con più chiavi di intervallo contemporaneamente poiché DynamoDB può utilizzare solo un indice alla volta.

Prendi in considerazione l'utilizzo delle espressioni di filtro, probabilmente finirai per utilizzare una maggiore velocità di lettura (il filtro viene eseguito dopo la ricezione dei dati da db) di quello che ti serve ma ottieni i risultati desiderati.


8

Inserisci una copia di B e C nel campo dell'intervallo (come una colonna aggiuntiva) e rendi la tua chiave di intervallo come "B_C" e puoi anche avere colonne separate per B e C se ne hai bisogno.


Questo approccio può essere utilizzato come soluzione a questo problema ?
Birowsky,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.