DynamoDB supporta GraphQL?

Sì, tramite AWS AppSync. AppSync è il servizio GraphQL gestito di AWS, e DynamoDB è una delle sue origini dati native: i resolver mappano ogni query o mutation GraphQL su un'operazione DynamoDB come GetItem, Query o PutItem. DynamoDB di per sé non ha alcun endpoint GraphQL — il livello GraphQL gira davanti a lui.

Come funziona l'accoppiata

In AppSync registri una tabella DynamoDB come origine dati, poi colleghi un resolver a ogni campo del tuo schema GraphQL. Il gestore della richiesta del resolver traduce gli argomenti GraphQL in arrivo in una chiamata DynamoDB, e il gestore della risposta rimodella l'Item o gli Item restituiti da DynamoDB nella risposta GraphQL. AWS elenca AppSync per prima tra le integrazioni serverless di DynamoDB proprio per questo pattern.

Perché è uno stack comune

Entrambe le metà sono serverless: AppSync scala il livello API mentre DynamoDB scala storage e throughput, senza server da nessuna delle due parti. Le subscription GraphQL in tempo reale si sposano naturalmente con le scritture in millisecondi a una cifra di DynamoDB.

Quanto costa un solo campo annidato

Un resolver per campo significa una richiesta DynamoDB per campo. posts { author { name } } risolve la lista una volta, poi risolve author una volta per post, e ciascuna di quelle è fatturata separatamente.

Misurato con ReturnConsumedCapacity su una tabella che contiene 25 post in una sola item collection e 25 Item autore, ciascuno di circa 920 byte:

Query, the 25 posts                        ConsumedCapacity 3.0
25 GetItem calls, one author each          ConsumedCapacity 12.5
1 BatchGetItem, the same 25 author keys    ConsumedCapacity 12.5

Il campo annidato costa oltre quattro volte la query che ha prodotto la lista. Il batching non lo cambia: BatchGetItem (un'operazione di resolver AppSync a pieno titolo, con un tetto di 100 chiavi e 16 MB per chiamata) comprime 25 round trip in uno solo, ma legge comunque 25 Item e fattura 25 letture. Compra latenza, non capacità.

A dieci di quelle query GraphQL al secondo fanno 50,92 $ al mese di unità di richiesta di lettura in us-east-1 on-demand, di cui 41,06 $ solo per il campo authoril calcolatore dei prezzi fa la stessa aritmetica sui tuoi numeri.

Ed è per questo che la soluzione sta nella progettazione delle chiavi e non nel resolver. Proietta ciò che il campo annidato restituisce dentro l'Item padre o dentro un GSI, così la query sulla lista lo porta già con sé e al resolver figlio non resta nulla da recuperare.

L'alternativa: portati il tuo server

Nulla obbliga a usare AppSync — qualsiasi server GraphQL (Apollo, Yoga e altri) può risolvere i campi chiamando DynamoDB attraverso l'AWS SDK, esattamente come chiamerebbe qualsiasi altro backend. Il compromesso è che il livello GraphQL lo gestisci tu.

Approfondisci

I resolver GraphQL ricadono comunque sotto le stesse regole dei pattern di accesso — la guida alla modellazione dei dati spiega come progettare chiavi che servano le tue query, l'expression builder genera la sintassi delle condizioni sottostanti, e DynoTable ti permette di ispezionare cosa hanno scritto davvero i tuoi resolver.

Riferimenti

Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.

Cifre di capacità misurate il 2026-07-28 su DynamoDB Local 3.3.0 tramite @aws-sdk/client-dynamodb 3.1095.0 su Node 24.18.0; i valori di ConsumedCapacity qui sopra sono del motore stesso. I costi sono calcolati dal prezzo on-demand per unità di richiesta in us-east-1 presente nella nostra tabella prezzi AWS sincronizzata.

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.