DynamoDB peut-il servir de cache ?

Oui. Les recherches clé-valeur rapides de DynamoDB et le TTL en font un cache durable solide — pour les sessions, les tokens et les résultats calculés. Pour des lectures sous la milliseconde, associe-le à DynamoDB Accelerator (DAX), un cache write-through en mémoire entièrement managé qui se place devant la table et renvoie des lectures à terme en microsecondes, sans aucun code d'invalidation de cache.

DynamoDB comme cache durable

Parce que les lectures se font par clé et en quelques millisecondes à un chiffre, DynamoDB fonctionne bien comme couche de cache persistante. Le TTL fait expirer les entrées périmées pour toi : les sessions mises en cache ou les résultats précalculés se nettoient donc tout seuls.

Ajouter DAX pour descendre aux microsecondes

DAX est un cache en mémoire qui se place devant DynamoDB :

  • Read-through / write-through — il gère le remplissage et l'invalidation pour toi.
  • Lectures en microsecondes — jusqu'à un facteur 10 sur les lectures à terme.
  • Compatible avec l'API — des changements applicatifs minimes.

Ce que DAX coûte avant de te faire économiser

DAX est un achat de latence. Une fois chiffré, il ne commence à faire économiser que si tu lis énormément.

Un nœud dax.t3.small coûte 0,04 $ de l'heure en us-east-1, et AWS en recommande au moins trois répartis sur des zones de disponibilité en production, parce que trois est le nombre qui rend un cluster tolérant aux pannes. Ça fait 87,60 $ par mois. Une lecture à terme on-demand d'un élément allant jusqu'à 4 KB coûte 0,0000000625 $ : les mêmes 87,60 $ achètent donc 1,4 milliard de lectures directement sur la table, soit 533 par seconde tenues tout le mois.

Ce chiffre flatte encore DAX : il suppose que chaque lecture touche le cache, alors qu'en pratique chaque miss facture une lecture de table en plus du cluster. Un cluster de développement à un seul nœud coûte 29,20 $ par mois, soit 178 lectures par seconde, et AWS déconseille moins de trois nœuds en production, parce qu'un cluster d'un ou deux nœuds peut perdre purement et simplement ses données en cache.

Le TTL est gratuit, et pas immédiat

Faire expirer une entrée toi-même coûte une unité d'écriture ; un million d'appels DeleteItem sur des éléments allant jusqu'à 1 KB coûte 0,63 $. Le TTL fait le même travail sans consommer de débit d'écriture, et c'est l'argument pratique en sa faveur dans un cache.

Le piège, c'est le timing. AWS supprime les éléments expirés généralement dans les quelques jours qui suivent l'expiration : le stockage continue donc d'être facturé pour des entrées que ton application considère comme disparues, et la facture suit le délai de suppression plutôt que le TTL que tu as fixé. Mets en cache 1 000 éléments par seconde à 1 KB avec un TTL d'une heure et l'ensemble vivant pèse 3,4 GB, soit 0,86 $ par mois ; un délai de deux jours gare 165 GB d'entrées mortes à côté, à 41,19 $ par mois. Les éléments expirés continuent aussi d'apparaître dans les résultats de Query et de Scan jusqu'à leur suppression physique : filtre donc sur l'attribut d'expiration à la lecture plutôt que de lui faire confiance.

Quand ça convient et quand ça ne convient pas

Excellent pour les charges de travail à dominante lecture qui tolèrent la cohérence à terme (DAX sert des données à terme). Si tu as besoin d'une cohérence forte à chaque lecture, adresse-toi directement à la table. Les nœuds DAX se répliquent eux aussi entre eux en cohérence à terme : deux clients sur le même cluster peuvent donc lire brièvement des valeurs différentes pour la même clé.

Aller plus loin

Lis DynamoDB TTL et la cohérence DynamoDB. Télécharge DynoTable pour inspecter tes tables de cache.

Références

Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.

Chiffré le 2026-07-28. Le tarif horaire par nœud DAX a été lu depuis l'AWS Price List API (us-east-1, dax.t3.small, 0,040 $) et les tarifs de lecture, d'écriture et de stockage viennent du même flux que synchronise notre calculateur de tarifs ; l'arithmétique ci-dessus est la nôtre et chaque donnée d'entrée figure sur la page.

Travaille avec DynamoDB sans la Console

Un client de bureau rapide pour DynamoDB qui exécute le vrai SQL que DynamoDB ne peut pas — JOINs, GROUP BY, agrégations — avec édition visuelle et un agent IA sur tes propres clés Bedrock.

Essai gratuit de 30 jours, sans carte bancaire — ensuite la formule Gratuit, sans limite de durée.