Principles Of Distributed Database Systems Exercise Solutions -
If the coordinator crashes now, the surviving participants can communicate. If any participant has received "Pre-Commit", they know everyone voted YES, so they can safely elect a new coordinator and proceed to Commit. If no one received "Pre-Commit", they know it is safe to Abort.
During the execution of a Two-Phase Commit (2PC) protocol, a participant node votes VOTE_COMMIT in Phase 1. Before it can receive the final GLOBAL_COMMIT or GLOBAL_ABORT decision from the coordinator in Phase 2, the network link drops, isolating the participant.
Querying across multiple nodes introduces the "Join" problem. Since moving large tables across a network is expensive, solutions prioritize minimizing data transfer. If the coordinator crashes now, the surviving participants
We construct the Local Wait-For Graphs (LWFG) and combine them into a Global Wait-For Graph (GWFG).
Concurrency control ensures global schedule serializability across multiple independent sites. Exercise: Distributed 2-Phase Locking (2PL) and Deadlocks Transaction T1cap T sub 1 holds a read lock on item at Site 1 and requests a write lock on item at Site 2. Transaction T2cap T sub 2 holds a read lock on item at Site 2 and requests a write lock on item at Site 1. During the execution of a Two-Phase Commit (2PC)
Transparency ensures the user perceives the system as a single, centralized database.
a. What is the fragmentation of R?
Tuples(S′)=10,000×0.1=1,000 tuplesTuples open paren cap S prime close paren equals 10 comma 000 cross 0.1 equals 1 comma 000 tuples Send the reduced relation S′cap S prime back to Site 1.
Cost1=50 unique values×4 bytes=200 bytesCost sub 1 equals 50 unique values cross 4 bytes equals 200 bytes Since moving large tables across a network is
Combine the edges based on transaction identifiers.