Cache à grande échelle
Un cache à grande échelle (Large-Scale Cache) désigne un système de mémoire distribuée à haute capacité, conçu pour stocker les données fréquemment consultées plus près de la couche applicative. Au lieu d'interroger le magasin de données principal, plus lent (comme une base de données), pour chaque requête, le système vérifie d'abord le cache. Si les données sont présentes (un « succès de cache » ou cache hit), elles sont servies instantanément, réduisant drastiquement la latence et la charge sur les ressources backend.
Dans les services web et les applications d'entreprise modernes à trafic élevé, les opérations d'entrée/sortie (I/O) des bases de données constituent souvent le principal goulot d'étranglement. Un cache à grande échelle atténue ce problème en absorbant la majorité des requêtes de lecture. Cela se traduit directement par des temps de réponse plus rapides pour les utilisateurs finaux, des coûts opérationnels réduits (en diminuant la pression sur la base de données) et une résilience globale améliorée du système en période de pointe.
L'opération implique généralement plusieurs couches. Les données sont récupérées de la source faisant autorité (par exemple, une base de données relationnelle) puis écrites dans le cluster de cache. Les requêtes subséquentes sont acheminées vers le cache. Le cache utilise des politiques d'éviction (comme LRU - Least Recently Used, Moins Récemment Utilisé) pour gérer sa mémoire finie, rejetant les données plus anciennes ou moins pertinentes lorsque la capacité est atteinte. Les caches distribués garantissent que les données sont partitionnées (sharded) sur plusieurs nœuds, permettant une capacité de stockage massive et une évolutivité horizontale.
Les concepts connexes incluent les réseaux de diffusion de contenu (CDN), la réplication de bases de données, les grilles de données en mémoire (in-memory data grids) et les modèles de cohérence éventuelle.