Processing math: 100%

Wiki

A universe of ideas

User Tools

Site Tools


uni:8:dbs2:start

This is an old revision of the document!


Datenbanksysteme II

Übung 1

  • Transaktion
    Folge von Aktionen (read/write) die die DB von einem konsistenten Zustand in einen anderen Konsistenten Zustand überführt.
  • Hauptaufgabe der Transaktionen - Verwaltung
    • Synchronisation (Koordination von mehreren Benutzerproxessen ⇒ Logische Einbenutzerbetrieb)
    • Recovery (Behebung von Fehlersituationen)
  • Eigenschaften von Transaktionen (ACID-Prinzip)
    • Atomicy (Atomarität: EffektTransaktion trifft ganz oder gar icht in ???)
    • Consistency (Konsistenz/Integritätserhaltung: Konsistenter Zustand ⇒ Konsistenter Zustand)
    • Isolation (Isoliertheit: Logischer Einbenutzerbetrieb)
    • Durability (Dauerhaftigkeit, Persistenz)
  • Schedule
    Folge von Aktionen (read/write) für eine Menge {T1,,Tn} von Transaktionen, die durch Mischen der Aktionen der Transaktionen entsteht, wobei die Reihenfolge innerhalb der Transaktionen beibehalten wird.
  • Serieller Schedule
    Schedule S von {T1,,Tn}, in dem die Aktionen der einzelnen Transaktionen nicht unter einander verzahnt sind, sondern sin Blöcken hintereinander ausgeführt werden
  • Serialisierbarer Schedule
    Schedule S von {T1,,Tn}, der die selbe Wirkung hat, wie ein belibiger serieller von {T1,,Tn} ⇒ Nur serialisierbarer Schedules dürfen zugelassen werden!

Aufgabe 1

Mögliche Abhängigkeiten

  • rw
  • wr
  • ww

Für S1 T1 = (r(v), w(v)) T2 = (w(x), w(w), r(v)) T3 = (w(z), r(y), w(x)) T4 = (r(w), r(z), W(y))

a

⇒ Gleiche Tranasktions- & Aktionsmenge!

Abhängigkeiten:

  • S1: rw4,2(w),wr1,2(v),wr3,4(z),ww2,3(x),rw3,4(y)
  • S2: rw4,2(w),wr1,2(v),ww2,3(x),rw4,3(z),rw3,4(y)

S1 & S2 sind nicht Konfliktäquivalent!

b

⇒ Gleiche Tranasktions- & Aktionsmenge!

Abhängigkeiten:

  • S1: rw4,2(w),wr1,2(v),wr3,4(z),ww2,3(x),rw3,4(y)
  • S3: wr3,4(z),wr1,2(v),ww2,3(x),rw4,2(w),rw3,4(y)

S1 & S2 sind Konfliktäquivalent!

Aufgabe 2

Serialisierungs-/Abhängigkeitsgraph:

  • Knoten: Transaktionen
  • Kanten: Abhängigkeiten
  • Zyklenfrei: Topologische Ordnung = serielle Ausführung
  • enthält zyklen: S ist nicht seriallisierbar

a) T1, T2, T4, T3 oder T1, T4, T2, T3 b) nicht serialisierbar

Aufgabe 3

  • a): Lost Update S(r1(x),w2(x),w1(x))
    ⇒ Änderungen einer Transaktion werden durch eine andere Transaktion überschrieben und gehen verloren.
  • b): Dirty Read/Write: S(w1(x),r2(x),w1(x))
    ⇒ Zugriff auf “Schmutzige” Daten ⇒ Objekte, die von einer noch nicht beendenen Transaktion geändert werden
  • c): Non-Repeatable Read: S(r1(x).w2(x),r1(x)
    ⇒ Transaktion liest unterschiedliche Werte des selben Objekts

⇒ Annomalien können nur auftreten, wenn Isolation verletzt wird!

Aufbau

  • DB-Anwendung
  • DBS
    • DBMS
    • DB
Anwendungen (mehrere)
Externe Ebene Views (mehrere)
↓↓ Logische Datenunabhängigkeit ↓↓
Konzeptionelle Ebene
↓↓ Physische Datenunabhängigkeit ↓↓
Interne Ebene Speicherformat

Anforderungen

  • Integration einheitlicher Zugriff auf alle Daten einer Anwendung
  • Operationen auf den Daten (ändern, löschen, …)
  • Data Dictionary Schema anschauen
  • Benutzersicheten views
  • Konsistenzüberwachung bei Änderung
  • Zugriffskontrolle
  • Transaktionen
  • Synchronisation (Mehrbenutzersystem)
  • Datensicherung
  • Datensystem (deskriptive Anfragen, Mengenzugriffe)
  • Zugriffssystem (Satzzugriffe)
  • Speichersystem (Seitenzugriffe)
  • DB (Blocktransfer)

Neben an:

  • Transfermanagement???
  • Metadatenverwaltung

Drüber:

  • Anwendung

ACID

  • Atomic (Wenn, dann wird man als ganzes abgebrochen)
  • Consistency (Konsistenter Zystand → Konsistenter Zustand)
  • Isolation (Man muss sich aleine fühlen)
  • Durability (Abgeschlossene Transaktionen sind von dauer)

Synchronisation

Anomalien

Lost update
t1 r(x) w(x)
t2 w(x)
Dirty read/write
t1 w(x) w(x)
t2 r(x)
Non-repeatable read
t1 r(x) r(x)
t2 w(x)
Phantom-Problem

Non-repeatable read mit Aggregiertem read

Serialisierung

allgemeiner Schedule Durcheinander
serialisierbarer (allgemeiner) Schedule Durcheinander kann in Blockform gebracht werden
serieller Schedule Blockform

Graph Zeichen

  • Knoten: Transaktionen
  • Kanten: Abhängigkeiten
Übergang Markierung
wi(x)rj(x) wr(x)
ri(x)wj(x) rw(x)
wi(x)wj(x) ww(x)

Kein rr(x)

Zyklenfrei? ⇒ Serialisierbar durch topologisches sorieren

Technicken

  • Pessimistische Ablaufsteuerung (Locking)
  • Optimistische Ablaufsteuerung (Zeitstempelverfahren)
    Notfalls rollback
uni/8/dbs2/start.1430227351.txt.gz · Last modified: 2020-11-18 18:10 (external edit)