AG Datenbanken und Informationssysteme Wintersemester 2006 / Übungsblatt. Aufgabe 2: Sperrprotokolle in Datenbankystemen

Größe: px
Ab Seite anzeigen:

Download "AG Datenbanken und Informationssysteme Wintersemester 2006 / Übungsblatt. Aufgabe 2: Sperrprotokolle in Datenbankystemen"

Transkript

1 AG Datenbanken und nformationssysteme Wintersemester 26 / 27 Prof. Dr.-ng. Dr. h. c. Theo Härder Fachbereich nformatik Technische Universität Kaiserslautern Aufgabe 1: Verklemmungen 9. Übungsblatt Für die Übung am Donnerstag, 11. Januar 27, von 15:3 bis 17: Uhr in 13/ Gegeben sind die Transaktionen T 1,, T 3, T 4 und T 5 sowie die Datenelemente A, B, C, D, E und F. Es gelte das Zwei-Phasen-Sperr-Protokoll. Dabei bedeutet T i (, A), dass die Transaktion T i eine - Sperre auf dem Datenelement A hält bzw. anfordert. T i (, A) bedeute, dass die Transaktion T i eine -Sperre auf dem Datenelement A hält bzw. anfordert. Folgende Sperren werden aktuell durch die Transaktionen gehalten: T 1 (, A), T 1 (, B), T 1 (, E), (, B), T 3 (, C), T 3 (, E), T 4 (, C), T 4 (, D), T 4 (, E), T 5 (, F) Die einzelnen Transaktionen fordern jeweils folgende Sperren an, um mit der Bearbeitung fortfahren zu können: T 1 (, C), (, F), T 3 (, B), T 4 (, A), T 5 (, D) a) Zeichnen Sie den Wartegraphen dieser Transaktionen. b) Begründen Sie anhand hres Wartegraphen, warum eine Verklemmung vorliegt. c) Lösen Sie diese Verklemmung durch Zurücksetzen einer Transaktion auf. Lösung: a) Folgende Sperren werden zu Beginn gehalten: T 1 (,A) T 1 (,B) T 3 (,C) T 4 (,D) T 1 (,E) T 5 (,F) (,B) T 4 (,C) T 3 (,E) T 4 (,E) Damit ergibt sich der Wartegraph: T 3 C C T 1 T 4 B A B D F T 5 b) m Wartegraph existieren Zyklen (T 3 -> T 1 -> T 3, T 4 -> T 1 -> T 4, usw.) und damit auch Verklemmungen. c) Zurücksetzen von T 1. Seite 1 Aufgabe 2: Sperrprotokolle in Datenbankystemen Die Objekte der Datenbank seien in folgender Weise hierarchisch angeordnet: 1,1 1,2... 1,m(1) t 1,1,1 t 1,1,2... t 1,1,n(1,1) DB S 1 S 2... S k k,1... k,m(k) t 1,m(1),1... t 1,m(1),n(1,m(1)) Datenbank Segmente elationen Tupel Diese Darstellung zeigt, dass sich die elation 1,1 aus den Tupeln t 1,1,1, t 1,1,2,..., t 1,1,n(1,1), das Segment S 1 aus den elationen 1,1, 1,2,..., 1,m(1) und die DB aus den Segmenten S 1, S 2,..., S k zusammensetzen. Die einzelnen Transaktionen T i fordern in folgender zeitlicher eihenfolge in Abständen von jeweils einer Zeiteinheit Objekte zum Lesen () oder Schreiben () an. Schreibsperren werden 1 und Lesesperren 2 Zeiteinheiten lang gehalten. Z 1 : T 1 <-- t 1,1,1 in Z 2 : <-- t 1,1,2 in Z 3 : T 3 <-- 1,1 in Z 4 : T 4 <-- 1,2 in Z 5 : T 5 <-- S 1 in Z 6 : T 6 <-- S 2 in Z 7 : T 7 <-- DB in Freigabe der Schreibsperren, wenn sie sofort gewährt werden, zu den Zeitpunkten Z 11 : T 1 --> von t 1,1,1 Z 14 : T 4 --> von 1,2 Z 16 : T 6 --> von S 2 a) Wie sehen die Sperrprotokolle und Wartebeziehungen bei Partitionssperren jeweils aus, wenn die Sperreinheit ein Tupel, eine elation, ein Segment bzw. die Datenbank ist? b) Wie sehen die Sperrprotokolle und Wartebeziehungen bei hierarchischem Sperrmodus mit einer allgemeinen Anwartschaftssperre () aus? c) Wie viele Sperranforderungen sind nötig? d) Wie oft muss dabei eine Transaktion deaktiviert und in eine Warteschlange gebracht werden? e) Nach wie vielen Zeiteinheiten sind alle Transaktionen bearbeitet? f) Wie hoch ist die durchschnittliche? g) Es seien zwei Arten von speziellen Anwartschaftssperren und vorhanden. Wie ändern sich die Sperrprotokolle? h) Berechnen Sie jeweils die Anzahl der Sperranforderungen und der Deaktivierungen, die insgesamt verbrauchten Zeiteinheiten sowie die durchschnittlichen einheiten. Seite 2

