Mehrrechner-Datenbanksysteme
Zwischen Kohärenzkontrolle und Synchronisation bestehen enge Abhängigkeiten. So erfolgen natürlich sämtliche Objektzugriffe im Puffer unter der Kontrolle der Synchronisation, so daß durch geeignete Erweiterungen dieser Funktion auch die Zugriffe auf veraltete Objektkopien verhindert bzw. erkannt werden können. Für Sperrverfahren wird es somit möglich, den Zugriff auf invalidierte Daten zu umgehen, da vor jedem Objektzugriff eine Sperre anzufordern ist. Für optimistische Synchronisationsverfahren kann dies dagegen i.a. nicht gewährleistet werden, da Objektzugriffe zunächst unsynchronisiert erfolgen. Hier wird spätestens bei der Validierung der Zugriff auf veraltete Objekte entdeckt, was jedoch zur Rücksetzung der betroffenen Transaktion führt. Eine schnelle Beseitigung von Pufferinvalidierungen ist daher wesentlich zur Begrenzung der Rücksetzhäufigkeit.
Eine weitere wichtige Abhängigkeit betrifft das Synchronisationsgranulat. Da Seiten die Einheiten des Transfers zwischen Extern- und Hauptspeicher sowie der Hauptspeicherpufferung darstellen, vereinfacht sich die Kohärenzkontrolle bei einer Synchronisation auf Seitenebene (oder gröberen Granulaten). Weiterhin ergeben sich in diesem Fall effiziente Lösungsmöglichkeiten zur Kohärenzkontrolle mit geringem Kommunikationsbedarf. Bei feineren Granulaten wie Satzsperren besteht das Problem, daß verschiedene Sätze derselben Seite parallel in verschiedenen Rechnern geändert werden können. Damit sind die Seitenkopien beider Rechner nicht vollständig aktuell, wodurch sich die Konsistenzwahrung der physischen Datenbank sowie die Propagierung von Änderungen verkomplizieren. Die folgenden Ausführungen werden daher eine Synchronisation auf Seitenebene unterstellen; auf die Verwendung feinerer Granulate wird in Kap. 15.5 eingegangen.
Wir geben zunächst einen Überblick über das Lösungsspektrum der Kohärenzkontrolle, indem wir für die beiden genannten Teilprobleme jeweils mehrere Alternativen spezifizieren. In den darauffolgenden Kapiteln 15.2 bis 15.4 werden dann die drei wichtigsten Verfahrensklassen zur Erkennung/Vermeidung von Pufferinvalidierungen im Detail vorgestellt, wobei jeweils auf verschiedene Kombinationsmöglichkeiten zur Propagierung von Änderungen sowie zur Synchronisation eingegangen wird. Danach behandeln wir Möglichkeiten zur Kohärenzkontrolle beim Einsatz von Satzsperren. Abschließend geben wir eine zusammenfassende Wertung der Verfahren zur Kohärenzkontrolle sowie ihrer Kombination mit Synchronisationsverfahren (Kap. 15.6).