siehe Beispielszenarium auf folgenden Folien * d.h. Ausführung einer Transaktion nach der anderen
|
|
- Hildegard Günther
- vor 6 Jahren
- Abrufe
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
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
MehrKapitel 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
MehrTransaktionskonzept 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!
Mehrmathematik 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
MehrMehrbenutzersynchronisation
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
MehrTU 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)
MehrTransaktionen und Synchronisation konkurrierender Zugriffe
Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei
MehrMehrbenutzersynchronisation
Kapitel 10 Mehrbenutzersynchronisation 381 / 520 Mehrbenutzersynchronisation Alle TAs strikt seriell (also nacheinander) auszuführen ist sicher, aber langsam Oft werden Systemressourcen nicht voll ausgenutzt,
MehrKapitel 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
MehrInhaltsverzeichnis. 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
MehrSynchronisation 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.
MehrKonfliktgraph. 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
MehrSerialisierbarkeit 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
MehrTU 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/
MehrTU 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)
Mehr1 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
MehrGrundlagen 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
MehrVorlesung 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
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
MehrDatenbanken 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
MehrDatenintegritä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
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
MehrSoftware-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.
Mehr5. Transaktionsverarbeitung
5. Transaktionsverarbeitung 5.1. Einführung Viele Anwendungsprogramme / interaktive Benutzer arbeiten gleichzeitig (konkurrierend) auf gemeinsamer Datenbank (mit den gleichen Daten). Notwendigkeit: Abwicklung
MehrDatenbanken: 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
MehrMehrbenutzer-Synchronisation
MehrbenutzerSynchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,
MehrDatenbanksysteme 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
MehrDatenbanken 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
Mehr8. 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 -
MehrDarunter 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
MehrBeispielszenarien. 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
Mehr11.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
MehrMehrbenutzer-Synchronisation
Mehrbenutzer-Synchronisation Konflikt-Kategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Kapitel 11 1 Mehrbenutzersynchronisation Ausführung
MehrDatenbankadministration
Datenbankadministration 11. Synchronisation AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Transaktion Transaktion
MehrKoordination 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
MehrTransaktionsverarbeitung 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
MehrMehrbenutzersynchronisation
Mehrbenutzersynchronisation VU Datenbanksysteme vom 4.11. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Nebenläufigkeit
MehrOPTIMISTIC & 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 )
Mehr3.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
MehrWie 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
MehrDatenbanken 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!
MehrMehrbenutzersynchronisation
Mehrbenutzer Synchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,
MehrSysteme 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
Mehr2. Synchronisation in DBS: Grundlagen, Sperrverfahren
2. Synchronisation in DBS: Grundlagen, Sperrverfahren Anomalien im Mehrbenutzerbetrieb Serialisierbarkeit Zweiphasen-Sperrprotokolle Konsistenzstufen von Transaktionen Hierarchische Sperrverfahren Deadlock-Behandlung
MehrOracle 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
MehrKapitel 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
MehrSchreiben 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
MehrDatenbank- 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
MehrTag 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
MehrVerteilte 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
MehrKommunikation und Datenhaltung
Kommunikation und Datenhaltung Transaktionsverwaltung Überblick über den Datenhaltungsteil Motivation und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra
Mehr1 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
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)
MehrView. 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.
MehrSysteme 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
MehrDeadlocks. 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.
Mehr6.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
MehrKapitel 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
MehrGrundlagen 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
MehrMä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
MehrDatenbanken: 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
MehrSynchronisation 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
MehrDatenbanksysteme 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:
MehrDer 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
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,
Mehr9.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
Mehr6. Serialisierbarkeit
6. Serialisierbarkeit Nothing is as practical as a good theory Albert Einstein Anomalien im Mehrbenutzerbetrieb Synchronisation von Transaktionen - Ablaufpläne, Modellannahmen - Korrektheitskriterium:
MehrIsolationsstufen 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)
MehrLinked 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
Mehr6. 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
MehrP.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
MehrTransaktionen 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
MehrPessimistische 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
Mehr9. 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
MehrDieser 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,
MehrDatenbanken und Informationssysteme
Datenbanken und Informationssysteme Serialisierbarkeit Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Serialisierbarkeit 2-Phasen-Sperrprotokoll (2PL) Verklemmungen Modell
MehrTag 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
MehrKapitel 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
MehrConcurrency 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)
MehrPrü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
MehrVerklemmungen - 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
MehrSynchronisierung 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
MehrModerne 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
MehrAtomare 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
MehrIn 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?
MehrTransaktionsverwaltung
Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung
Mehrfbi 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
MehrWiederanlauf (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
MehrVerteiltes 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
Mehr9 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
MehrBetriebssysteme. 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
MehrSystemprogrammierung (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
MehrKapitel 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,
MehrDaten- 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
Mehr9. Ü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
MehrDatenbanken 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
MehrTRANSAKTIONEN 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
MehrEinfü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
MehrDatenbanken: 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