2 Lösung: a) Sperrprotokolle und Wartebeziehungen: Sperreinheit ist das Tupel. T 1 : (t 1,1,1 ) : (t 1,1,2 ) T 3 fordert (t 1,1,1 ) und muss warten wg. T 1 T 4 : (t 1,2,1 ), (t 1,2,2 ),..., (t 1,2,n(1,2) ) T 5 fordert (t 1,1,1 ) und muss warten wg. T 1 T 6 : (t 2,1,1 ), (t 2,1,2 ),..., (t 2,1,n(2,1) ),(t 2,2,1 ), (t 2,2,2 ),..., (t 2,2,n(2,2) ),..., (t 2,m(2),1 ), (t 2,m(2),2 ),..., (t 2,m(2),n(2,m(2)) ) T 7 fordert (t 1,1,1 ) und muss warten wg. T 1 Warteschlange vor t 1,1,1 : (T 3 ), (T 5 ), (T 7 ) Nach Freigabe der -Sperre von T 1 auf t 1,1,1 : T 3 : (t 1,1,1 ), (t 1,1,2 ),..., (t 1,1,n(1,1) ) T 5 : (t 1,1,1 ), (t 1,1,2 ),..., (t 1,1,n(1,1) ), fordert (t 1,2,1 ) und muss warten wg. T 4 T 7 : (t 1,1,1 ), (t 1,1,2 ),..., (t 1,1,n(1,1) ), fordert (t 1,2,1 ) und muss warten wg. T 4 Warteschlange vor t 1,2,1 : (T 5 ), (T 7 ) Nach Freigabe der -Sperre von T 4 auf 1,2 : T 5 : (t 1,2,1 ), (t 1,2,2 ),..., (t 1,2,n(1,2) ),..., (t 1,m(1),1 ), (t 1,m(1),2 ),..., (t 1,m(1),n(1,m(1) ) T 7 : (t 1,2,1 ), (t 1,2,2 ),..., (t 1,2,n(1,2) ),..., (t 1,m(1),1 ), (t 1,m(1),2 ),..., (t 1,m(1),n(1,m(1) ), fordert (t 2,1,1 ) und muss warten wg. T 6 Warteschlange vor t 2,1,1 : (T 7 ) Nach Freigabe der -Sperre von T 6 auf S 2 : T 7 : (t 2,1,1 ), (t 2,1,2 ),..., (t 2,1,n(2,1) ), (t 2,2,1 ),..., (t k,m(k),n(k,m) ) Sperreinheit ist die elation. T 1 : ( 1,1 ) fordert ( 1,1 ) und muss warten wg. T 1 T 3 fordert ( 1,1 ) und muss warten wg. T 1 T 4 : ( 1,2 ) T 5 fordert ( 1,1 ) und muss warten wg. T 1 T 6 : ( 2,1 ), ( 2,2 ),..., ( 2,m(2) ) T 7 fordert ( 1,1 ) und muss warten wg. T 1 Warteschlange vor 1,1 : ( ), (T 3 ), (T 5 ), (T 7 ) Nach Freigabe der -Sperre von T 1 auf 1,1 : : ( 1,1 ) T 3 : ( 1,1 ) T 5 : ( 1,1 ), fordert ( 1,2 ) und muss warten wg. T 4 T 7 : ( 1,1 ), fordert ( 1,2 ) und muss warten wg. T 4 Warteschlange vor 1,2 :(T 5 ), (T 7 ) Seite 3 Nach Freigabe der -Sperre von T 4 auf 1,2 : T 5 : ( 1,2 ),..., ( 1,m(1) ) T 7 : ( 1,2 ),..., ( 1,m(1) ), fordert ( 2,1 ) und wartet wg. T 6 Warteschlange vor 2,1 :(T 7 ) Nach Freigabe der -Sperre von T 6 auf S 2 : T 7 : ( 2,1 ), ( 2,2 ),..., ( 2,m(2) ),..., ( k,m(k) ) Sperreinheit ist das Segment. T 1 : (S 1 ) fordert (S 1 ) und wartet wg. T 1 T 3 fordert (S 1 ) und wartet wg. T 1 T 4 fordert (S 1 ) und wartet wg. T 1 T 5 fordert (S 1 ) und wartet wg. T 1 T 6 : (S 2 ) T 7 fordert (S 1 ) und wartet wg. T 1 Warteschlange vor S 1 :( ), (T 3 ), (T 4 ), (T 5 ), (T 7 ) Nach Freigabe der -Sperre von T 1 auf S 1 : : (S 1 ) T 3 : (S 1 ) T 4 fordert (S 1 ) und wartet wg., T 3 T 5 : (S 1 ) T 7 : (S 1 ), fordert (S 2 ) und wartet wg. T 6 Nach Freigabe der -Sperre von T 6 auf S 2 : T 7 : (S 2 ), (S 3 ),..., (S k ) Nach Freigabe der -Sperren von, T 3, T 5 und T 7 : T 4 : (S 1 ) 4. Sperreinheit ist die Datenbank. T 1 : (DB) Warteschlange für DB:( ), (T 3 ), (T 4 ), (T 5 ), (T 6 ), (T 7 ) Nach Z 11 (Gewährung aller möglichen Sperren): : (DB) T 3 : (DB) T 5 : (DB) T 7 : (DB) Warteschlange für DB:(T 4 ), (T 6 ) Danach Abarbeitung von zunächst T 4, dann T 6. Sollten davor neue Lesetransaktionen starten (was sehr wahrscheinlich ist), passiert es schnell, dass T 4 und T 6 aushungern. Seite 4

3 b) Wie sehen die Sperrprotokolle und Wartebeziehungen bei hierarchischem Sperrmodus mit einer allgemeinen Anwartschaftssperre () aus? c) Wie viele Sperranforderungen sind nötig? d) Wie oft muss dabei eine Transaktion deaktiviert und in eine Warteschlange gebracht werden? e) Nach wie vielen Zeiteinheiten sind alle Transaktionen bearbeitet? f) Wie hoch ist die durchschnittliche? b) + c) + d) + e) + f): Hierarchische Sperrprotokolle bei allgemeiner Anwartschaftssperre Folgende Sperren werden gewährt: T 1 gewährte Sperren T 1 T 1 T 1 T 3 1,1 T 4 T 3 T 4 T 5 T 6 Zum Zeitpunkt Z 16 keine weitere Gewährung von Sperren aus den Warteschlangen möglich. Es ergibt sich folgende Situation: S 1 t 1,1,1 t 1,1,2 T 3 T 4 T 5 DB 1,2 T 6 T 7 S 2 Warteschlange Transaktion Zeiteinheiten en Bemerkung T 1 Z 1 - Z 11 1 Z 2 - Z 22 2 T 3 Z 3 - Z läuft erst nach Ende T 4 Z 4 - Z 14 1 T 5 Z 5 - Z läuft erst nach Ende T 3 T 6 Z 6 - Z 16 1 T 7 Z 7 - Z läuft erst nach Ende T 5 Gesamtdauer: 82 Zeiteinheiten Durchschnittliche : W = = = 15,9 7 7 g) Es seien zwei Arten von speziellen Anwartschaftssperren und vorhanden. Wie ändern sich die Sperrprotokolle? h) Berechnen Sie jeweils die Anzahl der Sperranforderungen und der Deaktivierungen, die insgesamt verbrauchten Zeiteinheiten sowie die durchschnittlichen einheiten. g) + h): Hierarchische Sperrprotokolle mit speziellen Anwartschaftssperren T5 T6 S 1 T5 DB T6 T7 S 2 T 3 T 5 DB T 7 1,1 1,2 T 3 1,1 Anzahl der Sperranforderungen: nsgesamt 19 Sperren angefordert Anzahl der Deaktivierungen: nsgesamt 3 Transaktionen in Wartestellung T 3 S 1 t 1,1,2 T 5 Zum Zeitpunkt Z 16 ergibt sich folgende Situation: t 1,1,1 t 1,1,2 T5 T5 1,1 T7 S 1 t 1,1,2 DB Anzahl der Sperranforderungen: nsgesamt 19 Sperren angefordert Anzahl der Deaktivierungen : nsgesamt 3 Transaktionen in Wartestellung Seite 5 Seite 6

