Distributed concurrency control

From Wikipedia, the free encyclopedia

Distributed concurrency control relates to the concurrency control of a system distributed over a computer network.

In database systems and transaction processing distributed concurrency control relates primarily to the concurrency control of a distributed database. It also relates to the concurrency control in a multidatabase environment (federated database; see global concurrency control). A major goal for distributed concurrency control is serializability (or global serializability for multidatabase systems). Distributed concurrency control poses special challenges beyond centralized one, primarily due to communication and computer latency. It often requires special techniques, like distributed lock manager over fast computer networks with low latency, like switched fabric (e.g., InfiniBand).

The most common distributed concurrency control technique is strong strict two-phase locking (SS2PL, also named rigorousness), which is also a common centralized concurrency control technique. SS2PL provides both the serializability, strictness, and commitment ordering properties. Strictness, a special case of recoverability, is utilized for effective recovery from failure, and commitment ordering allows participating in a general solution for global serializability. For large-scale distribution and complex transactions, distributed locking's typical heavy performance penalty (due to delays, latency) can be saved by using atomic commitment protocol (e.g., 2PC, or a simpler one in a reliable system) together with local commitment ordering (e.g., local SS2PL) instead of distributed locking, to achieve global serializability in the entire system. Such technique can be utilized for a large-scale parallel database, where a single large database, residing on many nodes and using a distributed lock manager, is replaced with a (homogeneous) multidatabase, comprising many relatively small databases, fitting each into a single node, together with some simple atomic commitment protocol (without using the distributed lock manager).


[edit] See also