Clément Schanen

Bases de donnéesService régional

ElastiCache

Permet la gestion du cache mémoire

Présentation

  • Service de cache en mémoire entièrement managé, conçu pour :
    • Réduire la latence
    • Soulager les bases de données
    • Améliorer les performances applicatives
  • Stockage des données en RAM temps de réponse de l’ordre de la milliseconde

Cas d’utilisation

  • Exemples de cas d’utilisation :
    • Cache de requêtes SQL fréquentes
    • Cache de sessions utilisateur
    • Cache de réponse d’API
    • Données de référence peu volatiles
    • Limitation de charge sur une base relationnelle (RDS, Aurora)

ElastiCache ne remplace pas une base de données, mais s’utilise conjointement

Principe de fonctionnement

  • Flux classique :
    • Client Application ElastiCache Base de données
    • Si la donnée est en cache : réponse immédiate
    • Sinon : lecture en base, puis mise en cache
  • Objectifs :
    • réduire le nombre de requêtes
    • améliorer les temps de réponse
    • absorber les pics de trafic

Ce pattern est appelé le “cache-aside pattern”

Moteurs disponibles

Memcached

  • Cache simple, rapide, distribué
    • Cache clé / valeur en mémoire
    • Très performant
    • Architecture simple

Redis

  • Base de données en mémoire
    • Structures de données avancées (lists, sets, sorted sets…)
    • Persistance possible sur disque
    • Réplication
    • Failover automatique
    • Support Multi-AZ
    • Backups
Memcached Redis
Type Cache simple Base en mémoire
Persistance Non Oui
Multi-AZ / failover Non Oui
Backups Non Oui
Cas d’usage Cache éphémère Cache critique / données partagées

Redis est le choix par défaut dans la majorité des infrastructures modernes

Le cache améliore les performances mais ajoute de la complexité