4 Transaktion Zeiteinheiten en Bemerkung T 1 Z 1 - Z 11 1 Z 2 - Z 22 2 T 3 Z 3 - Z läuft erst nach Ende T 1 T 4 Z 4 - Z 14 1 T 5 Z 5 - Z läuft erst nach Ende T 4 T 6 Z 6 - Z 16 1 T 7 Z 7 - Z läuft erst nach Ende T 6 Gesamtdauer: 36 Zeiteinheiten Durchschnittliche : W = = = 7 7 3, 7 Aufgabe 3: Vergleich verschiedener Synchronisationsverfahren Gegeben ist der Ablaufplan von vier Transaktionen -: w(y) r(x) a) st der Ablaufplan serialisierbar? Welche seriellen Historien ergeben sich? b) Geben Sie die Serialisierungsreihenfolge an, wenn zur Synchonisation verwendet wird: (1) (2) U (symmetrisch) (3) U (unsymmetrisch) (4) A (5) AC (6) BOCC (7) BOCC+ (mit Zeitstempeloptimierung) (8) FOCC Gehen Sie von starkem 2-Phasen-Locking aus (Halten aller Sperren bis zum EOT, dann atomares Freigeben). Hinweis: Die vom obigen Ablaufplan vorgegebenen Zeitabstände zwischen den einzelnen Operationen innerhalb der individuellen Transaktionen sollen auch im Falle von Blockierungen durch Sperranforderungen beibehalten werden. Sie sind dann als Zeit zwischen der tatsächlichen Ausführung der ersten Operation (d.h. nach der Gewährung einer Sperre) und der (versuchten) Ausführung der zweiten Operation zu verstehen. Seite 7 Seite 8

5 Lösung: a) st der Ablaufplan serialisierbar? Welche seriellen Historien ergeben sich? w(y) r(x) Einzeichnen der Konfliktoperationen ergibt folgenden Serialisierbarkeitsgraphen: Der resultierende Serialisierbarkeitsgraph ist azyklisch, der Ablaufplan daher serialisierbar. Mögliche serielle Ablaufpläne sind: b) Geben Sie die Serialisierungsreihenfolge an, wenn zur Synchronisation folgende Verfahren verwendet werden: SG: (1) (x) (z) (y) (y) w(y) (x) r(x) (z) SG: (y) t=4: schreibt x und erhält dafür die nötige -Sperre. t=5: liest y und erhält -Sperre. t=6: liest ebenfalls y und erhält ebenfalls eine -Sperre ( ist mit verträglich) t=8: versucht y zu schreiben. Die dazu erforderliche Sperrkonversion von der - zur -Sperre führt zur Blockierung, da eine -Sperre hält. t=9: liest z und erhält -Sperre. t=1: versucht z zu ändern, die dazu nötige -Sperre kann zunächst nicht gewährt, werden da parallel z liest, muss warten. t=13: EOT von, Freigabe der -Sperre auf z, folglich kann deblockiert werden und erhält die -Sperre. t=17: EOT von, Freigabe der -Sperren auf x und z. t=18: EOT von, Freigabe der -Sperre auf y, kann deblockiert werden und erhält die - Sperre auf y. t=21: liest x und erhält dafür eine -Sperre. t=: EOT von, Freigabe aller Sperren. m Beispielszenario wird ein Problem des -Verfahrens nicht deutlich, der Konversions-Deadlock. Diese würde auftreten, wenn z.b. zum Zeitpunkt t=15 eine Sperrkonversion des (y) auf (y) probieren würde. n diesem Fall würde auf die Freigabe des von warten und umgekehrt Gesamt AVG 3, Seite 9 Seite 1

