siehe Beispielszenarium auf folgenden Folien * d.h. Ausführung einer Transaktion nach der anderen

Größe: px
Ab Seite anzeigen:

Download "siehe Beispielszenarium auf folgenden Folien * d.h. Ausführung einer Transaktion nach der anderen"

Transkript

1 7. Synchronisation im Mehrbenutzerbetrieb (Concurrency Control) Hintergrund/Feststellung: a) Mehrbenutzerbetrieb auf Datenbanken unbedingt erforderlich; Serialisierung* würde Durchsatz dramatisch reduzieren b) Unkontrollierter Mehrbenutzerbetrieb führt zu vielfältigen Fehlersituationen und Chaos siehe Beispielszenarium auf folgenden Folien * d.h. Ausführung einer Transaktion nach der anderen T1 T2 T3 T4 Probleme so nicht!! (wäre allenfalls denkbar bei sehr, sehr kurzen TAen aber auch dort intolerabel in Praxis) - Wartezeiten für die Ti bis Start - DBVS-Auslastung ungenügend, da keine Nutzung von Denkzeiten, E/A-Zeiten... t

2 Probleme (Fehlerklassen) bei unkontrolliertem Mehrbenutzerbetrieb 1. Lost-update-Problem Zeit t Transaktion T1 liest A=30 aus DB verändert A:=A+10 in HSP schreibt A=40 in DB Transaktion T2 liest A=30 aus DB verändert A:=A-30 in HSP schreibt A=0 in DB die von T1 durchgeführte Änderung ist verlorengegangen; bei serieller Ausführung (T1 vor T2 oder T2 vor T1) wäre Ergebnis stets A=10 gewesen! ( es ist etwas passiert, was nicht serialisierbar ist) 2. Inkonsistente Analyse Zeit t Transaktion T1 liest Fam.stand Ehefrau (verh.) verändert Fam.stand Ehefrau (gesch.) liest Fam.stand Ehemann (verh.) verändert Fam.stand Ehemann (gesch.) schreibt geänderte Fam.stände in DB zurück Transaktion T2 liest Fam.stand Ehefrau (verh.) T2 wartet (Benutzer denkt nach) verändert Fam.stand Ehemann (gesch.) Transaktion T2 sieht ( scheinbare ) Inkonsistenz, obwohl DB (nach Abschluss von T1) konsistent T2 s Analyse bezieht sich auf zwei verschiedene konsistente DB-Zustände

3 3. Phantomproblem Spezialfall der inkon. Analyse Zeit t Transaktion T1 liest Konten aller Kunden mit A liest Konten aller Kunden mit B liest Konten aller Kunden mit C liest Konten aller Kunden mit Z Transaktion T2 Annahme: #Konten immer geradzahlig als Integritätsregel fügt Konto ein für Kunde Adam fügt Konto ein für Kunde Zylinski COMMIT Transaktion T1 meldet ungeradzahlige Kontenanzahl (inkonsistente Analyse), verursacht durch Einfügeoperationen [nebenbei bemerkt: nicht ganz einfach zu lösendes Problem] Warum? Phantome nicht sperrbar Wie? Tabellensperren 4. Nicht wiederholbares Lesen Spezialfall der inkonsistenten Analyse (2) Zeit t... Transaktion T1 bestimmt Summe aller Kontenstände bestimmt Summe aller Kontenstände Transaktion T2 erhöht Kontenstand für Kunde Küspert COMMIT Transaktion T1 bekommt bei wiederholter Ausführung des Lesens verschiedene Ergebnisse geliefert TA/Benutzer merkt somit, dass nicht allein auf der DB aktiv

4 5. Abhängigkeit von nicht freigegebenen Änderungen Zeit t Transaktion T1 verändert A:=A+100 in der DB (d.h. lesen und zurückschreiben) erkennt logischen Fehler und macht ROLLBACK WORK Transaktion T2 liest A aus der DB zeigt A Benutzer am Bildschirm COMMIT WORK Benutzer von T2 hat Zustand gesehen, den es offiziell nie gab T2 ebenfalls zurücksetzen ( Kaskad.Rücksetzen )? a) hochgradig unerwünscht b) im obigen Fall nicht durchführbar, da T2 bereits commitet hat R e s ü m e e Concurrency Control Synchronisation im Mehrbenutzerbetrieb wird benötigt, Sperren (naheliegend) ist eine! Möglichkeit hierzu

5 Ziel der Transaktionsausführung ( Scheduling ) Logischer Einbenutzerbetrieb bei physischem Mehrbenutzerbetrieb d.h. Benutzer soll der Eindruck vermittelt werden, er sei allein auf der Datenbank aktiv es sollen trotz physischem Mehrbenutzerbetriebs nur solche Datenbankzustände erzeugt werden können, die auch entstehen könnten bei serieller Abarbeitung der Transaktionsmenge sog. Kriterien der Serialisierbarkeit!!! Eine Lösung: Sperren von Datenbankobjekten (z.b. Tupeln, Seiten...) vor dem Zugriff und Befolgen eines sog. Sperrprotokolls (2-Phasen-Sperr- und Freigabeprotokoll*, 2 Phase Locking, kurz 2 PL) * hat eine TA eine Sperre freigegeben, so darf sie keine weitere mehr anfordern ( Anforderungs-/Freigabephase)

6 Sperr- und Freigabestrategien Sperrstrategien a) Eine TA sperrt alle benötigten DB-Objekte gleich zu TA-Beginn (preclaiming) b) Eine TA sperrt DB-Objekte jeweils erst (spätestens) direkt vor dem Zugriff auf das Objekt (d.h. sukzessives Sperren) Freigabestrategien a) Freigabe der Sperren erst zu TA-Ende ( lange Sperren ) b) Freigabe von Sperren schon zu einem früheren Zeitpunkt, wenn nicht mehr benötigt ( kurze Sperren ) Bildlich # gesperrte Objekte Praxis wg. Preclaim BOT Fall aa EOT t # gesperrte Objekte Praxis BOT Fall ba EOT strikte Zweiphasigkeit t # gesperrte Objekte Problem: schafft Abh. von nichtfreigegeben. Änd. BOT Fall bb EOT (Praxis) für Lesesperren t # gesperrte Objekte Praxis wg. Preclaim BOT Fall ab EOT t

