09.11.2012 Aufrufe

Skript Datenbanken I - Praktische Informatik Universität Kassel

Skript Datenbanken I - Praktische Informatik Universität Kassel

Skript Datenbanken I - Praktische Informatik Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

136<br />

<strong>Datenbanken</strong> I<br />

• SIX (shared intention exclusive, gemeinsamer Zugriff z.B. auf<br />

Tabelle, Anmeldung auf exklusiven Zugriff auf ein Untertupel)<br />

Ein Objekt kann mehrere Sperren haben, solange sie verträglich sind.<br />

Sperrkompatibilität nach [MHLPS]:<br />

S X IS IX SIX<br />

S ✔ ✔<br />

X<br />

IS ✔ ✔ ✔ ✔<br />

IX ✔ ✔<br />

SIX ✔<br />

Das Setzen und Abfragen von Sperren benötigt ca. 100 Maschineninstruktionen.<br />

Da diese Operationen selbst vor Mehrbenutzerzugriff<br />

geschützt werden müssen, werden u. U. sog. Latches (Riegel) eingeführt,<br />

die nur etwa 10 Instruktionen benötigen und ähnlich wie Semaphore in<br />

Betriebssystemen arbeiten.<br />

Mit Sperren wird das Zweiphasen-Sperrprotokoll (2PL) realisiert, das in<br />

der<br />

• Wachstumsphase alle benötigten Sperren erlangt, und in der<br />

• Reduzierungsphase Sperren aufgibt ohne neue zu erlangen.<br />

Diese Technik ist hinreichend für Serialisierbarkeit, genügt aber nicht für<br />

Isolierung, wenn andere Transaktionen Resultate vor dem Commit lesen<br />

können. Deshalb üblicherweise<br />

• Halten der X-Sperren bis zum Commit.<br />

Damit ist aber die Gefahr einer Verklemmung gegeben, für deren Entstehung<br />

die folgenden 4 Umstände notwendig sind:<br />

• exklusiver Zugriff (mutual exclusion)<br />

• inkrementelle Zuteilung (wait for)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!