6 t=4: t=5: t=6: t=8: t=9: t=1: t=13: (2) U (symmetrisch) (x) (z) U(y) U->(y) w(y) (x) r(x) (z) SG: (y) schreibt x und erhält dafür die nötige -Sperre. liest y mit Änderungsabsicht und erhält eine U-Sperre. liest ebenfalls y und erhält eine -Sperre ( ist beim symmetrischen U mit verträglich) versucht y zu schreiben. Die dazu erforderliche Sperrkonversion von der U- zur -Sperre führt zur Blockierung, da eine -Sperre hält. liest z und erhält -Sperre. versucht z zu ändern, die dazu nötige -Sperre kann zunächst nicht gewährt, werden da parallel z liest, muss warten. EOT von, Freigabe der -Sperre auf z, folglich kann deblockiert werden und erhält die -Sperre. t=17: EOT von, Freigabe der -Sperren auf x und z. t=18: EOT von, Freigabe der -Sperre auf y, kann deblockiert werden und erhält die - Sperre auf y. t=21: liest x und erhält dafür eine -Sperre. t=: EOT von, Freigabe aller Sperren. Der resultierende Ablaufplan ist für dieses Beispiel identisch zu dem von. Der bei der Erläuterung von geschilderte Fall des Konversions-Deadlocks kann bei U nicht eintreten. Hier hätte zum Zeitpunkt t=6 eine U-Sperre angefordert, und wäre daraufhin blockiert worden (U mit gesetztem U unverträglich). m symmetrischen U-Verfahren könnten während der von auf das Ende beliebige neue Leser hinzukommen ( ist mit gesetztem U verträglich) und so die Bearbeitung von unbegrenzt verzögern (Starvation). t=4: t=5: t=6: t=8: t=9: t=1: t=11: t=13: t=17: t=21: t=33: (3) U (unsymmetrisch) (x) (z) U(y) U->(y) (x) w(y) r(x) (z) (y) schreibt x und erhält die -Sperre. liest y mit Änderungsabsicht und erhält U-Sperre. versucht, y zu lesen. ist jetzt jedoch unverträglich mit gesetztem U, daher muss warten. schreibt y, die dazu erforderliche Sperrkonversion von der U- zur -Sperre ist nun möglich, da kein paralleler Leser eine -Sperre hält (es könnten jedoch noch Lesesperren von älteren Lesern gesetzt sein, die ihr vor dem U von angefordert haben). liest z und erhält -Sperre. versucht z zu ändern, die dazu nötige -Sperre kann zunächst nicht gewährt, werden da parallel z liest, muss warten. versucht x zu lesen, allerdings ist x noch von mit gesperrt, muss warten. EOT von, Freigabe der -Sperre auf z, folglich kann deblockiert werden und erhält die -Sperre. EOT von, Freigabe der -Sperren auf x und z. kann deblockiert werden und erhält (x). EOT von, Freigabe von (y) und (x), kann deblockiert werden und erhält (y). EOT von, Freigabe von (y). Die Gesamtdauer des Ablaufplans und die durchschnittliche der Transaktionen verschlechtern sich im gezeigten Szenario, allerdings wird das Aushungern von Schreibern durch neu hinzukommende Leser verhindert und so die "Fairness" verbessert. SG: Gesamt 33 AVG 6 Seite 11 Seite 12

7 (4) A A(x) -> x 2 A(z) -> z 2 A(x) -> (x) warten A(z) -> (z) OK SG: A(y) -> y 2 (x) -> x 1! w(y) A(y) -> (y) warten r(x) (z) -> z 1 (y) ->y 1! Alle Transaktionen fordern nun vor dem Schreiben (bzw. vor dem Lesen mit Änderungsabsicht) eine A-Sperre an und erhalten (wenn die Sperre gewährt wird) eine neue Version des Objekts, auf der sie arbeiten können. Während der Bearbeitung dieser Kopie sehen neue Leser die alte Version. t=4: ändert x und erhält so eine neue Version x 2. t=5: liest y mit Änderungsabsicht und erhält ebenfalls eine private Version. t=6: liest y und erhält die alte Version y 1. t=8: ändert ihre private Version. t=9: liest z und sieht die (zu diesem Zeitpunkt einzige) Version z 1. t=1: ändert z und erstellt somit eine neue Version z 2. t=11: liest x und sieht die alte Version x 1, da die Änderung von noch nicht freigegeben wurde. t=13: EOT von, Freigabe der -Sperre auf z. t=14: EOT von, Konversion aller A-Sperren nach zum Einbringen der geänderten Version. Konversion von A(z) nach (z) gelingt (da keine Leser die alte Version z 1 noch benötigen). Konversion von A(x) nach (x) blockiert, da der "alte" Leser noch auf der alten Version x 1 arbeitet. t=15: EOT von, Konversion von A(y) nach (y) blockiert, da der alte Leser noch auf der alten Version y 1 arbeitet. 3 Die resultierende Schedule hat eine kürzere Gesamtdauer und eine geringerer durchschnittliche als und die beiden Varianten von U. Allerdings ist A nicht chronologieerhaltend, da hier im äquivalenten seriellen Ablaufplan vor ausgeführt würde Gesamt 18 AVG 1,75 t=18: EOT von gibt Lesesperre auf y frei. kann seine geänderte Version y 2 freigeben, y 1 wird nicht mehr benötigt und kann verworfen werden. gibt bei seinem erfolgreichen EOT die Lesesperre auf x frei, daraufhin kann seine geänderte Version x 2 einbringen und abgeschlossen werden. Seite 13 Seite 14

