DynamoDB vs Amazon DocumentDB
Entrambi sono database NoSQL AWS completamente gestiti, ma risolvono problemi diversi. DynamoDB è un archivio chiave-valore e di documenti serverless; Amazon DocumentDB è un database di documenti compatibile con MongoDB. Questa pagina li confronta in modo fattuale così che tu possa scegliere quello giusto prima di impegnarti su un modello dei dati.
Qual è la differenza tra DynamoDB e DocumentDB?
DynamoDB è un database chiave-valore e di documenti serverless senza server o cluster da gestire — scali in base al volume di richieste o alla capacità con provisioning. Amazon DocumentDB è un database di documenti compatibile con MongoDB che gira su un cluster di istanze (un primario più repliche di lettura). DynamoDB usa la propria API; DocumentDB parla l'API MongoDB, quindi app, driver e strumenti MongoDB esistenti funzionano con esso.
DynamoDB vs Amazon DocumentDB in sintesi
| Caratteristica | DynamoDB | Amazon DocumentDB |
|---|---|---|
| Modello dei dati | Chiave-valore e di documenti (Item con attributi tipizzati) | Di documenti (documenti JSON/BSON in collezioni) |
| API di query | API DynamoDB (GetItem, Query, Scan, PutItem, UpdateItem) più PartiQL | API MongoDB — gli stessi driver, strumenti e shell mongo/mongosh che usi con MongoDB |
| Dimensione massima del record | 400 KB per Item | 16 MB per documento (BSON, il limite del documento MongoDB) |
| Indici | Indici secondari globali (GSI) e indici secondari locali (LSI) | Indici secondari in stile MongoDB, inclusi gli indici composti |
| Coerenza | A coerenza eventuale per impostazione predefinita; letture a coerenza forte opzionali; transazioni ACID | Le letture dal primario sono a coerenza forte; le letture dalle repliche possono essere a coerenza eventuale (read preference); transazioni ACID |
| Scalabilità / provisioning | Serverless — nessuna istanza o cluster; capacità on-demand o con provisioning | Cluster basato su istanze (un primario più fino a 15 repliche) o cluster elastici; è disponibile anche una classe di istanza serverless |
| Modello di prezzi | A pagamento per richiesta (on-demand) o capacità di lettura/scrittura con provisioning, più storage | Compute per ora-istanza, più richieste I/O, storage e storage di backup |
| Adatto per | Carichi chiave-valore e serverless ad alta scala con pattern di accesso noti | Carichi MongoDB esistenti e app di documenti che necessitano dell'API MongoDB su AWS |
Le dimensioni seguono la documentazione di ciascun servizio. DynamoDB misura le dimensioni in unità binarie (1 KB = 1024 byte); la cifra di 16 MB di DocumentDB è il limite standard dei documenti BSON di MongoDB.
Quando DynamoDB è la scelta migliore
- Vuoi zero infrastruttura da gestire. DynamoDB non ha istanze, cluster o repliche da dimensionare, applicare patch o gestire in failover — crei una tabella e la leggi/scrivi. La capacità è on-demand (a pagamento per richiesta) o con provisioning.
- Il tuo carico di lavoro è chiave-valore o a tabella singola con pattern di accesso noti. DynamoDB premia la progettazione attorno alle tue query in anticipo. Vedi come modellare i dati in DynamoDB e la progettazione a tabella singola.
- Hai bisogno di prestazioni prevedibili a scala molto elevata. DynamoDB offre letture e scritture dell'ordine dei millisecondi a una cifra che restano costanti man mano che il traffico cresce.
- Stai costruendo serverless su AWS. DynamoDB si abbina naturalmente a Lambda e alla fatturazione per richiesta, senza costi di istanze inattive.
Quando DocumentDB è la scelta migliore
- Usi già MongoDB. DocumentDB è compatibile con l'API MongoDB, quindi i tuoi driver, strumenti e codice applicativo esistenti spesso possono connettersi con modifiche minime — utile per un lift-and-shift su AWS.
- Hai bisogno di documenti grandi o query ricche e ad hoc. Il limite di 16 MB per documento di DocumentDB è molto più grande dell'Item da 400 KB di DynamoDB, e il linguaggio di query MongoDB supporta filtri e aggregazioni flessibili senza pre-progettare ogni pattern di accesso.
- Preferisci un modello document-first con un'API familiare. Se il tuo team ragiona in termini di collezioni e documenti MongoDB piuttosto che di chiavi di partizione/ordinamento, DocumentDB mantiene quel modello mentale.
Nessuno dei due è rigorosamente "migliore" — DynamoDB scambia la flessibilità delle query con una scalabilità serverless senza interventi, mentre DocumentDB scambia la semplicità serverless con la compatibilità MongoDB e documenti più grandi e flessibili.
Lavorare con DynamoDB
Una volta scelto DynamoDB, DynoTable è un client desktop per DynamoDB per sfogliare, modificare ed eseguire query sulle tue tabelle senza la Console AWS. Legge le tue credenziali AWS standard, quindi i tuoi dati restano nel tuo account e in DynamoDB.
Poiché DynamoDB ha la propria sintassi di espressioni piuttosto che SQL o il linguaggio di query MongoDB, il DynamoDB Expression Builder gratuito ti aiuta a costruire condizioni sulle chiavi, espressioni di filtro ed espressioni di aggiornamento corrette e a copiarle direttamente nel tuo codice SDK. Per verificare i costi prima di migrare, il calcolatore di prezzi DynamoDB stima la spesa per capacità on-demand e con provisioning.
FAQ
DocumentDB è la stessa cosa di DynamoDB? No. Sono due servizi di database AWS separati. DynamoDB è un archivio chiave-valore e di documenti serverless con la propria API, mentre Amazon DocumentDB è un database di documenti compatibile con MongoDB che gira su un cluster di istanze. Non condividono alcuna API di query e sono forniti, scalati e prezzati in modo diverso.
Quale è più economico, DynamoDB o DocumentDB? Dipende dal carico di lavoro, quindi non c'è una risposta universale. DynamoDB fattura per richiesta (on-demand) o per capacità con provisioning più storage, senza costi di istanze inattive — spesso più economico per traffico irregolare o a bassa baseline. DocumentDB fattura per ora-istanza più I/O, storage e backup, il che può essere più conveniente per carichi stabili e ad alto throughput su istanze dimensionate correttamente.
DynamoDB supporta l'API MongoDB?
No. DynamoDB usa la propria API (GetItem, Query, Scan, PutItem,
UpdateItem) e supporta anche PartiQL, un linguaggio di query compatibile con SQL.
Amazon DocumentDB è il servizio AWS che fornisce la compatibilità con l'API MongoDB.
Correlati
- Impara i tipi di dati DynamoDB e la progettazione a tabella singola prima di modellare una tabella.
- Confronta le modalità di capacità in on-demand vs con provisioning.
- Costruisci query rapidamente con il DynamoDB Expression Builder gratuito, poi scarica DynoTable per lavorare le tue tabelle.
Ultima verifica 2026-07-12 rispetto alle developer guide di AWS DynamoDB e Amazon DocumentDB. Amazon DocumentDB e MongoDB sono marchi dei rispettivi proprietari, indicati qui solo a scopo identificativo.