Modellazione dei dati per tabelle 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à.

Modellazione dei dati per tabelle DynamoDB

Prima di immergerci nella modellazione dei dati, è importante comprendere alcuni fondamenti di DynamoDB. DynamoDB è un database NoSQL chiave-valore che consente uno schema flessibile. L'insieme di attributi dei dati oltre agli attributi chiave per ogni elemento può essere uniforme o discreto. Lo schema delle chiavi di DynamoDB ha la forma di una chiave primaria semplice in cui una chiave di partizione identifica in modo univoco un elemento o di una chiave primaria composita in cui una combinazione di chiave di partizione e chiave di ordinamento definisce in modo univoco un elemento. La chiave di partizione è sottoposta a hash per determinare la posizione fisica dei dati e recuperarli. Pertanto, è importante scegliere un attributo ad alta cardinalità e scalabile orizzontalmente come chiave di partizione per garantire una distribuzione uniforme dei dati. L'attributo sort key è facoltativo nello schema chiave e la presenza di una chiave di ordinamento consente di modellare relazioni uno-a-molti e di creare raccolte di elementi in DynamoDB. Le chiavi di ordinamento sono anche chiamate chiavi di intervallo: vengono utilizzate per ordinare gli elementi in una raccolta di articoli e consentono anche operazioni flessibili basate sull'intervallo.

Per ulteriori dettagli e best practice sullo schema delle chiavi di DynamoDB, puoi fare riferimento a quanto segue:

Gli indici secondari sono spesso necessari per supportare modelli di query aggiuntivi in DynamoDB. Gli indici secondari sono tabelle ombra in cui gli stessi dati sono organizzati tramite uno schema chiave diverso rispetto alla tabella di base. Un indice secondario locale (LSI) condivide la stessa chiave di partizione della tabella base e consente di disporre di una chiave di ordinamento alternativa che consente di condividere la capacità della tabella di base. Un indice secondario globale (GSI) può avere una chiave di partizione e una chiave di ordinamento diversi rispetto alla tabella di base, il che significa che la gestione della velocità di trasmissione effettiva per un GSI è indipendente dalla tabella base.

Per ulteriori dettagli sugli indici secondari e le best practice, puoi fare riferimento a quanto segue:

Esaminiamo ora la modellazione dei dati un po' più da vicino. Il processo di progettazione di uno schema flessibile e altamente ottimizzato su DynamoDB, o su qualsiasi database NoSQL, può essere un'abilità difficile da imparare. L'obiettivo di questo modulo è aiutarti a sviluppare un diagramma di flusso mentale per la progettazione di uno schema che ti porterà dal caso d'uso alla produzione. Inizieremo con un'introduzione alla scelta fondamentale di qualsiasi progettazione: tabella singola contro tabelle multiple. Quindi esamineremo la moltitudine di modelli di progettazione (elementi costitutivi) che possono essere utilizzati per ottenere vari risultati organizzativi o delle prestazioni per la tua applicazione. Infine, includeremo una varietà di pacchetti completi di progettazione dello schema per diversi casi d'uso e settori.

Immagine che mostra la relazione concettuale tra i dati, i blocchi che si trovano sotto di essi e quindi la base che si trova sotto i blocchi.