8 (5) AC A(x) -> x 2 A(z) -> z 2 A(x) -> C(x) OK A(z) -> C(z) OK A(y) -> y 2 (x) -> x 1! w(y) A(y) -> C(y) OK r(x) (y) ->y 1! t=4 bis t=13: wie A t=14: EOT von, Konversion der A-Sperren nach C-Sperren für jedes geänderte Objekt. Keine Konflikte bei der Konversion von A(x) nach C(x), da die alte Version x 1 für noch bereitgehalten wird. Nach erfolgtem Einbringen der geänderten Versionen von x und z erfolgt eine Freigabe der C-Sperren sobald alle alten Leser fertig sind (im Falle von z also unmittelbar, für x nach dem Ende von ). t=15: EOT von, Konversion von A(y) nach C(y) erfolgreich, y 1 wird noch für bereitgehalten. Freigabe des C(x), das von hinterlassen wurde. Beibehalten des C(y) bis zum Ende von. t=18: EOT von. Freigabe von (y) und damit auch des C(y) von. m Vergleich zu A werden Schreiber bei ihrem Commit nicht blockiert, da bei AC zwei gültige Versionen gleichzeitig zum Lesen bereitgehalten werden können (erkennbar an gesetztem C). Die alte Version wird für alle Leser bereitgehalten, die vor dem EOT des Schreibers eine Lesesperre angefordert haben, die neue Version ist für alle neuen Leser sichtbar. Wenn die letzten "alten" Leser fertig sind, kann C entfernt werden. Erst jetzt kann ein neuer Schreiber eine neue Version mit A anlegen. Der resultierende Schedule sieht auf den ersten Blick aus wie der in der Aufgabenstellung vorgegebene. Allerdings ist hier wie auch bei A durch die Versionierung die eihenfolge von und in den äquivalenten seriellen Abläufen invertiert. (z) -> z Gesamt 18 AVG SG: 3 (6) BOCC Bei BOCC validiert jede TA bei EOT gegen alle Schreiber, die während ihrer Laufzeit erfolgreich validiert (und somit ihre Änderungen festgeschrieben) haben. Dabei wird die Schnittmenge der von der validierenden Transaktion gelesenen Objekte (ihr eadset) mit der Menge aller von den erfolgreich validierten TAs geschriebenen Objekte (Vereinigung der Writesets) verglichen. Wenn diese Schnittmenge nicht leer ist, wird dies als Konflikt erkannt und die Transaktion zurückgesetzt. Andernfalls werden die Änderungen der Transaktion, die zuvor in einem privaten Puffer durchgeführt wurden, in die Datenbank eingebracht (Schreibphase). Validierung : keine vorher validierenden Schreiber, kein Konflikt Validierung : S 2 = {x,y}, WS = WS 1 = {x} S 2 WS 1 = { x} => Konflikt, verwerfen der Änderungen und Wiederanlauf Validierung : keine vorher validierenden Schreiber, kein Konflikt Validierung : Schreiber von y validiert nicht erfolgreich, daher kein Konflikt 2. Validierung von : kein parallel validierender Schreiber auf x oder y, kein Konflikt. w(y) r(x) (14) Gesamt 28 AVG 3,5 vnok! w(y) r(x) vok Neustart 3 Seite 15 Seite 16

