WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 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.
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.
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
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.
Transaktion 1Transaktion 2... Transaktion n Synchronisation durch Scheduler Datenbasis-Verwalter lokaler Schedule 1lokaler Schedule n konfliktserialisierbarer.
Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht:
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
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #6 Fehlerbehandlung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #10 Physische Datenorganisation.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #10 Transaktionsverwaltung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #3 Relationale Anfragesprachen.
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
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2013/14 Datenbanksysteme Fr 17:00 – 18:30 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
Synchronisation paralleler Transaktionen AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (11/13) Vermutung: Eine Schedule S.
Transaktion Huang Zhenhao FU Shuai.
Vorlesung #12 Mehrbenutzersynchronisation
Vorlesung #10 Physische Datenorganisation
Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
Vorlesung Datenbanksysteme WS 2.0 Christoph Koch (Subject: DBVO:...
Transaktionen Dr. Heidrun Bethge Datenbanken II.
Mehrbenutzerzugriff auf GIS-Daten
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Mehrbenutzersynchronisation
Vorlesung #5 SQL (Teil 2).
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #10 RDBMS Erweiterungen.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
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.
Vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
6.3 Verteilte Transaktionen
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #12 Mehrbenutzersynchronisation.
Prof. Dr. T. Kudraß1 Transaktionsmanagement - Einführung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #12 Mehrbenutzersynchronisation

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation2 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 Ausblick Vorlesung #14

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation3 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation4 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?

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation5

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation6 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

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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation8

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation9

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation10

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation11 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation12 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation13

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation14

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation15

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation16

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation17

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation18 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)...

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation19 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

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R © Bojan Milijaš, Vorlesung #12 - Mehrbenutzersynchronisation20 Fazit Notwendigkeit der Parallelisierung Notwendigkeit der Synchronisation bei der Fehlerarten (lost update, dirty read, phantom) Historien Serialisierbarkeit, Theorem, Graph Sperrbasierte Synchronisation (2PL), Deadlocks (Verklemmungen) – nächstes Semester

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #12 Ende