Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

Two-Phase Locking

  • Georg LausenEmail author
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_832


Conflict serializability; Isolation; Locking protocol; Pessimistic scheduler


A locked transaction is a transaction which, in addition to read and write actions, contains lock and unlock operations to the data items. Lock and unlock operations enable a database system to control the order of read and write actions of a concurrent set of transactions. A locking policy is a set of rules which restrict the possible ways to introduce lock and unlock operations into a transaction. A locking policy is safe, if, whenever all the transactions conform to the policy, any history of the transactions is guaranteed to be serializable. Two-Phase Locking is a safe locking policy which is based on the simple rule saying a transaction is not allowed to further lock a data item once it has already unlocked some data item.

Historical Background

Two-Phase Locking was first described in [6]. Later the basic policy has been extended into several directions. In [6] ordered sharing of...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Agrawal D, Abbadi AE. Constrained shared locks for increased concurrency in databases. J Comput Syst Sci. 1995;51(1):53–63.zbMATHCrossRefGoogle Scholar
  2. 2.
    Bayer R, Heller H, Reiser A. Parallelism and recovery in database systems. ACM Trans Database Syst. 1980;5(2):139–56.zbMATHCrossRefGoogle Scholar
  3. 3.
    Bernstein PA, Newcomer E. Principles of transaction processing for systems professionals. San Francisco: Morgan Kaufmann; 1996.zbMATHGoogle Scholar
  4. 4.
    Bernstein PA, Shipman DW, Wong WS. Formal aspects of serializability in database concurrency control. IEEE Trans Softw Eng. 1979;SE-5(3):203–15.MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Boral H, Gold I. Towards a self-adapting centralized concurrency control algorithm. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1984. p. 18–32.CrossRefGoogle Scholar
  6. 6.
    Eswaran KP, Gray JN, Lorie RA, Traiger IL. The notion of consistency and predicate locks in a database system. Commun ACM. 1976;19(11):624–33.MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Gray J, Reuter A. Transaction processing: concepts and techniques. San Francisco: Morgan Kaufmann; 1993.zbMATHGoogle Scholar
  8. 8.
    Lausen G. Concurrency control in database systems: a step towards the integration of optimistic methods and locking. In: Proceedings of the ACM Annual Conference; 1982. p. 64–68.Google Scholar
  9. 9.
    Papadimitriou CH. The serializability of concurrent database updates. J ACM. 1979;26(4):631–53.MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    Salem K, Garcia-Molina H, Shands J. Altruistic locking. ACM Trans Database Syst. 1994;19(1):17–165.CrossRefGoogle Scholar
  11. 11.
    Shasha D. Database tuning – a principled approach. Englewood Cliffs: Prentice-Hall; 1992.Google Scholar
  12. 12.
    Weikum G, Vossen G. Transactional information systems – theory, algorithms, and the practice of concurrency control and recovery. San Francisco: Morgan Kaufmann; 2002.Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.University of FreiburgFreiburgGermany

Section editors and affiliations

  • Gottfried Vossen
    • 1
  1. 1.Dep. of Inf. SystemsWestf. Wilhelms-UniveristätMünsterGermany