9 (7) BOCC+ (mit Zeitstempeloptimierung) [2] x,z ->[2] OK x[2] = x[2] NOK! x[] < x[2] y -> [4] [] w(y) r(x)[] v [] w(y) r(x)[2] v [] [] Neustart [1] [3] BOCC+ verzichtet auf das führen von Writesets. Stattdessen verteilt es aufsteigende Zeitstempel für erfolgreich validierende TA. Alle von der TA geschriebenen Objekte werden mit diesem Zeitstempel versehen. Beim Lesen eines Objekts wird dessen Zeitstempel im eadset der lesenden TA vermerkt. Bei Validierung wird für jedes gelesene Objekt überprüft, ob der zum Validierungszeitpunkt aktuelle Zeitstempel gleich dem Zeitstempel zum Lesezeitpunkt ist. st der Lesezeitstempel kleiner, hat zwischenzeitlich eine andere TA das Objekt geändert und erfolgreich validiert, die Transaktion muss abgebrochen und ggf. wiederholt werden. Validierung : keine Leseoperationen, kein Konflikt Validierung : liest y mit Zeitstempel und vermerkt dies in seinem eadset. Vor der Validierung von validiert und erhöht dabei den Zeitstempel von y auf 1. Bei der Validierung von wird erkannt, dass der nun aktuelle Zustand von y jünger als der von gelesene ist, es erfolgt ein Wiederanlauf. Validierung : Zeitstempel von z zum Lese- und Validierungszeitpunkt sind identisch, kein Konflikt. z wurde zwar bereits von geändert (in dessen privatem Puffer), aber noch nicht eingebracht. Validierung : Zeitstempel von y zum Lese- und Validierungszeitpunkt sind identisch (da nicht erfolgreich validiert hat und daher auch der Zeitstempel von y nicht erhöht wurde), kein Konflikt. 2. Validierung : Zeitstempel von z zum Lese- und Validierungszeitpunkt sind identisch, kein Konflikt Gesamtdauer und en wie BOCC. BOCC+ bringt einen Vorteil gegenüber BOCC, wenn eine Transaktion ein Objekt einer während ihrer Laufzeit validierenden Schreib-TA liest, nachdem die Schreib-TA validiert hat. Hier würde das ungenauere BOCC einen Konflikt erkennen, obwohl das korrekte Objekt gelesen wurde. (8) FOCC FOCC vergleicht das Writeset einer validieren TA mit den eadsets aller zum Validierungszeitpunkt aktiven TAs. st die Schnittmenge nicht leer, wurde ein Konflikt erkannt. m Gegensatz zu BOCC kann hier die zurückzusetzende TA frei gewählt werden. Dadurch kann der Verlust an bereits getaner Arbeit minimiert oder bereits einmal wegen eines Konflikts wiederholte TAs können bevorzugt werden. m obigen Beispiel wird von einem naiven TA-Manager grundsätzlich die validierende TA zurückgesetzt, was in der Praxis nicht die optimale Strategie wäre. Validierung : WS 1 = {x,z}, S 2 = {x,y}, S 4 = {y}, S 2 S 4 = S = { x, y} WS 1 S = { x} => Konflikt, Neustart von Validierung : WS 2 = {y}, S 1 = {}, S 4 = {y}, S 1 S 4 = S = { y}, WS 2 S = { y} => Konflikt, Neustart von Validierung : leeres Writeset, kein Konflikt Validierung : leeres Writeset, kein Konflikt 2. Validierung : WS 1 = {x,z}, S 2 = S = {x,y}, WS 1 S = { x} => Konflikt, 2. Neustart von! 2. Validierung : WS 2 = {y}, S 1 = S = {}, WS 2 S = => kein Konflikt 3. Validierung : keine parallelen TA, kein Konflikt w(y) r(x) 42 (28) 28 (14) Gesamt 42 AVG 1,5 NOK! v NOK! v w(y) r(x) Neustart 3 NOK v Seite 17 Seite 18

10 FOCC mit einem "intelligenteren" Transaktionsmanager: w(y) r(x) NOK! => KLL v Validierung : WS 1 = {x,z}, S 2 = {x,y}, S 4 = {y}, S 2 S 4 = S = { x, y} WS 1 S = { x} => Konflikt, Abbruch und Neustart der "anderen" TA Validierung : leeres Writeset, kein Konflikt Validierung : leeres Writeset, kein Konflikt Validierung : keine parallelen TA zum Validierungszeitpunkt, kein Konflikt ABOT! w(y) r(x) vok Neustart (14) Gesamt 28 AVG 3,5 Seite 19

3.5 Synchronisation ohne Sperren

3.5 Synchronisation ohne Sperren Überblick Nachteil von Sperren: Einschränkung der Parallelität Deadlocks 1. Lösungsversuch: Weiterhin pessimistisches Verfahren, aber statt Sperren, Zeitstempel (nicht zur Verklemmungsvermeidung sondern

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

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 30.06.09 Kapitel 14: Mehrbenutzersynchronisation Oliver Vornberger Institut für Informatik Universität Osnabrück Multiprogramming Zeitachse Einbenutzer betrieb T1 T2

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

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

Ü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

10. Übungsblatt. Für die Übung am Donnerstag, 15. Januar 2009, von 15:30 bis 17:00 Uhr in 13/222.

10. Übungsblatt. Für die Übung am Donnerstag, 15. Januar 2009, von 15:30 bis 17:00 Uhr in 13/222. AG Datenbanken und Informationssysteme Wintersemester 2008 / 2009 Prof. Dr.-Ing. Dr. h. c. Theo Härder Fachbereich Informatik Technische Universität Kaiserslautern http://wwwlgis.informatik.uni-kl.de/cms

Mehr

Prioritäten/Zeitstempel-Verfahren

Prioritäten/Zeitstempel-Verfahren Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt jede Transaktion

Mehr

Prioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien

Prioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt 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

Ü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

Lösung zum 2. Übungsblatt VBS

Lösung zum 2. Übungsblatt VBS UNIVERSITÄT ULM Fakultät für Informatik Verteilte Systeme Prof. Dr. Peter Schulthess Ralph Göckelmann Stefan Frenz Lösung zum 2. Übungsblatt VBS Aufgabe 1: Schnappschussgewinnung a) Welche Bedingungen

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

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

Mehrbenutzersynchronisation

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

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

Eigenschaften von TAs: ACID-Prinzip

