8.3 Optimistische Synchronisation

8.3.2 Zentrale Validierung

Zur Durchführung der Validierungen sendet eine Transaktion (bei globalen Transaktionen die Primär-Transaktion) am Transaktionsende den vollständigen Read- und Write-Set zu einem zentralen Knoten, der für die Durchführung der Validierungen verantwortlich ist. Dieser meldet dann nach der Validierung das Ergebnis zur (Primär-) Transaktion zurück, woraufhin entweder das Zurücksetzen der Transaktion oder die Schreibphase veranlaßt wird. Bei globalen Transaktionen erfolgt die Schreibphase im Rahmen eines verteilten Commit-Protokolls, das auf ändernde Sub-Transaktionen beschränkt werden kann.

Die zentrale Validierung hat neben der Einfachheit den Vorteil, daß zur eigentlichen Synchronisation nur eine Nachricht (die zur Validierung) erforderlich ist, auf die synchron gewartet werden muß. Damit liegt der Kommunikations-Overhead weit unter dem eines zentralen Sperrverfahrens, bei dem jede Sperranforderung eine synchrone Nachricht an den zentralen Lock-Manager verlangt. Jedoch kann zur Validierung nur eine BOCC-artige Synchronisation verwendet werden; die FOCC-Alternative scheitert daran, daß es unmöglich ist, im zentralen Knoten die aktuellen Read-Sets der in den verschiedenen Knoten laufenden Transaktionen zu kennen. Desweiteren bestehen auch hier wieder die Probleme zentralisierter Lösungen vor allem hinsichtlich Verfügbarkeit sowie Knotenautonomie. Insbesondere ist selbst für lokale Transaktionen Kommunikation zur Validierung erforderlich.