DynamoDB è open source?
No. DynamoDB è un servizio AWS proprietario e completamente gestito — il codice sorgente non è pubblico e non puoi fare self-hosting del motore di produzione. Per lo sviluppo locale, AWS distribuisce DynamoDB Local, un emulatore gratuito scaricabile, e alcuni database di terze parti pubblicizzano API compatibili con DynamoDB che puoi eseguire tu.
Cosa significa in pratica
DynamoDB gira solo dentro AWS. Lo consumi come API — non c'è alcun software server da scaricare, licenziare, ispezionare o gestire, e non esiste una community edition. È anche il suo punto di forza: AWS si occupa di configurazione, patching, replica, scalabilità e backup, e il servizio non ha versioni né finestre di manutenzione.
DynamoDB Local è gratuito, non aperto
AWS fornisce DynamoDB Local, una versione scaricabile di DynamoDB che gira sul tuo computer come immagine Docker, archivio Java o dipendenza Apache Maven. È gratuito da usare e funziona offline, ma è un emulatore per sviluppo e test — non il motore di produzione, e nemmeno open source.
L'emulatore non è il motore
Il divario conta più della licenza, perché l'emulatore non impone mai la capacità. Crea una tabella a 1 RCU, memorizza un Item poco sotto i 4 KB, poi rileggilo in modo fortemente coerente in un loop sequenziale:
for (let i = 0; i < 500; i++) {
await client.send(
new GetItemCommand({TableName: 'demo', Key: {pk: {S: 'HOT'}}, ConsistentRead: true})
);
}500 letture completate in 353 ms e nessun throttling. Sono circa 1.400 letture fortemente coerenti al secondo su una tabella con provisioning per una. L'emulatore accetta ProvisionedThroughput e poi lo ignora.
Sul servizio reale la stessa forma di loop fa throttling alla 49ª lettura, una volta esaurito il credito burst accumulato.
Quindi un load test che resta verde in locale non ti dice nulla sulla capacità. E nemmeno un test locale di retry e backoff, perché non c'è mai nulla che venga sottoposto a throttling da riprovare.
Alternative compatibili
Poiché l'API di DynamoDB è ben documentata, alcuni database open source e di terze parti implementano endpoint compatibili con DynamoDB. La compatibilità varia da funzionalità a funzionalità, quindi verifica le operazioni su cui fai affidamento (transazioni, streams, indici secondari) prima di trattarne uno come sostituto drop-in.
Approfondisci
Esegui l'emulatore in locale con la guida a DynamoDB Local, costruisci query visivamente nell'expression builder e scarica DynoTable — si connette sia ad AWS sia agli endpoint locali.
Riferimenti
- What is Amazon DynamoDB? — Amazon DynamoDB Developer Guide
- Setting up DynamoDB local (downloadable version) — Amazon DynamoDB Developer Guide
- Fast NoSQL Key-Value Database — Amazon DynamoDB — AWS
Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.
Misurato il 2026-07-28 su DynamoDB Local 3.3.0 tramite @aws-sdk/client-dynamodb 3.1095.0 su Node v24.18.0. La cifra delle 49 letture sul servizio live viene da una nostra riproduzione precedente su DynamoDB in us-east-1.