Eigenschaften von TAs: ACID-Prinzip Transaktionsparadigma Definition: Transaktion ununterbrechbare Folge von DML-/DDL-Befehlen begin transaction --- end transaction begin: meist implizit mit ersten Datenbankzugriff end: commit (work) oder

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

Ü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

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

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Kapitel 13 Mehrbenutzersynchronisation 13.1 Multiprogramming Unter M ultiprogramming versteht man die nebenläufige, verzahnte Ausführung mehrerer Programme. Abbildung 13.1 zeigt exemplarisch die dadurch

Mehr

3. Übung zur Vorlesung Verteilte Betriebssysteme

3. Übung zur Vorlesung Verteilte Betriebssysteme UNIVERSITÄT ULM Fakultät für Informatik Verteilte Systeme Prof. Dr. Peter Schulthess Markus Fakler 3. Übung zur Vorlesung Verteilte Betriebssysteme 21.11.2007 Aufgabe 1: Verteilte Algorithmen (3 + 1 +

Mehr

Mehrbenutzer-Synchronisation

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

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

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

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

Mehrbenutzer-Synchronisation

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

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

T1: A := A * 2 B := B * 2 T2: A := A B := B + 100

T1: A := A * 2 B := B * 2 T2: A := A B := B + 100 1 T1: A := A * 2 B := B * 2 T2: A := A + 100 B := B + 100 2 1. Transaktionen und ihre Probleme 2. Wie löst man es als Pessimist? 3. Der Optimist sagt 4. Wer hat Recht? 3 Folge von Operationen, die die

Mehr

Mehrbenutzersynchronisation

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

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

Kapitel 5 Mehrversionen-CC. MVCC: Annahmen & Eigenschaften

Kapitel 5 Mehrversionen-CC. MVCC: Annahmen & Eigenschaften Kapitel 5 Mehrversionen-CC Bisher sind wir immer von der Grundannahme ausgegangen, dass jedes Datenobjekt x nur in einer Version vorliegt. Die Konsequenz daraus war, dass durch jedes Schreiben der Wert

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

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

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

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

Kapitel 3 Teil 2 Synchronisation - Algorithmen I

Kapitel 3 Teil 2 Synchronisation - Algorithmen I Kapitel 3 Teil 2 Synchronisation - Algorithmen I Inhalt: Pessimistische Scheduler, optimistische Scheduler, hybride Scheduler Scheduling-Algorithmen Scheduler (1) Entwurf von Scheduling-Algorithmen (Scheduler)

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

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

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

DB I S. 1 Referentielle Aktionen [10 P.] Gegeben sei folgende Datendefinition:

DB I S. 1 Referentielle Aktionen [10 P.] Gegeben sei folgende Datendefinition: 1 Referentielle Aktionen Gegeben sei folgende Datendefinition: [10 P.] CREATE TABLE Wissenschaftler( SVNr int PRIMARY KEY, Vorname varchar(25) NOT NULL, Nachname varchar(25) NOT NULL, Gehalt int NOT NULL

Mehr

9.2.4 Phantomproblem. Mächtigkeit von 2PL. Lösung des Phantomproblems. bisherige implizite Annahme

9.2.4 Phantomproblem. Mächtigkeit von 2PL. Lösung des Phantomproblems. bisherige implizite Annahme Rückblick Rückblick Geben Sie einen Schedule S an, der konfliktserialisierbar, jedoch nicht bei Anwendung von 2PL entstehbar ist. Schedule mit Phantom Sei eine Transaktion T 1 eine Ausführung eines Programmes

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

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

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

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

Kapitel 9a Transaktionen - Synchronisation

Kapitel 9a Transaktionen - Synchronisation LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme Wintersemester 2018/2019 Kapitel 9a Transaktionen - Synchronisation Vorlesung:

Mehr

Teil II Concurrency Control. Kapitel 2 Serialisierbarkeitstheorie

Teil II Concurrency Control. Kapitel 2 Serialisierbarkeitstheorie Teil II Concurrency Control Kapitel 2: Serialisierbarkeitstheorie Korrektheitskriterien Kapitel 3: Konservative Concurrency Control-Protokolle Kapitel 4: Optimistische Concurrency Control-Protokolle Kapitel

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

Aufgabe 10.1: Lösung:

Aufgabe 10.1: Lösung: 1 Aufgabe 10.1: Lösung: Aus Konfliktserialisierbarkeit folgt allgemeine Serialisierbarkeit. Bleibt zu zeigen, dass jetzt auch aus Serialisierbarkeit Konfliktserialisierbarkeit folgt, falls die Transaktionen

Mehr

Kapitel 3 Synchronisation

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

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

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

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

... 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

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

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar 2009 Dr. A. Huhn, M. Endres, T. Preisinger Datenbanksysteme I Semesterklausur Hinweise: Die Bearbeitungszeit

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

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

Transaktionsmanagement - Einführung. Prof. Dr. T. Kudraß 1

Transaktionsmanagement - Einführung. Prof. Dr. T. Kudraß 1 Transaktionsmanagement - Einführung Prof. Dr. T. Kudraß 1 Einführung Nebenläufige Ausführung von Benutzerprogrammen wesentlich für gute Performance des DBMS Weil Plattenzugriffe häufig und relativ langsam

Mehr

E. Verteilte Berechnungen/Algorithmen

E. Verteilte Berechnungen/Algorithmen E. Verteilte Berechnungen/Algorithmen E.1 Typische Aufgabenstellungen Verteilter gegenseitiger Ausschluss ( request_resource() ): - Ordnen der Anforderungen mithilfe einer logischen Zeitskala => - "Voting"

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

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

3. Synchronisation: Weitere Verfahren, Leistungsbewertung

3. Synchronisation: Weitere Verfahren, Leistungsbewertung 3. Synchronisation: Weitere Verfahren, Leistungsbewertung Optimistische Synchronisation BOCC, FOCC Kombination von OCC und Sperrverfahren Mehrversionen-Synchronisation Prädikatsperren Synchronisation bei

Mehr

2. Synchronisation in DBS: Grundlagen, Sperrverfahren

2. Synchronisation in DBS: Grundlagen, Sperrverfahren 2. Synchronisation in DBS: Grundlagen, Sperrverfahren Anomalien im Mehrbenutzerbetrieb Serialisierbarkeit ZweiphasenSperrprotokolle Konsistenzstufen von Transaktionen Hierarchische Sperrverfahren DeadlockBehandlung

Mehr

Kapitel 3 Teil 3 Synchronisation - Algorithmen II

Kapitel 3 Teil 3 Synchronisation - Algorithmen II Kapitel 3 Teil 3 Synchronisation - Algorithmen II Inhalt: Hierarchische Sperrverfahren, Mehrversionenverfahren, Prädikatssperren, Semantische Synchronisation, Escrow Hierarchische Sperrverfahren (1) Sperrgranulat

Mehr

Konflikte. Konflikt-Äquivalenz von Read/Write-Plänen, Konflikt-Serialisierbarkeit

Konflikte. Konflikt-Äquivalenz von Read/Write-Plänen, Konflikt-Serialisierbarkeit Konflikte Zwei Transaktionen liegen im Konflikt, wenn sie ein Objekt o gemeinsam nutzen, wobei mindestens eine der Transaktionen in o schreibt. Für eine Menge von Transaktionen T kann man nun alle Konflikte

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

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

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

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

2.3 View Serialisierbarkeit

2.3 View Serialisierbarkeit 2.3 View Serialisierbarkeit Das Problem, dass tote Aktionen bei FSSR ausgeklammert werden, lässt sich beheben, wenn man die Gleichheit der Reads-From-Relation eines gegebenen Schedules mit einem seriellen

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

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

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

7. Synchronisation Algorithmen 1

7. Synchronisation Algorithmen 1 7. Synchronisation Algorithmen 1 Scheduling-Algorithmen Entwurf von Scheduling-Algorithmen Klassifikation von Synchronisationsalgorithmen Sperrprotokolle - Zweiphasige Sperrprotokolle - Deadlocks und ihr

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

Übung 14. Tutorübung zu Grundlagen Datenbanken (Gruppen DO-T24 / DO-T31 WS 2016/2017)

Übung 14. Tutorübung zu Grundlagen Datenbanken (Gruppen DO-T24 / DO-T31 WS 2016/2017) Übung 14 Tutorübung zu Grundlagen Datenbanken (Gruppen DO-T24 / DO-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/fischerd Technische Universität München Fakultät für Informatik

Mehr

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS MUSTERLÖSUNG 30.01.2018 DATENMODELLIERUNG 2 (184.790) DATENBANKSYSTEME

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

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS 30.01.2018 DATENMODELLIERUNG 2 (184.790) DATENBANKSYSTEME (184.686) GRUPPE

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

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

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

Datenbanksysteme II SS 2010. Übungsblatt 9: Wiederholung

Datenbanksysteme II SS 2010. Übungsblatt 9: Wiederholung Ludwig-Maximilians-Universität München München, 02.07.2010 Department Institut für Informatik PD Dr. Peer Kröger Andreas Züfle Datenbanksysteme II SS 2010 Übungsblatt 9: Wiederholung Besprechung: 20.07.2010

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

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

Datenbanken Probeklausur (WS08/09)

Datenbanken Probeklausur (WS08/09) Universität Duisburg-Essen Ingenieurwissenschaften / Abteilung Informatik und Angewandte Kognitionswissenschaft Prof. Dr.-Ing. Norbert Fuhr 47048 Duisburg Lotharstraße 65 Datenbanken Probeklausur (WS08/09)

Mehr

Transaktionen. Michael Löwe 04/15/16. FHDW Hannover, Freundallee 15, Hannover address:

Transaktionen. Michael Löwe 04/15/16. FHDW Hannover, Freundallee 15, Hannover  address: Transaktionen Michael Löwe 04/15/16 FHDW Hannover, Freundallee 15, 30173 Hannover E-mail address: michael.loewe@fhdw.de KAPITEL 1 Isolation 1.1. Formales Modell für Transaktionen und Ablaufpläne Zustand.

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

Access-Modell. A4. Im Operandenteil von Anweisungen vorkommende Objekte seien unstrukturiert und stehen in keinerlei Beziehung zueinander.

Access-Modell. A4. Im Operandenteil von Anweisungen vorkommende Objekte seien unstrukturiert und stehen in keinerlei Beziehung zueinander. Access-Modell Das Access-Modell beruht auf folgenden vereinfachenden Annahmen: A1. Im Operationsteil einer Anweisung sei nur der Operator Access erlaubt. Die beabsichtigte Semantik ist, daß die Daten aus

Mehr