WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R 1.207 Vorlesung #12 Mehrbenutzersynchronisation.

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 15 Verteilte Datenbanken
Advertisements

Mehrbenutzersynchronisation
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Synchronisation paralleler Transaktionen AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (5/13) Schedule: T* = {T 1,..., T.
Rücksetzen Bisher betrachtetes Scheduling gewährleistet Isolation, d.h. Serialisierbarkeit, setzt jedoch voraus, dass Transaktionen abgebrochen und rückgesetzt.
C. Mohan, Bruce Lindsay and R. Obermarck
Transaktionsverwaltung
Transaktionsverwaltung
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Transaktionen in verteilten Datenbanken
Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 1 Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz.
Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz Isolation.
Kapitel 13: Mehrbenutzersynchronisation
Kapitel 14: Recovery Oliver Vornberger
1 Kapitel 12: Transaktionsverwaltung Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück Osnabrück
1 Kapitel 12: Transaktionsverwaltung. 2 Transaktion Bündelung mehrerer Datenbankoperationen Mehrbenutzersynchronisation Recovery.
15.1 Synchronisation nebenläufiger Prozesse
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
Einige Begriffe zum Anfang.... Transaktionsprozedur: Folge primitiver Operationen als Einheit der Konsistenz und der Robustheit. Transaktion (TA): Ausführung.
Transaktion 1Transaktion 2... Transaktion n Synchronisation durch Scheduler Datenbasis-Verwalter lokaler Schedule 1lokaler Schedule n konfliktserialisierbarer.
4.4.2 Sperrverfahren (9/18) Regeln für das Setzen von Sperren
Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht:
Implementierung von S2PL (1) Scheduler als Verwalter von Sperren auf Datenelementen sowie Warteschlangen für Sperren (Sperren-Verwalter). Transaktion 1Transaktion.
Modellierung von Transaktionen Zur Formalisierung der ACID-Garantien muss Verhalten von Transaktionen modelliert werden. Folge aus der Forderung nach lokaler.
Synchronisation paralleler Transaktionen AIFB SS Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,
Betriebliche Informationssysteme Prof. Dr. Michael Löwe
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Mehrbenutzersynchronisation
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #6 Fehlerbehandlung.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #10 Transaktionsverwaltung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #12 Mehrbenutzersynchronisation.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #7 Mehrbenutzersynchronisation (Teil 1)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #12 Mehrbenutzersynchronisation.
Vorlesung #9 Fehlerbehandlung
Synchronisation paralleler Transaktionen AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (11/13) Vermutung: Eine Schedule S.
Transaktion Huang Zhenhao FU Shuai.
Vorlesung #12 Mehrbenutzersynchronisation
Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München.
Vorlesung Datenbanksysteme WS 2.0 Christoph Koch (Subject: DBVO:...
ADAT©2004,2006 Dipl. - Ing. Walter SabinSeite: 48 Version 1.0a Recovery Wiederherstellung eines konsistenten Datenbankzustandes nach Fehlersituationen.
Übung: Transaktionale Systeme (Zusammenfassung der Vorlesungsinhalte)
Transaktionen Dr. Heidrun Bethge Datenbanken II.
Mehrbenutzerzugriff auf GIS-Daten
Mehrbenutzersynchronisation
Transaktionsverwaltung
Synchronisation paralleler Transaktionen  AIFB SS Sperrverfahren Sperrverfahren (13/18) Behandlung von Konflikten bei der Sperrvergabe.
Synchronisation mit Zeitmarken (1) Zeitmarken-Synchronisation = einfaches, aber ineffizientes Verfahren zur Gewinnung konfliktserialisierbarer Schedules.
Recovery    AIFB SS (1/6) Durchführung der Recovery-Maßnahmen(1/6) Transaktions-Fehler (TF) T1 T2 T3 Zeitt Transaktion T2 wird vom.
Serialisierbarkeitsprinzip Isolationsprinzip scheint zunächst streng serielle Abwicklung der Transaktionen zu fordern: r 1 (x) r 1 (y)... w 1 (z) c 1 r.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Abhängigkeiten zwischen Transaktionen (Fehlerklassen) u Lost-Update-Problem u Dirty Read.
Synchronisation paralleler Transaktionen  AIFB SS Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/3) Typen von Synchronisationsverfahren.
5.1.2 Sequentielle Konsistenz
Vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
6.3 Verteilte Transaktionen
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #1 Datenmanagement.
Prof. Dr. T. Kudraß1 Transaktionsmanagement - Einführung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
6.3 Verteilte Transaktionen
Übung Datenbanksysteme I Besprechung
Vorlesung #7 Fehlerbehandlung
WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten
Vorlesung #7 Fehlerbehandlung
Vorlesung #7 Fehlerbehandlung
Vorlesung #10 Fehlerbehandlung
 Präsentation transkript:

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #12 Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, „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 2Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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 3Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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? 4Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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 € belastet. Zinsen werden mit –10000 € berechnet und abgezogen. 3.„Phantom“ - ein neuer Wert tritt während der Abarbeitung einer langen Transaktion auf 6Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Fehlerklassifizierung (2)  Es folgen die Beispiele der 3 Fehlerarten anhand der Transaktionsabarbeitung... I.Lost Update II.Dirty Read III.Phantom 7Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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 11Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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“ 12Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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)... 18Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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 H S  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 19Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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 – Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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 21Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Datenbank-Scheduler (2)  Der Scheduler bekommt den Ausführungsplan von Transaktionsmanager und ergänzt ihn um Sperr- oder Zeitstempel-Operationen.  Beispiel mit Sperroperationen lock() ... weiter Kemper – SchrittT1T1 1.BOT 2.lockX(A) 3.read(A) 4.write(A) Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, Sperrbasierte Synchronisation  Hier Zusammenfassung (Details Kemper – 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 23Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R © Bojan Milijaš, 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 24Vorlesung #12 - Mehrbenutzersynchronisation

WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #12 Ende