Sie sind auf Seite 1von 11

c Professor Dr.

Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.1

Serialisierbarkeit
Ein Schedule bzgl. einer Menge von Transaktionen ist eine Verzahnung ihrer Aktionen, die die Reihenfolge der Aktionen einer jeden Transaktion erh alt. Ein Schedule heit seriell, wenn die Aktionen der einzelnen Transaktionen jeweils direkt aufeinander folgen.

Transaktionen und Schedule werden durch die Folge ihrer READ- und WRITEAktionen dargestellt; Zuordnung Aktionen zu Transaktionen innerhalb eines Schedules durch geeignete Indizierung. Beispiel:

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.2

Korrektheitskriterium fur parallele Transaktionen Ein Schedule heit serialisierbar genau dann, wenn zu ihm ein aquivalenter serieller Schedule derselben Transaktionen existiert.
Problem: Was ist ein geeigneter Aquivalenzbegriff? Zwei Schedule (derselben Transaktionsmenge) heien genau dann aquivalent, wenn fur jeden Startzustand und jede Interpretation der Schreibaktionen

(1) die Transaktionen bzgl. und jeweils dieselben Werte lesen, (2) und dieselben Endzustande erzeugen.

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.3

Beispiel:
: RA; A:=A-10; WA; RB; B:=B+10; WB
RA A:=A-10 WA RB B:=B+10 WB

: RA; A:=A-20; WA; RB; B:=B+20; WB


RA RA

A=B=10;

RA A:=A-10 WA

RA A:=A-10 WA

A:=A-10 A:=A-20

RA RA WA A:=A-20 A:=A-20 WA WA WA RA RB RB RB A:=A-20 RB B:=B+20 B:=B+20 WA B:=B+10 WB WB RB B:=B+20 RB RB B:=B+20 B:=B+10 B:=B+10 WB WB WB WB WB nicht serialisierbar A=-10, B=30 A+B=20 serialisierbar? A=-20,B=40 A+B=20 serialisierbar A=-20,B=40 A+B=20

seriell A=-20, B=40 A+B=20

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.4

Die Serialisierbarkeit eines Schedules soll allein aufgrund der Folge der Aktionen der Transaktionen entschieden werden. Formalisierung der Semantik einer Transaktion: Sei der Wertebereich der betrachteten DB-Objekte.

Sei eine Schreibaktion einer Transaktion und seien in vor ausgefuhrten Leseaktionen. Der mittels wobei eine

die

erzeugte Wert von


ergibt sich dann zu

in zugeordnete Funktion.

bezeichnen wir als die Interpretation der Schreibaktion

von .

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.5

Beispiel: Sei der Startzustand der DB gegeben durch wie folgt: Seien
.

Seien

Transaktionen

Schedule wie folgt:

Schedule , Schedule sind nicht serialisierbar; Schedule ist serialisierbar.

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.6

Schedule

Schedule

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.7

Sei ein Schedule. Der Schedule ist der augmentierte Schedule zu . sind zwei Transaktionen, die nicht in enthalten sind. erzeugt den Startzustand, liest den Endzustand des Schedules .

ist eine Transaktion, die gerade zu jedem Objekt eine Schreibaktion ausfuhrt, zu dem eine Transaktion in eine Lese- oder Schreibaktion ausfuhrt. ist eine Transaktion, die gerade zu jedem Objekt eine Leseaktion ausfuhrt, zu dem eine Transaktion in eine Lese- oder Schreibaktion ausfuhrt.

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.8

Sei ein Schedule. Der D-Graph (engl. dependency graph) von ist ein gerich , wobei die Menge aller Aktionen in und die teter Graph ): Menge der Kanten gema den folgenden Bedingungen (

in

, sofern zwischen keine weitere Schreibaktion zu existiert.

und

Satz: Zwei Schedule aktionen enthalten und

sind genau dann aquivalent, wenn sie dieselben Trans gilt.

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.9

Sei ein Schedule. Der C-Graph (engl. conict graph) von ist ein gerichteter , wobei die Menge aller Transaktionen in und die Graph ): Menge der Kanten gema den folgenden Bedingungen (jeweils

keine weitere Schreibaktion zu keine weitere Schreibaktion zu keine weitere Schreibaktion zu

, sofern zwischen existiert. (WR-Konikt)

und und und

in

, sofern zwischen existiert. (WW-Konikt) , sofern zwischen existiert. (RW-Konikt)

in in

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.10

Satz: Ein Schedule ist serialisierbar, wenn

zyklenfrei ist.

Beweisidee: Da zyklenfrei ist, existiert eine topologische Sortierung der Knoten, d.h. der Transaktionen. Sei der serielle Schedule gema einer solchen . Sortierung. Zeige dann

c Professor Dr. Georg Lausen, 2002: Vorlesung Datenbanken

Serialisierbarkeit.11

Es gibt jedoch serialisierbare Schedule, deren C-Graph nicht zyklenfrei ist: Beispiel:


Sei

Dann gilt: ist serialisierbar. Der zu aquivalente serielle Schedule ist : ist nicht serialisierbar.

Ein Schedule heit C-serialisierbar (konikt-serialisierbar) genau dann, wenn sein C-Graph zyklenfrei ist.