Forschung
Fotografie - Sammlung  
 
  Dokumentationen
    Allerlei

Transaktionsparadigma -->
Anomalien im Mehrbenutzerbetrieb -->
Synchronisation -->
Deadlock -->
Erkennung eines Deadlocks -->
Sperrprotokolle -->
2 Phasen Sperrprotokoll -->


Definiere logische Verarbeitungsblöcke auf der Datenbank.

Definition
Eine Transaktion ist ein logischer Verarbeitungsblock der eine oder mehrere DB-Operationen beinhaltet.
Kurz: logisch ununterbrechbare Folge von DML (Data Manipulation Language)- Befehlen

Die Datenbankoperationen können in ein Anwendungsprogramm eingebettet sein oder interaktiv mit einer Anfragesprache wie SQL spezifiziert werden.
Eine Möglichkeit ist die Verwendung von BEGIN-TRANSACTION und END-TRANSACTION Anweisungen in einem Anwendungsprogramm.

Es gelten dann alle Anweisungen zwischen den beiden als Bestandteile einer Transaktion.


Transaktionsparadigma

Konsistenz:

Eine DB ist dann konsistent, wenn alle Tabellen, Schlüssel, Fremdschlüssel, korrekt belegt sind .

ACID - Prinzip

Grundregeln für Transaktionshandling

Atomicity - Alles oder nichts
   
Consistency - Konsistenzbedingungen überprüfen
   
Isolation -

alle Aktionen innerhalb sind abgeschlossen und von aussen nicht sichtbar

   
Durability Stabilität

Treten innerhalb einer Transaktion Fehler auf, sodass diese nicht zuende geführt wird (END TRANSACTION),
sind alle Aktionsbefehle innerhalb der unbeendeten Transaktion nichtig.

--> Atomicity


Anomalien im Mehrbenutzerbetrieb

Gegeben seien 2 Transaktionen T.

r read
w write

Beispiel 1:
T1 beginnt vor T2



Transaktionen werden so umgeändert, das sie geschlossen hintereinander ablaufen

Beispiel 2:

Eine sequentielle Folge ist hier so nicht möglich!


Synchronisation

Sperren löst 2 oder mehrere nicht serialisierbare Transaktionen. Sperren werden auch als 'locks' bezeichnet.

Beispiel:
Diese Transaktionen sind nicht serialisierbar!

Operationen dürfen nicht gegen die "Pfeilrichtung" getauscht werden. Eine Transaktion wird gestoppt, wenn eine
Änderung eine Inkonsistenz der Daten hervorrufen würde

S
X
Keiner
S + - +
X - - +

Legende:

Ls = lock shared
Lx = lock exclusive
S = shared (TABELLE)
X = exlusive (TABELLE)

Beispiel:

Erst nach Beendigung kommt X2 zum Zug
Am Ende: Zustand wird bis Ende gehalten und nach Beendigung aller Vorgänge erst freigegeben.

 


Deadlock


Tritt ein, wenn Transaktionen aufeinander unendlich warten. In solch einem Falle wird 1 Transaktion abgebrochen.

 


Erkennung eines Deadlocks

Sperrprotokolle: S,X
Sperrgranulate: Satz, Tabelle, Datenbank

 


Sperrprotokolle

Ein Transaktionsmechanismus ist

well-formed wenn:

1. nur auf Objekte, die zuvor gesperrt wurden, kann gelesen oder geschrieben werden

2. Sperren werden im richtigen Modus angefordert

a) R -> S (Lesen im Shared-Modus)

b) W -> x (Schreiben im Exklusiv-Modus)

3. Alle Sperren werden wieder freigegeben

 

Two - Phase

1. Die Transaktion zerfällt in 2 Phasen:

(Wachstums (a) - Schrumpf(b) - Phase)

a. Sperren wird angefordert aber nicht freigegeben

b. Sperre wird freigegeben Well formed + Two Phase -> serialisierbar

2 Phasen Sperrprotokoll

Das Objekt darf erst freigegeben werden, nachdem es das letzte mal genutzt wurde - spätestens wenn die Transaktion beendet wurde.

well formed :






Datenbanksysteme Teil 2
THEMEN:
Impressum
Transaktionen

Druckversion -->