4
Synchronisation paralleler Transaktionen AIFB SS2001 1 4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener, sinnvoller und korrekter Benutzerauftrag; d.h. eine Folge von DB-Aktionen (DB-Operationen), die die DB von einem konsistenten in einen wiederum konsistenten (anderen) Zustand überführt.

Synchronisation paralleler Transaktionen AIFB SS2001 1 4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,

Embed Size (px)

Citation preview

Page 1: Synchronisation paralleler Transaktionen AIFB SS2001 1 4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,

Syn

chro

nisa

tion

para

llele

r T

rans

aktio

nen

A

IFB

S

S20

01

1

4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (1/4)

Eine Transaktion ist ein in sich geschlossener, sinnvoller und

korrekter Benutzerauftrag;

d.h. eine Folge von DB-Aktionen (DB-Operationen), die die DB

von einem konsistenten in einen wiederum konsistenten

(anderen) Zustand überführt.

Page 2: Synchronisation paralleler Transaktionen AIFB SS2001 1 4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,

Syn

chro

nisa

tion

para

llele

r T

rans

aktio

nen

A

IFB

S

S20

01

2

4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (2/4)

Charakteristische Eigenschaften (ACID-Prinzip)

• Atomicity (Unteilbarkeit):Eine Transaktion wird entweder vollständig oder gar nicht ausgeführt. Bei Fehlern während der Abarbeitung muss jede bereits stattgefundene Aktion rückgängig gemacht werden.

• Consistency (Konsistenz): Eine Transaktion führt eine konsistente Datenbank wieder in einen konsistenten Zustand über. Während des Ablaufs der Transaktion werden möglicherweise inkonsistente Zwischenzustände durchlaufen.

• Isolation: Eine Transaktion läuft so ab, als wäre sie die einzige im System. Parallele Transaktionen dürfen einander nicht beeinflussen.

• Durability (Dauerhaftigkeit): Änderungen, die von einer erfolgreichen Transaktion durchgeführt wurden, überdauern jeden Fehlerfall.

Page 3: Synchronisation paralleler Transaktionen AIFB SS2001 1 4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,

Syn

chro

nisa

tion

para

llele

r T

rans

aktio

nen

A

IFB

S

S20

01

3

4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (3/4)

Programmierer muss Anfang und Ende einer

Transaktion kennzeichnen.

BEGIN OF TRANSACTION (BOT)

. . . . . . .

END OF TRANSACTION (EOT)

Definieren einer Transaktion

Das DBMS kann nicht bestimmen, welche Aktionen eine

Transaktion bilden.

Page 4: Synchronisation paralleler Transaktionen AIFB SS2001 1 4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,

Syn

chro

nisa

tion

para

llele

r T

rans

aktio

nen

A

IFB

S

S20

01

4

4.2 Konzept der Transaktion 4.2 Konzept der Transaktion (4/4)

Korrektes Rücksetzen

Eine spezielle DBMS-Komponente sichert das korrekte Zurücksetzen

einer laufenden Transaktion im Fehlerfall (Unteilbarkeit)

Probleme beim Rücksetzen

Transaktionen, die Werte von zurückgesetzten Transaktionen

gelesen haben, müssen ebenfalls zurückgesetzt werden. (Bereits abgeschlossene Transaktionen können wegen der Dauerhaftigkeit

nicht mehr zurückgesetzt werden. Spezielle Kompensationstransaktionen

machen dann Änderungen rückgängig.)

Gefahr des fortgesetzten Rollbacks

(cascading rollback, Domino-Effekt)

Lösung:Lösung: Kein Zugriff auf geänderte Daten, bis

ändernde Transaktion abgeschlossen ist.