Inline-Cache

Sie können das Inline-Caching für ein Datenbank-Back-End oder als Nebencache für eine Datenbank konfigurieren. Beim Inline-Caching wird eXtreme Scale als primäres Mittel für die Interaktion mit den Daten verwendet. Bei der Verwendung von eXtreme Scale als Inline-Cache interagiert die Anwendung über ein Ladeprogramm-Plug-in mit dem Back-End.

Inline-Cache

Bei Verwendung als Inline-Cache interagiert WebSphere eXtreme Scale über ein Loader-Plug-in mit dem Back-End. Dieses Szenario kann den Datenzugriff vereinfachen, weil Anwendungen direkt auf die APIs von eXtreme Scale zugreifen können. Es werden verschiedene Caching-Szenarien in eXtreme Scale unterstützt, um sicherzustellen, dass die Daten im Cache und die Daten im Back-End synchronisiert sind. Die folgende Abbildung veranschaulicht, wie ein Inline-Cache mit der Anwendung und dem Back-End interagiert.
Abbildung 1. Inline-Cache
Inline-Cache: Es wird ein Loader-Plug-in für die Integration von Datenbank und Datengrid verwendet. Die Anwendung greift auf das Datengrid zu.
Die Option für Inline-Caching vereinfacht den Datenzugriff, weil sie Anwendungen den direkten Zugriff auf die eXtreme-Scale-APIs ermöglicht. WebSphere eXtreme Scale unterstützt mehrere Szenarien mit Inline-Caching:
  • Read-through
  • Write-Through
  • Write-behind

Szenario mit Read-through-Caching

Ein Read-through-Cache ist ein Teilcache, in den nach und nach Dateneinträge nach Schlüssel geladen werden, wenn diese angefordert werden. Dies geschieht, ohne dass der Aufrufende wissen muss, wie die Einträge geladen werden. Wenn die Daten nicht im eXtreme-Scale-Cache gefunden werden, ruft eXtreme Scale die fehlenden Daten vom Loader-Plug-in ab, das die Daten aus der Back-End-Datenbank lädt und in den Cache einfügt. Nachfolgende Anforderungen für denselben Datenschlüssel werden im Cache gefunden, bis der Eintrag gelöscht, ungültig gemacht oder durch Bereinigung entfernt wird.
Abbildung 2. Read-through-Caching
Read-through-Caching mit einem Loader

Szenario mit Write-Through-Caching

In einem Write-Through-Cache (Durchschreibcache) erfolgt bei jedem Schreibvorgang in den Cache ein synchroner Schreibvorgang über den Loader in die Datenbank. Diese Methode gewährleistet die Konsistenz mit dem Back-End, verringert aber die Schreibleistung, weil die Datenbankoperation synchron erfolgt. Da der Cache und die Datenbank beide aktualisiert werden, werden bei nachfolgenden Leseoperationen dieselben Daten im Cache gefunden und Datenbankaufrufe vermieden. Ein Write-Through-Cache wird häufig in Kombination mit einem Read-through-Cache verwendet.
Abbildung 3. Write-Through-Caching
Write-Through-Caching mit einem Loader

Szenario mit Write-behind-Caching

Die Datenbanksynchronisation kann verbessert werden, indem Änderungen asynchron geschrieben werden. Dies wird als Write-behind- oder Write-back-Cache (Rückschreibcache) bezeichnet. Änderungen, die normalerweise synchron in den Loader geschrieben werden, werden stattdessen in eXtreme Scale gepuffert und über einen Hintergrund-Thread in die Datenbank geschrieben. Die Schreibleistung wird erheblich verbessert, weil die Datenbankoperation aus der Clienttransaktion entfernt wird und die Schreibvorgänge in die Datenbank komprimiert werden können.
Abbildung 4. Write-behind-Caching
Write-behind-Caching mit einem Loader