DynamoDB est-il open source ?
Non. DynamoDB est un service AWS propriétaire et entièrement managé — le code source n'est pas public et tu ne peux pas auto-héberger le moteur de production. Pour le développement local, AWS livre DynamoDB Local, un émulateur gratuit à télécharger, et certaines bases de données tierces annoncent des API compatibles DynamoDB que tu peux exécuter toi-même.
Ce que ça veut dire en pratique
DynamoDB ne tourne qu'à l'intérieur d'AWS. Tu le consommes comme une API — il n'y a aucun logiciel serveur à télécharger, licencier, inspecter ou exploiter, et aucune édition communautaire. C'est aussi son argument de vente : AWS s'occupe de l'installation, des correctifs, de la réplication, de la montée en charge et des sauvegardes, et le service n'a ni versions ni fenêtres de maintenance.
DynamoDB Local est gratuit, pas ouvert
AWS fournit DynamoDB Local, une version téléchargeable de DynamoDB qui tourne sur ta machine sous forme d'image Docker, d'archive Java ou de dépendance Apache Maven. Elle est gratuite et fonctionne hors ligne, mais c'est un émulateur pour le développement et les tests — ni le moteur de production, ni de l'open source non plus.
L'émulateur n'est pas le moteur
L'écart compte plus que la licence, parce que l'émulateur n'applique jamais la capacité. Crée une table à 1 RCU, stocke un élément d'un peu moins de 4 Ko, puis relis-le en lecture fortement cohérente dans une boucle séquentielle :
for (let i = 0; i < 500; i++) {
await client.send(
new GetItemCommand({TableName: 'demo', Key: {pk: {S: 'HOT'}}, ConsistentRead: true})
);
}500 lectures terminées en 353 ms et rien n'a été throttlé. Soit environ 1 400 lectures fortement cohérentes par seconde sur une table provisionnée pour une. L'émulateur accepte ProvisionedThroughput puis l'ignore.
Sur le vrai service, la même forme de boucle throttle dès la 49e lecture, une fois le crédit de burst accumulé épuisé.
Un test de charge qui reste au vert en local ne te dit donc rien sur la capacité. Un test local des reprises et du backoff non plus, puisque rien n'est jamais throttlé à réessayer.
Alternatives compatibles
Comme l'API DynamoDB est bien documentée, certaines bases de données open source et tierces implémentent des endpoints compatibles DynamoDB. La compatibilité varie selon les fonctionnalités : vérifie donc les opérations dont tu dépends (transactions, streams, index secondaires) avant de traiter l'une d'elles comme un remplacement direct.
Aller plus loin
Fais tourner l'émulateur en local avec le guide DynamoDB Local, construis tes requêtes visuellement dans l'expression builder, et télécharge DynoTable — il se connecte aussi bien à AWS qu'aux endpoints locaux.
Références
- 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
Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.
Mesuré le 2026-07-28 sur DynamoDB Local 3.3.0 via @aws-sdk/client-dynamodb 3.1095.0 sur Node v24.18.0. Le chiffre de 49 lectures sur le service en direct vient de notre propre reproduction antérieure sur DynamoDB dans us-east-1.