Download - WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation
![Page 1: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/1.jpg)
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Vorlesung #12
Mehrbenutzersynchronisation
![Page 2: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/2.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 2
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
„Fahrplan“ Motivation Fehler bei unkontrolliertem Mehrbenutzerbetrieb
Lost Update Dirty Read (Non-Repeatable Read) Phantom
Serialisierbarkeit Transaktionshistorien, Datenbank-Scheduler Sperrbasierte Synchronisation Recovery-Fähigkeit und Verklemmungen (Deadlocks)
werden nächstes Semester behandelt
![Page 3: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/3.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 3
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Motivation - Mehrbenutzerbetrieb
Mehrbenutzerbetrieb (Multiprogramming) – gleichzeitige (nebenläufige, parallele) Ausführung mehrerer Programme
führt zu besseren Auslastung eines Computersystems als Einzelbenutzersystem
Prinzip: während auf eine interaktive (aus „Computer“-Sicht sehr langsame) Benutzereingabe oder Freigabe einer Resource (z.B. Drucker) gewartet wird, kann der Computer rechenintensive Vorgänge anderer Programme verarbeiten
Oft geht es nur in Mehrbenutzerbetrieb Beispiel: (Online-)Bestellungen bei Versand-Handel
![Page 4: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/4.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 4
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Motivation – Mehrbenutzerbetrieb (2) Mehrbenutzerbetrieb hat sich bereits in der Praxis überall
etabliert, nicht nur auf großen Server sondern sogar auf PCs, die als „persönliche“ Arbeitsplatzstationen ursprünglich für den Einzelbenutzerbetrieb konzipiert waren.
Beispiele: Windows2000, WindowsXP, Linux statt MS DOS und Windows3.1
Ihr Rechner (PC oder Laptop) verarbeitet bereits mehrere Tasks gleichzeitig und kann als Server im Mehrbenutzerbetrieb eingesetzt werden, sobald Sie im Netz erreichbar sind. Einzelbenutzerbetrieb ist auf der Betriebsystemebene so gut wie verschwunden!
Die meisten Programme innerhalb eines Mehrbenutzersystems arbeiten aber immer noch im Einzelbenutzerbetrieb (exklusiv) mit sehr eingeschränkten Kooperationsmöglichkeiten auf der Datei-Ebene. Wie sieht es aus bei den Datenbanken?
![Page 5: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/5.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 5
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 6: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/6.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 6
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Fehlerklassifizierung
Es gibt drei Fehlerarten:1. „Lost Update“ – verlorengegangene Änderungen
Benutzer 1 ändert etwas in File15.xls und speichert ab. Benutzer 2 ändert etwas in File15.xls und speichert ab. Die Version des Benutzer 2 ist zuletzt gespeichert, die
Arbeit des Benutzers 1 geht verloren.
2. „Dirty Read“ – Lesen von nicht freigegebenen Änderungen Das Konto wird fälschlicherweise vorübergehend mit
10000 € belastet. Zinsen werden mit –10000 € berechnet und abgezogen.
3. „Phantom“ - ein neuer Wert tritt während der Abarbeitung einer langen Transaktion auf
![Page 7: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/7.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 7
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Fehlerklassifizierung (2)
Es folgen die Beispiele der 3 Fehlerarten anhand der Transaktionsabarbeitung ...
I. Lost Update
II. Dirty Read
III. Phantom
![Page 8: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/8.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 8
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 9: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/9.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 9
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 10: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/10.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 10
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 11: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/11.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 11
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Mehrbenutzer- vs. Ein-Benutzerbetrieb
Mehrbenutzerbetrieb Vorteile: Guter Durchsatz,
Gute Systemauslastung Nachteile: Lost update, Dirty
Read, Phantom
Einbenutzerbetrieb Vorteile: keine
Mehrbenutzer-Fehler Nachteile: schlechter
Durchsatz, schlechte Systemauslastung
Man soll Vorteile von beiden Betriebsarten kombinieren Serialisierbarkeit
![Page 12: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/12.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 12
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Serialisierbarkeit Um das „I“ (Isolation) aus ACID zu erreichen und
dennoch einen guten Durchsatz und gute Auslastung beizubehalten, verarbeitet man die Transaktionen kontrolliert parallel - „verzahnt“
Man lässt die Transaktionen nebenläufig ablaufen, sorgt aber mit einer Kontrollkomponente (Mehrbenutzersynchronisation) dafür, dass beobachtbare Wirkung der nebenläufigen Ausführung einer möglichen seriellen Abarbeitung (wie in Einbenutzerbetrieb) entspricht
Daher „serialisierbar“ – „möglichst seriell“
![Page 13: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/13.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 13
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 14: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/14.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 14
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 15: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/15.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 15
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 16: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/16.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 16
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 17: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/17.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 17
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 18: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/18.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 18
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Theorie der Serialisierbarkeit Vorabdefinitionen bzw. Erläuterungen Transaktionen – nur Basisoperationen BOT, read(),
write(), commit, abort Historie (Schedule) – zeitliche Anordnung der
einzelnen verzahnt ausgeführten Elementaroperationen einer Menge von parallel laufenden Transaktionen
Es muss die Reihenfolge (Ordnung) der Teiloperationen gegeben werden
... weiter Kemper-Folien 10 bis 18 (Kapitel 11) ...
![Page 19: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/19.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 19
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 20: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/20.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 20
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 21: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/21.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 21
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 22: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/22.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 22
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 23: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/23.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 23
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 24: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/24.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 24
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 25: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/25.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 25
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 26: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/26.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 26
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 27: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/27.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 27
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 28: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/28.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 28
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Theorie der Serialisierbarkeit (2) Konfliktoperationen sind solche Operationen, die bei einer
unkontrollierten parallelen Ausführung zu Inkonsistenzen führen können
Äquivalente Historien sind Historien bei denen Konfliktoperationen der nicht abgebrochenen Transaktionen in derselben Reihenfolge ausgeführt werden
Eine Historie H ist serialisierbar, wenn sie äquivalent zu einer seriellen Historie HS
Serialisierbarkeitsgraph SG(H) – gerichteter Graph bei dem Kanten die Konfliktoperationen und zugehörige Abhängigkeiten repräsentieren
Serialisierbarkeitstheorem – H ist serialisierbar wenn SG(H) azyklisch ist
![Page 29: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/29.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 29
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 30: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/30.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 30
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 31: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/31.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 31
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 32: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/32.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 32
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 33: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/33.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 33
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 34: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/34.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 34
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Eigenschaften von Historien bzgl. Recovery Recovery-Komponente stellt aber zusätzliche
Anforderungen an Mehrbenutzersynchronisation:1. Jede Transaktion soll zu jedem Zeitpunkt lokales Commit
durchführen können, ohne dass andere Transaktionen etwas davon merken (rücksetzbare Historien)
2. Lokales Zurücksetzen einer Transaktion soll kein kaskadierendes Zurücksetzen – d.h. Schneeball-Effekt auslösen – Performance-Anforderung. Veränderte Daten einer Transaktion dürfen nicht gelesen werden (Historien ohne kaskadierendes Rücksetzen)
3. Veränderte Daten einer Transaktion dürfen nicht überschrieben werden (strikte Historien)
... weiter Kemper 11.19 – 11.23 ..
![Page 35: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/35.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 35
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 36: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/36.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 36
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Datenbank-Scheduler
DB-Scheduler ist eine DBMS-Komponente (siehe Architektur - Kemper 11.24)
Aufgabe – lasse nur „vernünftige“ Historien zu (was vernünftig ist, ist in der DBMS Konfiguration einstellbar). Z.B. : serialisierbar und ohne kaskadierendes Rücksetzen
Realisierung des Schedulers Sperrbasiert (lock based) – in der Praxis am häufigsten Zeitstempelbasiert (time stamp based)
Außer sperr- und zeitstempelbasierten Synchronisation, die als „pessimistisch“ eingestuft werden, gibt es noch optimistische Verfahren
![Page 37: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/37.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 37
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Datenbank-Scheduler (2)
Der Scheduler bekommt den Ausführungsplan von Transaktionsmanager und ergänzt ihn um Sperr-oder Zeitstempel-Operationen.
Beispiel mit Sperroperationen lock()
Schritt T1
1. BOT
2. lockX(A)
3. read(A)
4. write(A)
5. ...
![Page 38: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/38.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 38
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 39: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/39.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 39
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 40: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/40.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 40
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 41: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/41.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 41
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 42: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/42.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 42
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 43: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/43.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 43
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 44: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/44.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 44
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Sperrbasierte Synchronisation
Hier Zusammenfassung (Details Kemper 11.25 –11.30)
2 Sperrmodi S – „Shared“, Lesen, Read X – Exclusive, Schreiben, Write
Operationen: lockS(), unlockS(), lockX(), unlockX() 2 Phasen Sperrprotokoll – 2 phase locking (2PL)
Wachstumsphase (Anforderung der Sperren) Schrumpfungsphase (Freigabe der Sperren)
2PL erlaubt kaskadierendes Rollback
strenges 2PL - keine Schrumpfungsphase, alle Sperren werden auf einmal freigegeben
![Page 45: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/45.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 45
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
![Page 46: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/46.jpg)
© Bojan Milijaš, 15.01.2010 Vorlesung #12 - Mehrbenutzersynchronisation 46
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Fazit Notwendigkeit der Parallelisierung Notwendigkeit der Synchronisation bei der
Fehlerarten (lost update, dirty read, phantom) Historien Serialisierbarkeit, Theorem, Graph Historien & Recovery (ST, ACA, RC) Datenbank-Scheduler Sperrbasierte Synchronisation (2PL) Deadlocks (Verklemmungen) – nächstes
Semester
![Page 47: WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R 0.006 Vorlesung #12 Mehrbenutzersynchronisation](https://reader035.vdocument.in/reader035/viewer/2022081602/55204d7749795902118cbf02/html5/thumbnails/47.jpg)
WS 2009/10Datenbanksysteme
Fr 15:15 – 16:45R 0.006
Vorlesung #12
Ende