FAQ DynamoDB — Risposte alle domande frequenti
Le domande su DynamoDB che gli sviluppatori fanno più spesso — ognuna con una risposta chiara e onesta e i passi successivi.
Caratteristiche e capacità di DynamoDB
DynamoDB è un archivio di valori-chiave?
Sì, e un archivio di documenti allo stesso tempo. Ogni elemento viene indirizzato tramite la sua chiave primaria, mentre gli attributi si annidano come mappe ed elenchi fino a 32 livelli di profondità.
DynamoDB è un database relazionale?
No. DynamoDB è un database NoSQL chiave-valore e di documenti, senza schemi fissi, chiavi esterne o join. Si denormalizza attorno ai pattern di accesso.
DynamoDB è conforme ad ACID?
Sì — DynamoDB supporta transazioni ACID con TransactWriteItems e TransactGetItems, fino a 100 azioni in una sola operazione tutto-o-niente per regione.
DynamoDB è cifrato?
Sì — tutti i dati DynamoDB sono cifrati a riposo per impostazione predefinita con chiavi AWS KMS e non si disattiva. In transito viaggiano su HTTPS/TLS.
DynamoDB è a coerenza eventuale?
Per impostazione predefinita sì — le letture DynamoDB sono a coerenza eventuale. Puoi attivare la coerenza forte su tabelle e LSI, mai sui GSI.
DynamoDB è gratuito?
In parte — piano sempre gratuito DynamoDB: 25 GB di storage, 25 unità di capacità in scrittura e 25 in lettura al mese. Oltre paghi per richiesta e GB.
DynamoDB è in memoria?
No: DynamoDB persiste ogni scrittura su storage durevole su tre zone di disponibilità. DAX aggiunge una cache in memoria facoltativa con letture di microsecondi.
DynamoDB è un database NoSQL?
SÌ. DynamoDB è un archivio di documenti e valori-chiave NoSQL completamente gestito. Contiene elementi senza schema, si ridimensiona orizzontalmente e il suo parser PartiQL rifiuta JOIN.
DynamoDB è open source?
No — DynamoDB è proprietario e gestito da AWS. DynamoDB Local è un emulatore gratuito per lo sviluppo, ma il motore di produzione non è self-hostabile.
DynamoDB è schemaless?
Sì — DynamoDB è schemaless. Solo la chiave primaria si definisce alla creazione; ogni altro attributo è opzionale e varia liberamente da un item all'altro.
DynamoDB è serverless?
Sì — DynamoDB è un database NoSQL serverless e completamente gestito. Niente server da provisionare o patchare; la capacità scala da sola, paghi a consumo.
Cosa può memorizzare DynamoDB
DynamoDB può avere valori nulli?
Sì: DynamoDB ha un tipo NULL dedicato e consente stringhe ed elenchi vuoti /maps per attributi non chiave. Gli insiemi vuoti, tuttavia, vengono rifiutati.
DynamoDB può memorizzare array?
Sì. DynamoDB memorizza gli array come tipo List (L), ordinato e a tipi misti, fino a 32 livelli. In un Item da 400 KB stanno circa 11.070 stringhe UUID.
DynamoDB può memorizzare blob?
Sì, entro certi limiti — DynamoDB memorizza oggetti binari in attributi Binary (base64) sotto i 400 KB. Per blob più grandi, AWS consiglia Amazon S3.
DynamoDB può memorizzare immagini?
Sì, ma solo piccole — DynamoDB memorizza le immagini come attributi Binary in base64 sotto i 400 KB per Item. AWS consiglia Amazon S3 per le più grandi.
DynamoDB può memorizzare JSON?
Sì — DynamoDB memorizza JSON con i tipi documento map (M) per gli oggetti e list (L) per gli array, annidati fino a 32 livelli, entro i 400 KB per Item.
Quanti dati può memorizzare DynamoDB?
Una tabella DynamoDB non ha limite di dimensione e scala orizzontalmente. I limiti veri sono 400 KB per Item e, solo con un LSI, 10 GB per collezione di Item.
Dimensione massima di un Item DynamoDB?
400 KB, cioè esattamente 409.600 byte, nomi attributi inclusi. Il limite Item di DynamoDB non si può alzare, quindi gli oggetti più grandi vanno su S3.
Integrazioni e accesso a DynamoDB
DynamoDB può esportare su S3?
Sì — l'esportazione integrata su S3 scrive snapshot completi o incrementali in DynamoDB JSON o Amazon Ion. Richiede PITR e non consuma capacità di lettura.
Power BI può connettersi a DynamoDB?
Power BI non ha connettore DynamoDB nativo. Usa il connettore ODBC di Amazon Athena o un driver come CData, e calcola quanto scansiona ogni aggiornamento.
Si può usare DynamoDB fuori da AWS?
Sì — DynamoDB è raggiungibile da ovunque via HTTPS. Qualsiasi app con credenziali AWS può chiamare l'endpoint regionale da laptop, server o altro cloud.
DynamoDB ha i trigger?
Sì. I trigger DynamoDB combinano Streams e Lambda, che interroga lo stream 4 volte al secondo e gira a ogni modifica di un Item. Nessuna CREATE TRIGGER.
DynamoDB supporta GraphQL?
Sì, tramite AWS AppSync — servizio GraphQL gestito che usa tabelle DynamoDB come origini dati, con resolver che mappano le operazioni su chiamate DynamoDB.
Operazioni e query di DynamoDB
DynamoDB può fare auto scaling?
Sì. L'auto scaling DynamoDB insegue un utilizzo target del 20-90% sulla capacità con provisioning, ma sotto il 28,9% di uso medio l'on-demand costa meno.
Si può eseguire DynamoDB in locale?
Sì — DynamoDB Local è una versione gratuita scaricabile che gira sulla tua macchina via Docker, archivio Java o Maven, ed espone la stessa API offline.
DynamoDB ha i backup?
Sì — backup on-demand per snapshot a lungo termine e point-in-time recovery (PITR) continuo, ripristinabile a qualsiasi secondo degli ultimi 35 giorni.
DynamoDB supporta la ricerca full-text?
No, non in modo nativo — DynamoDB non ha ranking di rilevanza, stemming o fuzzy matching. L'integrazione zero-ETL con OpenSearch è la risposta nativa AWS.
DynamoDB supporta le query geospaziali?
Non nativamente — DynamoDB non ha un tipo di dato geo né operatori di distanza. Le ricerche geospaziali usano chiavi geohash/celle S2 lette per intervallo.
DynamoDB supporta i join?
No. DynamoDB non ha JOIN e PartiQL rifiuta completamente una SELECT a due tabelle, quindi denormalizzi. DynoTable SQL Workbench esegue join reali sul lato client.
DynamoDB supporta SQL?
In parte. PartiQL copre SELECT, INSERT, UPDATE e DELETE, ma rifiuta JOIN, GROUP BY e COUNT. DynoTable SQL Workbench li esegue sulle tue tabelle.
DynamoDB supporta le transazioni?
Sì. Le transazioni DynamoDB uniscono fino a 100 azioni multi-tabella in un'operazione tutto-o-niente, al doppio delle unità di capacità di una scrittura.
DynamoDB supporta il TTL?
Sì — DynamoDB supporta il Time to Live. Imposta un attributo Number con la scadenza in secondi Unix epoch e DynamoDB elimina gli Item scaduti senza costi.
Quanto è veloce DynamoDB?
Veloce — DynamoDB tiene una latenza di millisecondi a una cifra a ogni scala. DAX (cache in memoria) porta le letture a coerenza eventuale a microsecondi.
Quante tabelle si possono avere in DynamoDB?
2.500 tabelle DynamoDB per region di default, 10.000 su richiesta. Dimensione illimitata, ma ogni tabella con provisioning costa 0,57 $ al mese da ferma.
Come si contano gli Item in DynamoDB?
Usa Select: COUNT su una Query o uno Scan, poi pagina con LastEvaluatedKey e somma Count. Contare costa la stessa capacità di lettura che restituire gli Item.
Architettura e funzionamento interno di DynamoDB
Si può usare DynamoDB come cache?
Sì — lookup rapidi per chiave e TTL rendono DynamoDB una cache durevole. Per letture in microsecondi, anteponi DAX, cache in memoria write-through gestita.
DynamoDB supporta le chiavi esterne?
No. DynamoDB non ha chiavi esterne, integrità referenziale né eliminazioni a cascata. Elimini un padre e i figli restano. Le relazioni le modelli tu.
DynamoDB supporta gli indici secondari?
Sì. DynamoDB ha indici secondari globali (chiavi proprie, a coerenza eventuale, 20 per tabella di default) e locali (fortemente coerenti).
DynamoDB è multi-regione?
Una tabella DynamoDB standard è mono-region. Le global table replicano in multi-attivo tra region, 99,999% di disponibilità, storage fatturato in ognuna.
Quando non dovresti usare DynamoDB?
Evita DynamoDB per carichi analitici, pattern di accesso sconosciuti, query ad-hoc intensive e schemi relazionali normalizzati che dipendono dai join.
Altre risorse su DynamoDB
Impara DynamoDB
Un percorso formativo strutturato su DynamoDB, dai fondamenti fino ai meccanismi interni.
Errori comuni di DynamoDB
Ogni errore comune di DynamoDB con la sua causa e la soluzione esatta.
Esempi di codice DynamoDB
Snippet pronti da copiare e incollare per ogni operazione — SDK v3, boto3 e la AWS CLI.
Blog di ingegneria
Come è costruito DynoTable — le storie dietro l'agente AI e il server MCP.
Strumenti per DynamoDB
Generatore di espressioni, calcolatori di prezzi e capacità — direttamente nel tuo browser.
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.