DynamoDB è un database NoSQL?

SÌ. DynamoDB è un database NoSQL: un archivio di documenti e valori-chiave non relazionale e completamente gestito. Contiene elementi senza schema anziché righe in tabelle a schema fisso e scambia join SQL e query ad hoc per prestazioni prevedibili di pochi millisecondi a una cifra e ridimensionamento orizzontale praticamente a qualsiasi dimensione.

Che tipo di NoSQL

DynamoDB supporta sia il modello chiave-valore che quello dei dati del documento. Ogni elemento è indirizzato da una chiave primaria e gli attributi possono annidarsi come mappe ed elenchi fino a 32 livelli di profondità: il lato documento del modello.

In cosa differisce da SQL

  • Nessuno schema fisso: solo la chiave primaria è definita in anticipo; altri attributi variano in base all'articolo.
  • Nessun join: invece denormalizzi e modelli in base ai modelli di accesso.
  • Prestazioni prevedibili: legge una chiave di partizione target, quindi la latenza rimane invariata man mano che i dati crescono.

Cosa fa il motore con un JOIN

PartiQL fa sembrare DynamoDB a forma di SQL, quindi il confine è facile da perdere. La sintassi SELECT documentata di AWS è l'intera grammatica e non ha alcuna clausola JOIN:

SELECT {{expression}}  [, ...]
FROM {{table}}[.{{index}}]
[ WHERE {{condition}} ] [ [ORDER BY {{key}} [DESC|ASC] , ...]

Inviane comunque uno e il parser si ferma alla seconda tabella:

await client.send(
  new ExecuteStatementCommand({
    Statement: `SELECT o.pk FROM "orders" o JOIN "customers" c ON o.pk = c.pk`
  })
);

Produzione reale:

ValidationException: Only select from a single table or index is supported.
HTTP 400

Il rifiuto avviene in fase di analisi, prima che i dati vengano letti, motivo per cui nessuna progettazione dell'indice ti consente di partecipare. Partecipare è il lavoro della tua applicazione in un negozio NoSQL.

Limita anche ciò che ogni cliente può offrire onestamente. SQL Workbench di DynoTable accetta INNER JOIN, LEFT JOIN, GROUP BY e COUNT/SUM/AVG/MIN/MAX.

Li compila in chiamate Query e Scan native, quindi unisce e aggrega i risultati sul tuo computer. DynamoDB continua a vedere solo letture a tabella singola.

Quando va bene

DynamoDB è progettato per carichi di lavoro OLTP: letture e scritture point-and-range note ad alto volume. L'analisi pesante appartiene a un archivio colonnare separato alimentato dall'esportazione.

I limiti NoSQL si sentono ancora in produzione

"NoSQL" descrive il modello di accesso, non la rimozione dei vincoli. DynamoDB ti limita ancora a 400 KB per articolo, 25 azioni per TransactWriteItems e 100 azioni di lettura o scrittura per transazione. Un documento nidificato può avere una profondità di 32 livelli. Il progetto GSI attribuisce solo il tuo nome; non esiste uno schema nascosto a cui ricorrere.

Questi limiti sono importanti perché non puoi unirti a loro per uscirne al momento della query. Si modella attorno ad essi in anticipo - indici sparsi, attributi denormalizzati e chiavi a tabella singola - quindi si legge per partizione. Il Query Builder trasforma un filtro nella richiesta Query o Scan che DynamoDB verrà effettivamente eseguita.

In DynoTable: quando una domanda relazionale è legittima, SQL Workbench compila JOIN e GROUP BY fino alle chiamate native Query e Scan sul tuo computer: DynamoDB vede ancora letture a tabella singola. Vedere SQL Workbench per la grammatica supportata e i limiti onesti.

Approfondisci

Scopri quando utilizzare DynamoDB e come modellare i dati con come modellare i dati in DynamoDB. Scarica DynoTable per sfogliare le tue tabelle NoSQL ed eseguire SQL su di esse rispettando le regole del modello di accesso di DynamoDB.

Riferimenti

Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale AWS collegata sopra; la grammatica dell'PartiQL SELECT è stata ricontrollata il 28-07-2026.

Riprodotto il 28-07-2026 rispetto a DynamoDB Local 3.3.0 tramite @aws-sdk/client-dynamodb 3.1095.0 sul nodo v24.18.0. L'ValidationException sopra riportato è l'output letterale del motore.

Lavora con DynamoDB senza la Console

Un client desktop veloce per DynamoDB che esegue il vero SQL che DynamoDB non può — JOINs, GROUP BY, aggregazioni — con modifica visuale e un agente AI sulle tue chiavi Bedrock.

Prova gratuita di 30 giorni, senza carta di credito — poi il piano Free senza limiti di tempo.