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
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
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
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