Großskaliger Cache
Ein Large-Scale Cache (großskaliger Cache) bezeichnet ein hochkapazitives, verteiltes Speichersystem, das dafür konzipiert ist, häufig aufgerufene Daten näher an die Anwendungsschicht zu speichern. Anstatt für jede Anfrage die primäre, langsamere Datenquelle (wie eine Datenbank) abzufragen, prüft das System zuerst den Cache. Wenn die Daten vorhanden sind („Cache Hit“), werden sie sofort bereitgestellt, wodurch die Latenz und die Last auf den Backend-Ressourcen drastisch reduziert werden.
In modernen Webdiensten und Unternehmensanwendungen mit hohem Datenverkehr ist die Datenbank-I/O oft der größte Engpass. Ein großskaliger Cache mildert dies, indem er die Mehrheit der Leseanfragen aufnimmt. Dies führt direkt zu schnelleren Antwortzeiten für Endbenutzer, niedrigeren Betriebskosten (durch Reduzierung der Datenbankbelastung) und einer verbesserten allgemeinen Systemresilienz bei Spitzenlast.
Der Vorgang umfasst typischerweise mehrere Schichten. Daten werden von der autoritativen Quelle (z. B. einer relationalen Datenbank) abgerufen und dann in den Cache-Cluster geschrieben. Nachfolgende Anfragen werden an den Cache weitergeleitet. Der Cache verwendet Eviktionsrichtlinien (wie LRU – Least Recently Used / Weniger kürzlich verwendet), um seinen begrenzten Speicher zu verwalten und ältere oder weniger relevante Daten zu verwerfen, wenn die Kapazität erreicht ist. Verteilte Caches stellen sicher, dass die Daten über mehrere Knoten aufgeteilt (sharded) werden, was eine massive Speicherkapazität und horizontale Skalierbarkeit ermöglicht.
Verwandte Konzepte umfassen Content Delivery Networks (CDNs), Datenbankreplikation, In-Memory Data Grids und Modelle der eventualen Konsistenz.