13.3 Neue Realisierungsanforderungen
In SD-Systemen erfordert die Kohärenzkontrolle, invalidierte Seitenkopien in den DB-Puffern zu erkennen bzw. von vorneherein zu vermeiden. Weiterhin müssen die Änderungen im ganzen System propagiert werden, um an jedem Rechner die neuesten Objektversionen verfügbar zu machen. Der Austausch geänderter Seiten kann über die gemeinsamen Platten erfolgen, indem zunächst ein Ausschreiben in die physische DB erfolgt, von wo dann andere Rechner die aktuelle Version einer Seite lesen. Wesentlich schneller ist allerdings der direkte Austausch geänderter Seiten über das Kommunikationsnetz, wenngleich dabei die physische DB auf dem veralteten Stand bleibt.
Die replizierte Speicherung von DB-Seiten in mehreren Puffern unterstützt das Lastbalancierungspotential von SD, da somit dieselben Objekte in verschiedenen Knoten parallel bearbeitet werden können. Andererseits ergibt sich damit systemweit betrachtet i.d.R. eine Verringerung der Trefferraten gegenüber zentralisierten DBS bzw. Shared-Nothing-Systemen. Denn dort wird eine Seite nur einmal gepuffert, so daß bei gleicher Gesamt-Hauptspeichergröße insgesamt mehr unterschiedliche Seiten gepuffert werden können. Pufferinvalidierungen führen zu einer weiteren Verschlechterung des E/A-Verhaltens, da veraltete Kopien nicht wiederverwendet werden können. Die Anzahl von Pufferinvalidierungen steigt sowohl mit der Änderungsrate, der Puffergröße sowie der Rechneranzahl (da N-1 von N Rechnern Invalidierungen verursachen können). Letztere Abhängigkeit kann für änderungsintensive Lasten zu einer beeinträchtigten Skalierbarkeit von Shared-Disk-Systemen führen. Dies gilt jedoch primär für einfache Lastverteilungsansätze, die das Referenzverhalten nicht berücksichtigen, so daß sich die Zugriffe auf bestimmte DB-Bereiche gleichermaßen über alle N Rechnern verteilen (s.u.).
Die wichtigsten Ansätze zur Kohärenzkontrolle in Shared-Disk-Systemen werden in Kap. 15 behandelt.