In a distributed database system, a transaction could be executing its operations at multiple sites. Since atomicity requires every distributed transaction to be atomic, the transaction must have the same fate (commit or abort) at every site. In case of network partitioning, sites are partitioned and the partitions may not be able to communicate with each other. This is where a quorum-based technique comes in. The fundamental idea is that a transaction is executed if the majority of sites vote to execute it.
Quorum Consensus Protocol
This is one of the distributed lock manager based concurrency control protocol in distributed database systems. It works as follows;
- The protocol assigns each site that have a replica with a weight.
- For any data item, the protocol assigns a read quorum Qr and write quorum Qw. Here, Qr and Qw are two integers (sum of weights of some sites). And, these two integers are chosen according to the following conditions put together;
Qr + Qw > S - rule which avoids read-write conflict. (i.e, two transactions cannot read and write concurrently)
2 * Qw > S - rule which avoids write-write conflict. (i.e, two transactions cannot write concurrently)
Here, S is the total weight of all sites in which the data item replicated.
Read on →