Distributed concurrency control


Distributed concurrency control is the concurrency control of a system distributed over a computer network.
In database systems and transaction processing distributed concurrency control refers primarily to the concurrency control of a distributed database. It also refers to the concurrency control in a multidatabase environment. 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. Commitment ordering is a general serializability technique that achieves distributed serializability effectively on a large scale, without concurrency control information distribution, and thus without performance penalties that are typical to other serializability techniques.
The most common distributed concurrency control technique is strong strict two-phase locking, 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 can be saved by using the atomic commitment protocol, which is needed in a distributed database for transactions' atomicity, together with some local commitment ordering variant instead of distributed locking, to achieve global serializability in the entire system. All the commitment ordering theoretical results are applicable whenever atomic commitment is utilized over partitioned, distributed recoverable data, including automatic distributed deadlock resolution. Such technique can be utilized also 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 multidatabase, comprising many relatively small databases, fitting each into a single node, and using commitment ordering together with some appropriate atomic commitment protocol.