Principles Of Distributed Database Systems Exercise Solutions Jun 2026

A distributed transaction T1: write(X) at site A, write(Y) at site B. T2: read(X) at A, read(Y) at B. Explain deadlock possibility under 2PL without strict locking.

Is there a way to do this with fewer bytes?

She leaned back, exhausted. The principles from the textbook—atomicity, consistency, isolation, durability—weren't commandments. They were constraints . And the exercise solutions weren't recipes. They were starting points . A distributed transaction T1: write(X) at site A,

Option 1: (R1 ⨝ S2) then with T3

Managing "lock" and "unlock" phases across multiple nodes. Solutions often deal with Global Deadlock Detection , where a cycle exists in the Wait-For-Graph across different sites. Is there a way to do this with fewer bytes

Fragment 1: EMPLOYEE_Sales = σ_Dept=‘Sales’(EMPLOYEE) Fragment 2: EMPLOYEE_HR = σ_Dept=‘HR’(EMPLOYEE) All other tuples (e.g., Dept=‘IT’ ) could go to a default fragment at a chosen site or be replicated.

One lock coordinator. T1 requests lock on A: OK. T2 requests lock on B: OK. T1 requests lock on B: wait. T2 requests lock on A: deadlock detected immediately by centralized manager. Resolution: abort T2. Pro: Simple deadlock detection. Con: Single point of failure, bottleneck. They were constraints

She saved the patch as exercise_9.4_vance_solution.pdf and added a new note to the Grimoire: