Principles Of Distributed Database Systems Exercise Solutions Hot! Here

Case studies of distributed architectures, including and Peer-to-Peer models. 2. Distributed Database Design (Fragmentation & Allocation)

Employee1∩Employee2=∅Employee sub 1 intersection Employee sub 2 equals the empty set

: Always start by identifying the primary key. For vertical, check that every attribute appears at least once. For horizontal, ensure predicates are complete and mutually exclusive.

: If T2 tried to Write(X) before T1’s Read(X), and T2 > T1, T/O would reject it, aborting T2. For vertical, check that every attribute appears at

In wide-area networks, the network transfer cost dominates the equation.

These problems focus on maintaining consistency across nodes, even during failures.

Finding the best join order and communication strategy. Local Optimization: Selecting the best local access paths. Common Exercise Scenario: In wide-area networks, the network transfer cost dominates

Ensure fragmentation is Complete (no data loss), Reconstructable (joinable/unioned), and Disjoint (if required).

You are given a global relation (e.g., EMPLOYEE(EmpID, Name, DeptID, Salary, ManagerID) ) and a set of applications/queries. Your task is to propose horizontal, vertical, or hybrid fragments.

Exercises in this area focus on ensuring the properties in a distributed environment. Key protocols include: Your task is to propose horizontal

: If update cost is low, replicate to A and B to reduce reads. Here updates from B are high (20 writes), so replicating at B and A would increase update cost (writes to 2 copies). So no replication.

The coordinator might have successfully received VOTE_COMMIT messages from all participants right before the link failed. If so, the coordinator has already written a GLOBAL_COMMIT log locally. Unilaterally aborting would violate global consistency.

The you are studying (e.g., Özsu and Valduriez)

Coordinator P1 / P2 P3 (Crashes) | | | |--- PREPARE -------------->| | |--- PREPARE ------------------------------------------>| (Fails to vote) |<-- VOTE_COMMIT -----------| X | | X (Timeout! Aborts) | | | |--- GLOBAL_ABORT --------->| |<-- ACK -------------------| Solution & Operational Blueprint 1. Logging and State Machine Tracking

Construct the Local Wait-For Graphs (LWFG) and the Global Wait-For Graph (GWFG). Identify if a deadlock exists. Solution & Analytical Framework Local Wait-For Graphs (LWFG) T1cap T sub 1 holds the lock on T2cap T sub 2 is waiting for the lock on