7 Diskussion: Sperrstrategie a (preclaiming): + - Optimales Scheduling möglich, da alle benötigten Betriebsmittel der TA vorab bekannt + - Keine Verklemmungsgefahr (Deadlocks) - - Bei DB-Einsatz jedoch i.d.r. nicht implementierbar/unrealistisch Sperrstrategie b (sukzessives Sperren): + - Es werden nicht mehr DB-Objekte gesperrt, als nötig und nicht früher, als nötig - - Übliche Strategie im DB-Einsatz Freigabestrategie a ( lange Sperren ): - Ermöglicht isoliertes Rücksetzen und repeatable read - Von der reinen Lehre her im DB-Einsatz zu verwenden, in der Praxis jedoch oft partielles Aufweichen (bei Lesesperren) zur Erhöhung der Parallelität Freigabestrategie b ( kurze Sperren ): - Höhere Parallelität möglich als bei Fr. a - In DBVSen anzutreffen

8 Sperrgranulate Frage: Was wird gesperrt?* * Sperren werden vom DBVS automatisch gesetzt (und auch wieder freigegeben, spätestens bei EOT) Benutzer braucht sich darum nicht zu kümmern! Möglichkeiten: Logische DB-Objekte - Datenelement (Attributwert) - Satz (Tupel) - Tabelle (Relation) - Datenbank Physische DB-Objekte - Seite; Seitenausschnitte ( mini pages ) - Datenbanksegment ( table space, db space ) - Datenbank Kompromiss gesucht: Aus Gründen hoher Parallelität: Kleine (logische) Sperrgranulate Aus Gründen DBVS-interner Performance /Implementierungsaufwand/ Abhängigkeiten etwa zum Thema Logging/Recovery: Gröbere (physische) Sperrgranulate Heute vorherrschend: kleinstes Granulat ist Tupel (bzw. Indexeintrag) Zusätzlich Granulathierarchie, z.b. Tupel Relation Segment DB (Details folgen!)

9 Sperrmodi Frage: Was soll eine Sperre bewirken? In den allermeisten DBVSen gibt es (zumindest) zwei Modi: Schreibsperren Write (exclusive lock (es darf nur EINER ein Objekt verändern), X-Sperre) Sperre kann nur von einer Transaktion für ein DB-Objekt gehalten werden (d.h. exklusiv), andere Transaktionen müssen (üblicherweise) warten Lesesperren Read (Shared lock (es dürfen MEHRERE ein Objekt lesen), S-Sperre) Mehrere Transaktionen können eine S-Sperre auf einem DB-Objekt besitzen, S-Sperre aber nicht mit X-Sperre verträglich Verträglichkeitsgraph S X Verträglichkeitsmatrix Ti Tj S X S + - X - - Zusätzlich bei Sperrhierarchie Intention Lock (IS, IX) drückt aus, dass auf tieferer Ebene selektiv mit S bzw. X gesperrt werden soll

10 Beispiel für Sperrhierarchie / Intention Locks Sperrgranulate seien Relation und Tupel Transaktion Ti will einige Tupel der Relation Rj ändern Was tun? - Ganze Relation (exklusiv) sperren einfach, verhindert aber jegliche Parallelität - Genau die Tupel (exklusiv) sperren, die geändert werden sollen. Was, wenn eine parallele Transaktion Tk unbemerkt Rj exklusiv sperrt? Lösung: Ti muss sich an hier. Sperrprotokoll halten Ti setzt erst IX-Sperre (Intention exclusive) auf Rj und dann X-Sperren auf die einzelnen zu verändernden Tupel Allgemein: Verträglichkeitsgraph IS S IX X Letzter Begriff: Sperreskalation Verträglichkeitsmatrix Ti Tj IS IX S X IS IX S X

11 Bemerkungen zur Synchronisationsthematik und deren Implementierungsdetails Sperrprotokoll für hierarchisches Sperren Es existieren die Sperrmodi (exclusive, Schreibsperre), S (Shared, Lesesperre) sowie IX (Intention exclusive) und IS (Intention Shared). Die Realität kennt noch weitere, schenken wir uns hier Es existiert eine Hierarchie von Sperrgranulaten, z.b. Datenbank, Table Space, Tabelle, Tupel. Weitere Ebenen/Granulate könnten existieren, etwa (Tabellen-)Fragment zwischen Tabelle und Tupel Sperren müssen hierarchisch angefordert werden (top-down) und entsprechend spätestens bei Transaktionsende wieder freigegeben werden (bottom up!) Unter einer IS-Sperre darf wiederum IS kommen oder S (auf nächsttieferer Ebene) Unter einer IX-Sperre darf wiederum IX kommen oder IS oder S oder X (auf nächsttieferer Ebene) Rechteabschwächung beim Abstieg / der Sperranforderung soll also erlaubt sein Unter einer S- oder X-Sperre kommt nichts mehr, d.h. sie stellt Ende des hierarchischen Sperranforderungspfades dar (man hat dann ja das Objekt gesperrt, muss wenn es sich um nichtatomares handelt nicht Teile weitersperren)

