Anfang des Inhaltsbereichs

Hintergrunddokumentation Synchronisation der lokalen Puffer  Dokument im Navigationsbaum lokalisieren

Die Tabellenpuffer befinden sich lokal auf jedem Applikationsserver des Systems. Damit entsteht das Problem, daß die Pufferverwaltung Änderungen an gepufferten Objekten auf allen Applikationsservern des Systems nachziehen muß.

Diese Grafik wird im zugehörigen Text erklärt

Wird eine gepufferte Tabelle modifiziert, so wird sie im Puffer des Applikationsservers, von dem aus die Änderung durchgeführt wurde, synchron aktualisiert. Die netzweite Puffersynchronisation, d.h. die Synchronisation der Puffer aller anderen Applikationsserver, erfolgt mittels eines asynchronen Verfahrens.

Nach jeder Modifikation an Tabellen, die gepuffert werden können, werden Einträge in eine zentrale Datenbanktabelle (DDLOG) geschrieben. Diese Einträge werden von jedem Applikationsserver in festen Zeitabständen gelesen.

Werden Einträge gefunden, die eine Änderung der von diesem Server gepufferten Daten anzeigen, so werden diese Daten invalidiert. Bei einem neuen Zugriff auf die Daten, werden diese dann direkt von der Datenbank gelesen. Bei einem solchen Zugriff kann die Tabelle dann erneut in den Puffer geladen werden.

Um zu verhindern, daß eine Tabelle permanent in den Puffer geladen und dort sofort wieder invalidiert wird, kann die Tabelle nach dem Invalidieren erst nach Ablauf einer Wartezeit wieder in den Puffer geladen werden.

Dieses Verfahren hat gegenüber einem synchronen Verfahren (jede Änderung an gepufferten Daten eines Servers wird sofort allen anderen Servern über das Netz bekanntgegeben) den großen Vorteil, die Netzlast des Systems gering zu halten. Würden die Puffer sofort nach jeder Änderung synchronisiert, müßte jeder Server jede Änderung an einer gepufferten Tabelle allen anderen Servern über das Netz mitteilen. Dies würde sich negativ auf die Performance auswirken.

Der Nachteil des Verfahrens gegenüber der synchronen Aktualisierung besteht darin, daß die Daten während der Zeitspanne zwischen zwei Synchronisationen nicht mehr aktuell sein können.

Aufgrund des asynchronen Verfahrens zur Puffersynchronisation sollten Sie bei der Einstellung der Pufferung für eine Tabelle folgende Punkte beachten:

Achtung

Standardmäßig ist die Puffersynchronisation im Systemprofil eingeschaltet. In zentralen Systemen, die nur einen Applikationsserver besitzen, ist die Puffersynchronisation nicht nötig und sollte unbedingt ausgeschaltet werden.

Siehe auch:

Beispiel zur Puffersynchronisation