Relational Databases 2 Exercise Sheet 10: Transaction Processing 2
Exercise 1
Given two schedules:
r2(z) r2(y) w2(y) r3(y) r3(z) r1(x) w1(x) w3(y) w3(z) r2(x) r1(y) w1(y) w2(x) r3(y) r3(z) r1(x) w1(x) w3(y) w3(z) r2(z) r1(y) w1(y) r2(y) w2(y) r2(x) w2(x)
a. Apply and visualize the timestamp ordering algorithm for both schedules. Can the schedule be executed?
b. Apply and visualize the altruistic locking algorithm for both schedules. Can the schedule be executed?
c. Apply the ostrich algorithm for both schedules. Can the schedule be executed?
Exercise 2
a. What is a predicate lock?
b. Why is overload control important?
c. What are optimistic protocols?
d. Explain the concept of isolation levels. Give example for each of them.