12 Sperreskalation Problemstellung: U.U. viele kleine Sperren - Größe der Sperrtabelle (im Hauptspeicher, virtuellen Speicher) - Vielzahl von Aufrufen an den Sperrverwalter (Lock Manager) zwecks Sperranforderung bzw. freigabe - Auch einzelner Aufruf (Lock Request, Lock Release) zunehmend teuer, aber das kann man implementierungstechnisch noch in den Griff bekommen (Hash-Tabelle mit graceful degradation ) Lösungsmöglichkeit: Sperreskalation (zur Laufzeit, Lock Escalation), z.b.: - Übergang von (vielen) z.b. Tupelsperren auf eine Tabellensperre on the fly (mit gleichzeitiger Freigabe der Tupelsperren natürlich).. - Sperrtabelle wächst an dieser Stelle nicht weiter an, es müssen keine weiteren satzweisen Lock-Mgr-Aufrufe erfolgen (man hat ja die ganze + Tabelle nun gesperrt).. toll(?) - Probleme / zu berücksichtigen aber: stärkere Behinderung nun (wegen gröberen Granulats), klar - Sperreskalation kann auch scheitern (Lock kann nicht gewährt werden) oder gar Deadlock-Verursachung Again: There s no free lunch

13 Realisierung der Sperrtabelle / des Sperrverwalters (Lock Table, Lock Manager) Request_Lock (Ressource, Modus, Transaktions-Id, RC) Release_Lock (Ressource, Transaktions-Id, RC) Ressource: bezeichnet via Id das gewünschte Objekt (die Datenbank, den Table Space i, die Tabelle j, das Fragment k, das Tupel l..) Modus: klar (S, X, IS..) Transaktions-Id: Identifikator des Requestors (wer fordert die Sperre an?) RC: Return Code (u.a.: Sperre konnte (G unten) oder konnte nicht (W unten) gewährt werden) Beispiel für Sperrtabelle im Hauptspeicher / virt. Speicher: 0 Hash h (Ressource)... G IS TA1 S TA2 Ri Sperrkontrollblöcke W TA3 X TA4 X G TA2 X Rj G = Gewährt W = Wartend TAi kann mehrere Sperren besitzen (Bsp. TA2), aber nur auf eine warten n-1 S G TA4 Rk TA1 X W IX TA2 X TA

14 Sperrgraph / Wartegraph Information darüber, wer welche Resource aktuell gesperrt hat / wer auf welche Ressource wartet (weil sie aktuell gesperrt ist) kann in Form eines Graphen aufgefasst werden (ob s auch als solcher implementiert ist oder sich der Graph als Sicht auf die Sperrtabelle oben darstellt! ist dabei zunächst unerheblich) Beispiel für Sperrgraphen: TAx R1 TAy R3 TAw R2 TAz Semantik: TAx wartet auf die Freigabe von Ressource R1 durch TAy etc. etc. Nutzung des Sperrgraphen: Vor allem auch zur Deadlock-Erkennung, Deadlocks führen nämlich zu Zyklen im Graphen (erkennbar mittels Standard-Graphenalgorithmen) Deadlock-Auflösung durch systemseitiges Abschießen (Rücksetzen, Transaction Failure) einer Transaktion Problem hierbei u.a.: Verhungern ( starvation ) einer Transaktion

15 Optimistic Concurrency Control (OCC) Bis hier betrachtet: Sperren von angefassten Datenbankobjekten, d.h. erst Sperranforderung und gewährung, dann Anfassen pessimistischer Ansatz ( es könnte ja etwas passieren, d.h. eine andere Transaktion uns in die Quere kommen), PCC (Pessimistic Concurrency Control) Nachteile/Probleme: Sperranforderungen und freigaben kosten etwas Lock-Mgr.-Aufrufe, Lock-Einträge in Lock-Tabelle (CPU, Speicher also) Transaktionen müssen u.u. warten (auf Gewährung einer Sperre) Deadlock-Gefahr (Wartezyklen) u.u. Transaktionszurücksetzen (durch DBMS) nötig zum Aufbrechen eines Deadlock Teils eigentlich unnötiges Sperren, wenn geringe Konfliktwahrscheinlichkeit Idee deshalb: Optimistischer Ansatz (OCC), d.h. Transaktionen ohne Sperren durchführen und erst bei Transaktionsende schauen, ob s gut ging (beim Commit-Processing)

16 Vorteil(e): Vermeidung der o.g. (Sperr-)Probleme, also wenig Kosten zur Laufzeit der TA, kein Warten, keine Deadlocks, keine Sperrverwalteraufrufe Nachteil: Konflikte (zwei TA s sind sich ins Gehege gekommen..) werden erst bei Transaktionsende erkannt aufwendiges Rücksetzen der soweit fertigen Transaktion, Arbeit für die Katz, muss wiederholt werden Resümee daraus: OCC wird in DBMS nicht als Standard-Concurrency-Control-Mechanismus eingesetzt, sondern doch Sperren OCC-Nutzen stark abhängig von Anwendungscharakteristika: Super für konfliktarme Anwendungen, desaströs für konfliktreiche Anwendungen Ideal: DBMS müsste sich customizen lassen ja nach Anwendung, also PCC versus OCC (meist läuft ohnehin nur eine große Anwendung auf einer DBMS-Instanz) heute aber nicht möglich OCC-Lösungen existieren, dann aber oberhalb des DBMS (viele Großanwendungen á la SAP haben ohnehin noch mal eigene Sperrverwaltung oberhalb des DBMS (Langzeit-/Vorgangssperren) und könn(t)en dort oben ihre eigene CC-Strategie realisieren anwendungscharakteristikaabhängig)

