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à.
Fase 5. Creare il modello di dati DynamoDB
Obiettivo
-
Crea il modello di dati DynamoDB.
Processo
-
L'ingegnere del database identifica quante tabelle saranno necessarie per ogni caso d'uso. Consigliamo di mantenere il minor numero possibile di tabelle in un'applicazione DynamoDB.
-
In base ai modelli di accesso più comuni, identifica la chiave primaria che può essere di due tipi: una chiave primaria con una chiave di partizione che identifica i dati o una chiave primaria con una chiave di partizione e una chiave di ordinamento. Una chiave di ordinamento è una chiave secondaria per raggruppare e organizzare i dati in modo che possano essere interrogati all'interno di una partizione in modo efficiente. È possibile utilizzare le chiavi di ordinamento per definire relazioni gerarchiche nei dati su cui interrogare a qualsiasi livello della gerarchia (vedi il post del blog).
-
Progettazione delle chiavi di partizione
-
Definisci la chiave di partizione e valuta la sua distribuzione.
-
Identifica la necessità di uno sharding di scrittura per distribuire i carichi di lavoro in modo uniforme.
-
-
Progettazione della chiave di ordinamento
-
Identifica la chiave di ordinamento.
-
Identifica la necessità di una chiave di ordinamento composita.
-
Identifica la necessità del controllo della versione.
-
-
-
In base ai modelli di accesso, identifica gli indici secondari per soddisfare i requisiti di interrogazione.
-
Identifica la necessità di indici secondari locali (). LSIs Si tratta di indici che hanno la stessa chiave di partizione della tabella di base, ma una chiave di ordinamento diversa.
-
Per le tabelle con LSIs, è previsto un limite di dimensione di 10 GB per valore della chiave di partizione. Una tabella LSIs può memorizzare un numero qualsiasi di elementi, purché la dimensione totale per ogni valore della chiave di partizione non superi i 10 GB.
-
-
Identifica la necessità di indici secondari globali (). GSIs Si tratta di indici che hanno una chiave di partizione e una chiave di ordinamento che possono essere diverse da quelle della tabella di base (vedi il post del blog).
-
Definite le proiezioni dell'indice. Considera la proiezione di un numero minore di attributi per ridurre la dimensione delle voci scritte nell'indice. In questo passaggio, è necessario determinare se si desidera utilizzare quanto segue:
-
-
L'ingegnere del database determina se i dati includeranno elementi di grandi dimensioni. In tal caso, progettano la soluzione utilizzando la compressione o archiviando i dati in Amazon Simple Storage Service (Amazon S3).
-
L'ingegnere del database determina se saranno necessari i dati delle serie temporali. In tal caso, utilizzano il modello di progettazione delle serie temporali per modellare i dati.
-
L'ingegnere del database determina se il modello ER include many-to-many relazioni. In tal caso, utilizzano un modello di progettazione a elenco di adiacenze per modellare i dati.
Strumenti e risorse
TRACI
Utente aziendale | Business analyst | Architetto di soluzioni | Ingegnere di database | Sviluppatore di applicazioni | DevOps ingegnere |
---|---|---|---|---|---|
I |
I |
I |
R/A |
Output
-
Schema di tabella DynamoDB che soddisfa i modelli e i requisiti di accesso
Esempio
La schermata seguente mostra NoSQL Workbench.