Principles of Distributed Database Systems: Exercise Solutions & Key Concepts
: The authors maintain a dedicated site at cs.uwaterloo.ca/~ddbook/ , which includes supplemental materials like presentation slides and figures that are freely available, while the "Solutions to Exercises" link requires a login.
write_TS(D)=5, read_TS(D)=5. TS(T2)=20 > both → allow. Update write_TS(D)=20.
Consistency condition: read quorum + write quorum > N (number of replicas). Here 2+4=6 >5 ✔. If R=2, W=4, then concurrent writes must intersect on at least one replica (4+4>5? No – two write quorums intersect if 4+4>5 → 8>5 ✔). Failure tolerance: To block a write, you need to knock out 5-4+1=2 replicas (since write quorum=4, failing 2 leaves 3 available – not enough for write). To block a read, you need to knock out 5-2+1=4 replicas (failing 4 leaves 1 < read quorum). So failure tolerance = min(2,4)-1? Let’s compute correctly: Write quorum=4 → max failures for availability = N-W =1. Read quorum=2 → max failures for availability = N-R=3. System can survive at most 1 failure and still perform writes.
Initial inventory = 5 at all replicas.
Principles of Distributed Database Systems: Exercise Solutions & Key Concepts
: The authors maintain a dedicated site at cs.uwaterloo.ca/~ddbook/ , which includes supplemental materials like presentation slides and figures that are freely available, while the "Solutions to Exercises" link requires a login. Update write_TS(D)=20
write_TS(D)=5, read_TS(D)=5. TS(T2)=20 > both → allow. Update write_TS(D)=20. If R=2, W=4, then concurrent writes must intersect
Consistency condition: read quorum + write quorum > N (number of replicas). Here 2+4=6 >5 ✔. If R=2, W=4, then concurrent writes must intersect on at least one replica (4+4>5? No – two write quorums intersect if 4+4>5 → 8>5 ✔). Failure tolerance: To block a write, you need to knock out 5-4+1=2 replicas (since write quorum=4, failing 2 leaves 3 available – not enough for write). To block a read, you need to knock out 5-2+1=4 replicas (failing 4 leaves 1 < read quorum). So failure tolerance = min(2,4)-1? Let’s compute correctly: Write quorum=4 → max failures for availability = N-W =1. Read quorum=2 → max failures for availability = N-R=3. System can survive at most 1 failure and still perform writes. To block a read
Initial inventory = 5 at all replicas.