DynamoDB è un archivio di valori-chiave?
Sì: DynamoDB è un archivio di valori-chiave e anche un archivio di documenti. Ogni elemento viene recuperato in base alla sua chiave primaria (una chiave di partizione, facoltativamente con una chiave di ordinamento), fornendo ricerche rapide basate sulla chiave. Supporta inoltre tipi di documenti (elenchi e mappe nidificati), quindi funziona sia come valore-chiave che come database di documenti.
Il modello chiave-valore
Ogni elemento ha una chiave primaria che lo identifica in modo univoco. Un GetItem su quella chiave è una ricerca diretta, a una cifra di un millisecondo, senza scansione. Questo è il classico modello di accesso chiave-valore.
Il lato del documento
Al di là della chiave, i valori possono essere documenti ricchi: mappe (oggetti) ed elenchi (array), nidificati fino a 32 livelli di profondità, entro il limite di elementi di 400 KB. Ciò rende DynamoDB un archivio di valori-chiave con valori di documenti simili a JSON.
Dove il documento si ferma a metà
Il limite di 32 livelli è reale (un livello 33 viene rifiutato completamente, con l'errore esatto qui), ma raramente la profondità è ciò che colpisce. Indirizzarsi è.
Si legge per chiave, non per campo. Un ProjectionExpression restringe ciò che attraversa il filo piuttosto che ciò che legge DynamoDB. Su un elemento da ~30 KB che contiene un lungo bio e un elenco tags da 100 elementi, un coerenza forte GetItem fattura negli stessi tre modi:
| Richiedi | Restituito | ConsumedCapacity |
|---|---|---|
GetItem, articolo intero | tutto | 8 |
ProjectionExpression: 'status' | un valore di 6 byte | 8 |
ProjectionExpression: 'profile.tags[0]' | un elemento della lista | 8 |
Questo è lo scambio che accetti archiviando i documenti in un archivio di valori-chiave: l'unità di accesso e di fatturazione è l'intero articolo. Se un attributo viene letto costantemente e i suoi vicini sono grandi, appartengono a elementi diversi.
Perché la chiave è così importante
Poiché le letture sono con chiave, una ricerca efficiente inizia fissando un singolo valore chiave di partizione. Progettare chiavi valide è il fulcro della modellazione DynamoDB.
Dimensiona il valore, non solo la chiave
La velocità del valore-chiave presuppone che il valore si adatti al modello di accesso. Un elemento da 400 KB costa lo stesso da leggere sia che si progetti un campo o l'intero documento: la tabella nella sezione precedente mostrava già 8 unità di capacità per un elemento da ~30 KB. Archivia BLOB di grandi dimensioni in S3 e mantieni un puntatore in DynamoDB quando solo una parte del documento è calda.
Il calcolatore della dimensione dell'articolo somma i nomi e i valori degli attributi nel modo in cui DynamoDB li fattura.
In DynoTable: le chiavi di partizione composita come USER#123 vengono decodificate nella griglia in modo da poter leggere il prefisso dell'entità a colpo d'occhio e Visualizzazione rapida riga (Space) apre il documento completo senza perdere la posizione. Vedere Tabelle Querying.
Approfondisci
Comprendere le chiavi nella chiave primaria composita DynamoDB e come funzionano le chiavi di partizione DynamoDB. Scarica DynoTable per eseguire query tramite chiave.
Riferimenti
- Database veloce di valori-chiave NoSQL — Amazon DynamoDB — AWS
- Componenti principali di Amazon DynamoDB: Guida per gli sviluppatori di Amazon DynamoDB
- Cos'è Amazon DynamoDB? — Guida per gli sviluppatori di Amazon DynamoDB
Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale AWS collegata sopra.
I dati sulla capacità sono stati misurati il 28-07-2026 rispetto a DynamoDB Local 3.3.0 (amazon/dynamodb-local:latest) tramite @aws-sdk/client-dynamodb 3.1095.0, non stimati.