Übungsblatt 9 SS2023 Aufgabe 1 – Transaktionen Was ist eine Transaktion? Was bedeutet abort bzw. commit? Was ist ACID? Warum müssen Transaktionen dem ACID - Prinzip genügen? Aufgabe 2 – Mehrbenutzerbetrieb Gegeben seien die nebenläufigen Programme Prog1 und Prog2. Beide Programme starten und verwenden jeweils eine Datenbanktransaktion (Tra1 und Tra2), wobei die DB - Operationen read, write, commit und abort in der angegebenen Reihenfolge a uf die Datenbank angewendet werden. s Tra1 Tra2 1 read(x1) 2 x1:=x1 - 250 read (x1) 3 write (x1) 4 read(x3) 5 read(x2) 6 x1:=x1 + 70 7 write (x1) 8 x3:=x3 + x1 9 read(x1) 10 x1:=x2 + 250 11 x2:=x2 + 5 12 write(x2) 13 read(x2) 14 read(x2) 15 write(x2) 16 x2:=:x3 + x2 17 write(x2) 18 read(x2) 19 commit 20 abort a. Was versteht man unter dem Begriff nebenläufig? Was ist unkontrollierter Mehrbenutzerbetrieb? b. Welche Probleme treten im unkontrollierten Mehrbenutzerbetrieb bei den nebenläufigen Transaktionen Tra1 und Tra2 auf? A ufgabe 3 – Schedule a. Was ist ein Schedule (Ausführungsplan)? b. Schreiben Sie einen beliebigen seriellen und ei ne n beliebigen nicht seriellen Schedule für die Programme Prog1 und Prog2 aus Aufgabe 2 Aufgabe 4 – Serialisierbarkeit Was versteht man prinzipiell unter Serialisierbarkeit? Erläutern Sie den Unterschied zwischen Konflikt - , Sichten - , und Zustands s erialisierbarkeit. Aufgabe 5 – Serialisierbarkeit Gegeben sei folgender Schedule S1, bestehend aus Operationen der Transaktionen T1, T2 und T 3. Die Nummerierung entspricht der Reihenfolge der Operationen. a. Geben Sie den Schedule entsprechend der Notation aus dem Skriptum als Sequenz von Ausführungsschritten an. b. Geben Sie die Abhängigkeitsbeziehung D(S1) des angegeben Schedules S1 und eines beliebigen seriellen Schedules S2 von T1 - T3 an. Sind die bei den äquivalent? c. I st Schedule S1 konfliktserialisierbar? Warum? Begründen Sie Ihre Antwort anhand eines Präzedenzgraphen. Ist Schedule S2 konfliktserialisierbar? Aufgabe 6 – Synchronisation, Sperren, 2PL Gegeben sei folgende r Schedule: <(1,r,x1), (1,w,x1), (2,r,x2 ), (1,r,x2), (2,r,x3), (2,w,x2), (1,w,x2), (1,r,x3), (2, w, x3 ), (1,w, x3 )> a. Was versteht man unter wohlgeformten Transaktionen? b. Welche weiteren Bedingungen müssen 2 - Phasen Transaktion einhalten? c. Wie werden di e Operationen der Transaktionen T1 und T2 geordnet, wenn das System ein 2Phasen - Sperrprotokoll (2PL) verwendet? Überführen Sie T1 und T2 in 2PL Transaktionen und geben Sie das daraus resultierende Schedule an. d. Überführen Sie den Schedule in einen strikten Schedule. Aufgabe 7 – Deadlock Gegeben sind zwei Transaktionen T1 und T2, welche parallel ausgeführt werden sollen: T1= lock (x1) read (x1) lock (x2) read (x2) write (x2) write (x1) unlock (x1) unlock (x2) T2= lock (x2) read (x2) write (x2) lock (x1) unlock (x2) read (x1) write (x1) unlock (x1) Kann bei den Transaktionen T1 und T2 ein Deadlock auftreten? Begründen Sie Ihre Antwort.