17 Sogenannte Kurzzeitsperren - und deren Abgrenzung zu herkömmlichen Sperren - Übliche Sperren im Auftrag von Datenbankoperationen/Transaktionen werden (wie oben erwähnt) über Sperrverwalter angefordert, in Sperrtabelle eingetragen, bei Nichtgewährung erfolgt Warten, ggf. Deadlock-Erkennung und Auflösung... Transaktionssperren zur Gewährleistung von I in ACID, schwergewichtige Sperren, werden auch relativ lange gehalten (Sekundenbruchteile, ggf. auch Sekunden oder länger, anwendungsabhängig Dazu im Unterschied: Kurzzeitsperren sind etwas anderes, tiefer angesiedeltes im DBMS Problem: Mehrere DBMS-Server-Prozesse oder Threads arbeiten i.d.r. gemeinsam/parallel an Abarbeitung der Datenbank-Workload, können sich dabei wechselseitig ins Gehege kommen auf gemeinsam genutzten internen Datenstrukturen (Hauptspeicher, virtueller Speicher), insb.: - Systempuffer (Datenbank-Cache) - Log-Puffer - Sperrtabelle!! (Koordinierung des parallelen Zugriffs auf Sperrtabelle also nötig, Sperren der Sperrtabelle??)

18 Und zwar sowohl bei richtiger Parallelität als auch bei Nebenläufigkeit (1 Prozessor versus mehrere Prozessoren involviert) Bsp.: Prozess x analysiert für TA1 die Sperrtabelle, Prozess y fügt parallel dazu für TA2 etwas in die Sperrtabelle ein Chaos höherer (oder tieferer?) Ordnung? Lösung: Sog. Kurzzeitsperren für Prozesse, während sie auf der jeweiligen Datenstruktur arbeiten, leichtgewichtige Sperren (wegen extrem häufigen Zugriffs auf diese Datenstrukturen wären herkömmliche Sperren viel zu aufwendig bzw. klassisch Sperren der Sperrtabelle????? wie soll das bitte gehen. Die Sperrtabelle ist ja keine normale Datenbanktabelle, sondern eine interne Datenstruktur des DBMS.) Realisierung der Kurzzeitsperren (als sog. Latches), Unterschiede zu den o.g. Langzeitsperren: - Realisierung über Variable im (gemeinsam genutzten) Hauptspeicher à la (vereinfacht):

19 if systempuffer_latch = frei then begin systempuffer_latch := P1: /* Prozess P1 jetzt exklusiver Nutzer des Sys.puffers */... Arbeiten auf Systempuffer (Suchen, Ändern..)... systempuffer_latch := frei /* P1 gibt Recht wieder ab */ end else /* anderer Prozess arbeitet aktuell auf Sys.puffer */ wat nu? Bemerkungen hierzu: - Latch = Schnappschloss - Kurzzeitsperren werden nur für sehr kurze Zeiträume gehalten, für einige Dutzend bis vielleicht wenige Hundert Maschineninstruktionen (wegen hohen Behinderungspotentials!) - Anforderung/Freigabe von Kurzzeitsperren ist billig (sehr wenige Maschineninstruktionen, einfaches Abfragen/Setzen einer Variable, viel billiger als Manipulation auf Sperrtabelle): N.B.: Sperren der Sperrtabelle muss ja billig sein

20 - if... then... muss über eine Maschineninstruktion (atomar) realisiert werden! Test and Set, Compare and Swap auch genannt je nach Maschinenbefehlssatz - Bei belegter Kurzzeitsperre u.u. busy wait (statt lazy wait bei normalen Sperren) - Es muss implementierungstechnisch sehr darauf geachtet werden, dass Kurzzeitsperre nicht versehentlich lang wird bzw. dass dies nur sehr seltenen Fällen passiert

21 Zusammenfassung / Hilites zum Thema Synchronisation Mehrbenutzerbetrieb (parallel aktive TA) auf DB unverzichtbar Chaos bei unkontrolliertem Mehrbenutzerbetrieb muss verhindert werden Mehrbenutzerkontrolle/Synchronisation Logischer Einbenutzerbetrieb bei physischem Mehrbenutzerbetrieb als Ziel Serialisierbarkeit: Ausführungsergebnis bei parallel ablaufenden TA soll dem Ergebnis entsprechen, das sich bei einer seriellen Ausführung ergäbe Lösung: Sperren (Pessimistic Concurrency Control), d.h. alles, was von TA angefasst wird, muss vorher gesperrt werden Granulate, Modi, Protokolle (Eine) Alternative zum Sperren (PCC): Optimistic Concurrency Controll (OCC) TA werden ohne Sperrren ausgeführt, erst bei TA-Ende (Commit Processing) wird automatisch überprüft, ob ein Konflikt vorliegt

Übungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG

Übungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 4 MUSTERLÖSUNG Aufgabe 4.1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar

Mehr

Kapitel 3 Synchronisation

Kapitel 3 Synchronisation LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 3 Synchronisation Vorlesung: PD Dr. Peer Kröger

Mehr

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k Transaktionsverwaltung 1. Schnellkurs: Serialisierbarkeit, Isolationslevel, Synchronisationsverfahren, Savepoints, Logging, Implementierungsaspekte! Harder, Rahm Buch 2. Erweiterte Transaktionskonzepte!

Mehr

mathematik und informatik

mathematik und informatik Prof. Dr. Gunter Schlageter et. al. Kurs 01672 Datenbanken II LESEPROBE mathematik und informatik Das Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere das Recht der Vervielfältigung

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzersynchronisation Ausführung der drei Transaktionen T 1, T 2 und T 3 : (a) im Einzelbetrieb und Zeitachse T 1 T2 T 3 (b) im (verzahnten) Mehrbenutzerbetrieb (gestrichelte Linien repräsentieren

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe15 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

Transaktionen und Synchronisation konkurrierender Zugriffe

Transaktionen und Synchronisation konkurrierender Zugriffe Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Kapitel 10 Mehrbenutzersynchronisation 381 / 520 Mehrbenutzersynchronisation Alle TAs strikt seriell (also nacheinander) auszuführen ist sicher, aber langsam Oft werden Systemressourcen nicht voll ausgenutzt,

Mehr

Kapitel 12 Integrität der Datenbank

Kapitel 12 Integrität der Datenbank Kapitel 12 Integrität der Datenbank 12 Integrität der Datenbank 12 Integrität der Datenbank...1 12.1 Aspekte des Integritätsproblems...3 12.2 Semantische Integrität...4 12.3 Das Konzept der Transaktion...6

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis

Inhaltsverzeichnis. Inhaltsverzeichnis Inhaltsverzeichnis Das Script für die Lehrveranstaltung Datenmanagement wurde im Wintersemester 2007/2008 komplett überarbeitet und neu strukturiert. Wir bitten darum, eventuelle Fehler im Script an Milan

Mehr

Synchronisation in Datenbanksystemen in a nutshell

Synchronisation in Datenbanksystemen in a nutshell Synchronisation in Datenbanksystemen in a nutshell 1. Modell für nebenläufige Transaktionen und Korrektheitskriterium Transaktionsmodell: Folgen von Lese und Schreiboperationen abgeschlossen durch c=commit.

Mehr

Konfliktgraph. Satz und Definition

Konfliktgraph. Satz und Definition 9. Transaktionsverwaltung 9.2. Mehrbenutzerkontrolle Seite 1 Konfliktgraph Der Konfliktgraph von S ist ein gerichteter Graph KG(S) = (V, E), wobei V die Menge aller Transaktionen in S und E die Menge der

Mehr

Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation

Serialisierbarkeit von Historien: Minimalanforderung bzgl. akzeptabler Synchronisation Rücksetzbarkeit Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation von Transaktionen zusätzliche Forderung: lokale Rücksetzbarkeit von Historien, d.h. Jede Transaktion

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 13 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws1415/grundlagen/

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe14 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL 1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion

Mehr

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking Grundlagen von Datenbanken Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking SQL DDL: Referentielle Aktionen (1/3) Potentielle Gefährdung der referentiellen Integrität durch Änderungsoperationen

Mehr

Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS)

Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Synchronisation paralleler Transaktionen Kapitel X Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt

Mehr

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 4. Lösung

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 4. Lösung Dr. rer. nat. Sven Groppe Übungen zur Vorlesung Mobile und Verteilte Datenbanken WS 2008/2009 Blatt 4 Lösung Aufgabe 1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar

Mehr

Datenbanken 1. Sommersemester Übung 8

Datenbanken 1. Sommersemester Übung 8 Datenbanken 1 Sommersemester 2017 Übung 8 (v3.0-9.6.2017) Übersicht Aufgabe 1: Einfache Transaktionen Model (Lock/Unlock) Aufgabe 2: 2-Phasen-Sperrprotokoll (Two phase locking) Aufgabe 3: 2-Phasen-Sperrprotokoll

Mehr

Datenintegrität und Transaktionskonzept

Datenintegrität und Transaktionskonzept und Transaktionskonzept 1. / Datenkonsistenz 1 Mögliche Gefährdung der : Missachtung von Konsistenzbedingungen ("Semantische Integrität") Inkorrekte Verweise auf Datensätze in verschiedenen Tabellen ("Referentielle

Mehr

... T n T 1 T 2 T 3. Transaktions-Manager. Daten-Manager. Recovery-Manager Puffer-Manager. Datenbank

... T n T 1 T 2 T 3. Transaktions-Manager. Daten-Manager. Recovery-Manager Puffer-Manager. Datenbank Techniken der Schedule-Realisierung T 1 T 2 T 3.... T n Isolations-Eigenschaft wird durch den Scheduler sichergestellt. Aufgabe: : Koordination des Ablaufs konkurrierender Transaktionen so, dass deren

Mehr

Software-Engineering und Datenbanken

Software-Engineering und Datenbanken Software-Engineering und Datenbanken Transaktionskonzepte 1 Der Transaktionsbegriff Eine Transaktion ist eine Folge von Operationen, die die Datenbank von einem konsistenten Zustand in einen neuen überführen.

Mehr

5. Transaktionsverarbeitung

5. Transaktionsverarbeitung 5. Transaktionsverarbeitung 5.1. Einführung Viele Anwendungsprogramme / interaktive Benutzer arbeiten gleichzeitig (konkurrierend) auf gemeinsamer Datenbank (mit den gleichen Daten). Notwendigkeit: Abwicklung

Mehr

Datenbanken: Transaktionskonzept und Concurrency Control

Datenbanken: Transaktionskonzept und Concurrency Control Wesentlich für das Arbeiten mit Datenbanken sind konsistente Datenbestände! Folgerung: es muss sichergestellt werden, dass Datenmanipulationen von Benutzern immer in einem erneut konsistenten Zustand der

Mehr

Mehrbenutzer-Synchronisation

Mehrbenutzer-Synchronisation MehrbenutzerSynchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,

Mehr

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München Transaktions-Konzept (1) Beispiel: op 1 BOT op 2 read(k 1

Mehr

Datenbanken 1. Sommersemester Übung 8

Datenbanken 1. Sommersemester Übung 8 Datenbanken 1 Sommersemester 2017 Übung 8 (v2.0-9.6.2017) Übersicht Aufgabe 1: Einfache Transaktionen Model (Lock/Unlock) Aufgabe 2: 2-Phasen-Sperrprotokoll (Two phase locking) Aufgabe 3: 2-Phasen-Sperrprotokoll

Mehr

8. Transaktionsverarbeitung. Architektur von Datenbanksystemen I

8. Transaktionsverarbeitung. Architektur von Datenbanksystemen I 8. Transaktionsverarbeitung Architektur von Datenbanksystemen I Einordnung ARCHITEKTUR VON DATENBANKSYSTEMEM I - Key/Value Store - Row Store - Column Store - Data Compression - Transaction Processing -

Mehr

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung.

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung. Datenmanagement 60 5 Datenschutz und Datensicherheit 5.1 Datenschutz Wer wird hier geschützt? Personen Ein anderer Begriff für Datenschutz ist Zugriffskontrolle. Datenschutz soll sicherstellen, dass alle

Mehr

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion 12. Transaktionen Beispielszenarien Transaktionsbegriff Probleme im Mehrbenutzerbetrieb Serialisierbarkeit Sperrprotokolle zur Synchronisation Isolationsebenen in SQL Platzreservierung für Flüge quasi

Mehr

11.3 Transaktionen und LUWs in SAP R/3

11.3 Transaktionen und LUWs in SAP R/3 11.3 Transaktionen und LUWs in SAP R/3 G Transaktionen heissen in SAP/R3 Logical Unit of Work (LUW). Eine LUW besteht in der Regel aus zwei Teilen: SAP-Transaktion: Folge von vorbereiteten Dialogschritten

Mehr

Mehrbenutzer-Synchronisation

Mehrbenutzer-Synchronisation Mehrbenutzer-Synchronisation Konflikt-Kategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Kapitel 11 1 Mehrbenutzersynchronisation Ausführung

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 11. Synchronisation AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Transaktion Transaktion

Mehr

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs 9. Mehrbenutzerbetrieb: DBS bedient gleichzeitig mehrere Benutzer Benutzer arbeiten zwar unabhängig voneinander, können aber die gleiche Relation oder sogar den gleichen Datensatz bearbeiten! Aktivität

Mehr

Transaktionsverarbeitung und Nebenläufigkeitskontrolle. Jim Gray ( )

Transaktionsverarbeitung und Nebenläufigkeitskontrolle. Jim Gray ( ) Transaktionsverarbeitung und Nebenläufigkeitskontrolle Jim Gray (1944-2007) Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzersynchronisation VU Datenbanksysteme vom 4.11. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Nebenläufigkeit

Mehr

OPTIMISTIC & PESSIMISTIC LOCK Design Patterns PILLER NADIA SARBACH MATTHIAS

OPTIMISTIC & PESSIMISTIC LOCK Design Patterns PILLER NADIA SARBACH MATTHIAS OPTIMISTIC & PESSIMISTIC LOCK Design Patterns PILLER NADIA SARBACH MATTHIAS Agenda 2 Persistenz und ihre Muster (3 ) Optimistic Offline Lock (6 ) (Optimistisches Sperren) Pessimistic Offline Lock (5 )

Mehr

3.6 Transaktionsverwaltung

3.6 Transaktionsverwaltung 3.6 Transaktionsverwaltung Transaktionen erlauben Bündelung von Operationen und gelten als wichtigster Beitrag des Bereichs Datenbanken zur Informatik; sie werden heute auch außerhalb von Datenbanksystemen

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Datenbanken Konsistenz und Mehrnutzerbetrieb III Datenbanken Konsistenz und Mehrnutzerbetrieb III 1. Oracle Architektur! Komponenten des Oracle Servers! Zugriff über Netzwerk 2. Zugriffsrechte! Starten und Schließen der Datenbank! Nutzer und Rollen!

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzer Synchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

2. Synchronisation in DBS: Grundlagen, Sperrverfahren

2. Synchronisation in DBS: Grundlagen, Sperrverfahren 2. Synchronisation in DBS: Grundlagen, Sperrverfahren Anomalien im Mehrbenutzerbetrieb Serialisierbarkeit Zweiphasen-Sperrprotokolle Konsistenzstufen von Transaktionen Hierarchische Sperrverfahren Deadlock-Behandlung

Mehr

Oracle 9i Einführung Performance Tuning

Oracle 9i Einführung Performance Tuning Kurs Oracle 9i Einführung Performance Tuning Teil 6 Locks & Latches Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. Einführung Locks & Latches 2. Locks (Sperren) 3. Modi & Levels

Mehr

Kapitel 2 Transaktionsverwaltung

Kapitel 2 Transaktionsverwaltung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 2 Transaktionsverwaltung Vorlesung: PD Dr. Peer

Mehr

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle

Mehr

Datenbank- Verwaltungssysteme

Datenbank- Verwaltungssysteme Datenbank- Verwaltungssysteme Diana Troancă Babeș-Bolyai Universität Fakultät Mathematik und Informatik Dozent: Diana Troancă E-mail: dianat [at] cs.ubbcluj.ro Website: www.cs.ubbcluj.ro/~dianat/ Feedback

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Verteilte Systeme. Nebenläufigkeit. Prof. Dr. Oliver Haase

Verteilte Systeme. Nebenläufigkeit. Prof. Dr. Oliver Haase Verteilte Systeme Nebenläufigkeit Prof. Dr. Oliver Haase 1 Arten der Nebenläufigkeit 1-Prozessor(kern)-System quasiparallele Ausführung erhöht Interaktivität durch Umschalten zwischen Threads kann Parallelitätsgrad

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung Transaktionsverwaltung Überblick über den Datenhaltungsteil Motivation und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra

Mehr

1 Referentielle Aktionen

1 Referentielle Aktionen 1 Referentielle Aktionen Betrachten Sie das folgende Datenbankschema: Person(Vorname, Nachname, DOB, Wohnort, Lieblingsfilm Film.IMDb-ID, Videothek Videothek.VID) Film(IMDb-ID, Titel, (ProduzentVN, ProduzentNN)

Mehr

Übungen zu Datenbanksysteme

Übungen zu Datenbanksysteme Institut für Informatik Universität Osnabrück, 30.06.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 06.07.2009, 12:00 Uhr Aufgabe 10.1 (35 Punkte)

Mehr

View. Arbeiten mit den Sichten:

View. Arbeiten mit den Sichten: View "individuelle Sicht" (vgl. 3-Schichten-Modell) virtuelle Tabellen: in der DB wird nicht deren Inhalt, sondern nur die Ableitungsregel gespeichert. Arbeiten mit den Sichten: Anfragen: kein Problem.

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File Kapitel V Deadlocks (Verklemmungen) 1 Deadlocks System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File Prozesse benötigen Genehmigung vor der Benutzung von Ressourcen.

Mehr

6.3 Verteilte Transaktionen

6.3 Verteilte Transaktionen 6.3 Verteilte Transaktionen Situation: Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.b. verteilte Datenbank, verteiltes Dateisystem,...) d.h. in Fragmente aufgeteilt, für die

Mehr

Kapitel 15: Concurrency Control Synchronisation von Prozessen und Transaktionen

Kapitel 15: Concurrency Control Synchronisation von Prozessen und Transaktionen Kapitel 15: Concurrency Control Synchronisation von Prozessen und Transaktionen Wenn mehrere Programme gleichzeitig auf eine Datenbank zugreifen und mindestens ein Programm die Daten ändert, kann es zu

Mehr

Grundlagen von Datenbanken SS Synchronisation paralleler Transaktionen

Grundlagen von Datenbanken SS Synchronisation paralleler Transaktionen Grundlagen von Datenbanken SS 2010 9. Synchronisation paralleler Transaktionen Prof. Dr. Stefan Böttcher Universität Paderborn Agenda: Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher Folie

Mehr

Mächtigkeit von 2PL. Geben Sie einen Schedule S an, der. konfliktserialisierbar, jedoch nicht bei Anwendung von 2PL entstehbar. ist.

Mächtigkeit von 2PL. Geben Sie einen Schedule S an, der. konfliktserialisierbar, jedoch nicht bei Anwendung von 2PL entstehbar. ist. 9. Transaktionsverwaltung 9.2. Mehrbenutzerkontrolle Rückblick Rückblick Geben Sie einen Schedule S an, der ist. konfliktserialisierbar, jedoch nicht bei Anwendung von 2PL entstehbar Mächtigkeit von 2PL

Mehr

Datenbanken: Ablaufpläne und Serialisierbarkeit

Datenbanken: Ablaufpläne und Serialisierbarkeit Theoretische Konzepte zur Abarbeitung parallel arbeitender Transaktionen Definition: (Ablaufplan, Schedule) Ein Ablaufplan S ist die verschränkte Anordnung bzw. Ausführung der Einzeloperationen einer Menge

Mehr

Synchronisation auf XML-Dokumenten

Synchronisation auf XML-Dokumenten 2003 Synchronisation auf XMLDokumenten Michael P. Haustein haustein@informatik.unikl.de Datenbankarbeitsgruppentreffen Rathen, 29./30. September 2003 2003 Gliederung Document Object Model DOMBaum und API

Mehr

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann Datenbanksysteme I Transaktionsmanagement 20.6.2011 Felix Naumann Motivation - Transaktionsmanagement 2 Annahmen bisher Isolation Nur ein Nutzer greift auf die Datenbank zu Lesend Schreibend In Wahrheit:

Mehr

Der Scheduler. 9. Transaktionsverwaltung. Zustände einer Transaktion. Transaktionsoperationen

Der Scheduler. 9. Transaktionsverwaltung. Zustände einer Transaktion. Transaktionsoperationen 9. Transaktionsverwaltung Der Scheduler Architektur der Transaktionsverwaltung Sperrende und nicht-sperrende Verfahren Transaktionen in SQL-Systemen Transaktionsmonitore T 1 T T 2 n Transaktions- Manager

Mehr

Übungen zur Vorlesung. Datenbanken I

Übungen zur Vorlesung. Datenbanken I Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 6 Aufgabe 1: In der Vorlesung haben Sie für die Einbringstrategie Update in Place die Vorgehensweisen steal,

Mehr

9.3 Fehlerbehandlung

9.3 Fehlerbehandlung 9.3 Fehlerbehandlung Schutz vor Beeinträchtigungen durch Fehler des Systems oder eines Benutzers nach Systemzusammensturz innerhalb einer TA inkonsistenter Zustand der DB physische und logische Inkonsistenz

Mehr

6. Serialisierbarkeit

6. Serialisierbarkeit 6. Serialisierbarkeit Nothing is as practical as a good theory Albert Einstein Anomalien im Mehrbenutzerbetrieb Synchronisation von Transaktionen - Ablaufpläne, Modellannahmen - Korrektheitskriterium:

Mehr

Isolationsstufen für Transaktionen. Dr. Karsten Tolle

Isolationsstufen für Transaktionen. Dr. Karsten Tolle Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)

Mehr

Linked Lists The Role of Locking

Linked Lists The Role of Locking Clara Lüling, Stephan Bittner Linked Lists The Role of Locking Verkettete Liste - Die Rolle des Sperrens Gliederung Linked Lists The Role of Locking 1. Verkettete Listen 2. Algorithmen 1. Coarse-Grained

Mehr

6. Verteilte Transaktionsverwaltung Einführung Synchronisation

6. Verteilte Transaktionsverwaltung Einführung Synchronisation 6. Verteilte Transaktionsverwaltung Einführung Synchronisation Verfahrensüberblick, Sperrverfahren Deadlock-Behandlung - Timeout - Deadlock-Vermeidung: Wait/Die-, WoundWait-Verfahren - globale Deadlock-Erkennung

Mehr

P.A. Bernstein, V. Hadzilacos, N. Goodman

P.A. Bernstein, V. Hadzilacos, N. Goodman TRANSAKTIONEN UND DATENINTEGRITÄT Concurrency Control and Recovery in Database Systems P.A. Bernstein, V. Hadzilacos, N. Goodman Addison Wesley, 1987. Kapitel 1. und 6. Grundlagen der Datenbanksysteme

Mehr

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

Transaktionen in Praxis. Dr. Karsten Tolle Vorl Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction

Mehr

Pessimistische Sperrverfahren für Transaktionen. Pessimistische Sperrverfahren für Transaktionen - Implementierung - von Oliver Lemm

Pessimistische Sperrverfahren für Transaktionen. Pessimistische Sperrverfahren für Transaktionen - Implementierung - von Oliver Lemm Pessimistische Sperrverfahren für Transaktionen - Implementierung - von Oliver Lemm Oliver Lemm Seite 1/24 I. Übersicht der Theorie I. Zusammenfassung der Theorie 2 Phasen Sperre in der Theorie & Deadlocks

Mehr

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1 9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1 9.3 Fehlerbehandlung Im realen Betrieb eines Datenbanksystems muss mit Fehlersituationen gerechnet werden. Transaktionsfehler: Hierunter verstehen

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Datenbanken und Informationssysteme

Datenbanken und Informationssysteme Datenbanken und Informationssysteme Serialisierbarkeit Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Serialisierbarkeit 2-Phasen-Sperrprotokoll (2PL) Verklemmungen Modell

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Kapitel 8: Transaktionen

Kapitel 8: Transaktionen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten

Mehr

Concurrency Control. Prof. Dr. T. Kudraß 1. Korrektheitskriterium: Serialisierbarkeit. Zwei Schedules sind konfliktäquivalent wenn gilt:

Concurrency Control. Prof. Dr. T. Kudraß 1. Korrektheitskriterium: Serialisierbarkeit. Zwei Schedules sind konfliktäquivalent wenn gilt: Concurrency Control Prof. Dr. T. Kudraß 1 Korrektheitskriterium: Serialisierbarkeit Zwei Schedules sind konfliktäquivalent wenn gilt: Sie enthalten genau die gleichen Transaktionen (und damit auch Aktionen)

Mehr

Prüfungsprotokoll Datenbanken Datum: Note: 1,3

Prüfungsprotokoll Datenbanken Datum: Note: 1,3 Thema: Prüfungsprotokoll Datenbanken Datum: 13.01.2014 Prüfer: Prof. Dr. Güting Beisitzer: Valdez Note: 1,3 Kurs 1664 (Implementierungskonzepte für Datenbanken): Aufbau einer Datenbank (große Grafik) und

Mehr

Verklemmungen - Deadlocks

Verklemmungen - Deadlocks Verklemmungen - Deadlocks Betriebsmittel Verklemmung Vogelstrauss Algorithmus Erkennung und Auflösung Vermeidung SS2001 Prof. H.D. Clausen - unisal 1 Kritische Betriebsmittel Beispiele Drucker Magnetbandgeräte

Mehr

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion

Mehr

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede

Mehr

Atomare Commit-Protokolle. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1

Atomare Commit-Protokolle. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1 Atomare Commit-Protokolle Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1 Atomares Commit-Protokoll Bisher: Protokolle zur lokalen Transaktionsverwaltung

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1 Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1 Transaktionsmanagement Inhalte des Kapitels Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency

Mehr

Wiederanlauf (Recovery)

Wiederanlauf (Recovery) DEVO 8.1 Wiederanlauf (Recovery) DEVO 8.2 Ziele Wiederherstellung eines konsistenten Datenbankzustandes nach einem Fehler. Fehler: Transaktionsabbruch: eine Transaktion muß nach einem logischen Fehler

Mehr

Verteiltes Sperren Verteilte Recovery

Verteiltes Sperren Verteilte Recovery Verteiltes Sperren Verteilte Recovery Verteiltes Sperren (Distributed Locking) Wie werden Sperren für Objekte über mehrere Knoten hinweg verwaltet? Zentralisiert: Ein Knoten für Sperren verantwortlich

Mehr

9 Transaktionskonzept

9 Transaktionskonzept 9 Transaktionskonzept Transaktionskonzept 9.1 Das Transaktionskonzept 9.2 Concurrency & Locking 9.3 Recovery 9.4 JDBC Teil II 9.4.1 Transaktionsmanagement 9.4.2 Objektrelationale Konzepte Schestag Datenbanken

Mehr

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung

Mehr

Systemprogrammierung (Lehramt) Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 G-Verklemmungen.fm

Systemprogrammierung (Lehramt) Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 G-Verklemmungen.fm G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

Mehr

Kapitel 2: Synchronisation

Kapitel 2: Synchronisation Ludwig Maximilians Universität München Institut für Informatik Lehr und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Sommersemester 2005 Vorlesung: Christian Böhm Übungen: Elke Achtert,

Mehr

Daten- und Transaktionskontrolle mit SQL DCL, TCL

Daten- und Transaktionskontrolle mit SQL DCL, TCL Daten- und Transaktionskontrolle mit SQL DCL, TCL 1 Zugriffsrechte für Datenbankobjekte Zugriff zu einer Relation (inkl. Daten) mit allen Rechten hat zunächst nur der Benutzer, der sie erzeugt hat Situation

Mehr

9. Übungsblatt (Testatwoche: Juni 2010) Lösung Einführung in Datenbanksysteme Heinz Schweppe, Katharina Hahn

9. Übungsblatt (Testatwoche: Juni 2010) Lösung Einführung in Datenbanksysteme Heinz Schweppe, Katharina Hahn 9. Übungsblatt (Testatwoche: 15. 17. Juni 2010) Lösung Einführung in Datenbanksysteme Heinz Schweppe, Katharina Hahn Aufgabe 1 a) Geben Sie ein Beispiel für eine Ausführungsfolge (Schedule) für 2 Transaktionen

Mehr

Datenbanken und SQL. Kapitel 8. Concurreny und Recovery. Edwin Schicker: Datenbanken und SQL

Datenbanken und SQL. Kapitel 8. Concurreny und Recovery. Edwin Schicker: Datenbanken und SQL Datenbanken und SQL Kapitel 8 Concurreny und Recovery Concurrency und Recovery Transaktionen Recovery Einführung in die Recovery Logdateien Checkpoints Conncurrency Sperrmechanismen Deadlocks SQL-Norm

Mehr

TRANSAKTIONEN UND DATENINTEGRITÄT

TRANSAKTIONEN UND DATENINTEGRITÄT Transaktionen und Datenintegrität 1 TRANSAKTIONEN UND DATENINTEGRITÄT Concurrency Control and Recovery in Database Systems P.A. Bernstein, V. Hadzilacos, N. Goodman Addison Wesley, 1987. Kapitel 1. und

Mehr

Einführung - Anomalien beim ungeschützten und konkurrierenden Zugriff von Lesern und Schreibern auf gemeinsame Daten

Einführung - Anomalien beim ungeschützten und konkurrierenden Zugriff von Lesern und Schreibern auf gemeinsame Daten Synchronisation 0 Einführung - Anomalien beim ungeschützten und konkurrierenden Zugriff von Lesern und Schreibern auf gemeinsame Daten - Synchronisation von Transaktionen: Grundbegriffe und Modellannahmen

Mehr

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Moderne Datenbanksysteme sind nach der 3-Ebenen-Architektur gebaut: Anwendung 1 Web-Anwendung Anwendung 2 Java-Programm... Anwendung n Applikation

Mehr