Skip to main content

On Transactional Concurrency Control

  • Chapter
On Transactional Concurrency Control

Part of the book series: Synthesis Lectures on Data Management ((SLDM))

  • 75 Accesses

Abstract

This volume contains a number of chapters on transactional database concurrency control. A two-sentence summary of the volume’s entire sequence of chapters is this: traditional locking techniques can be improved in multiple dimensions, notably in lock scopes (sizes), lock modes (increment, decrement, and more), lock durations (late acquisition, early release), and lock acquisition sequence (to avoid deadlocks). Even if some of these improvements can be transferred to optimistic concurrency control, notably a fine granularity of concurrency control with serializable transaction isolation including phantom protection, pessimistic concurrency control is categorically superior to optimistic concurrency control, i.e., independent of application, workload, deployment, hardware, and software implementation.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Bayer, R. and Schkolnick, M. (1977). Concurrency of operations on B-trees. Acta Information, 9, pages 1-21. DOI: 10.1007/bf00263762.

    Article  MathSciNet  MATH  Google Scholar 

  • Bayer, R. and Unterauer, K. (1977). Prefix B-trees. ACM TODS, 2(1), pages 11-26. DOI: 10.1145/320521.320530.

    Article  Google Scholar 

  • Berenson, H., Bernstein, P. A., Gray, J., Melton, J., O’Neil, E. J., and O’Neil, P. E. (1995). A critique of ANSI SQL isolation levels. ACM SIGMOD, pages 1-10. DOI: 10.1145/223784.223785.

    Google Scholar 

  • Bernstein, P. A., Hadzilacos, V., and Goodman, N. (1987). Concurrency Control and Recovery in Database Systems, Addison-Wesley.

    Google Scholar 

  • Bornea, M. A., Hodson, O., Elnikety, S., and Fekete, A. (2011). One-copy seri-alizability with snapshot isolation under the hood. ICDE, pages 625-636. DOI: 10.1109/icde.2011.5767897.

    Google Scholar 

  • Cahill, M. J., Röhm, U., and Fekete, A. D. (2009). Serializable isolation for snapshot databases. ACM TODS, 34(4). DOI: 10.1145/1620585.1620587.

    Google Scholar 

  • Carey, M. J. and Muhanna, W. A. (1986). The performance of multi-version concurrency control algorithms. ACM TODS, 4(4), pages 338-378. DOI: 10.1145/6513.6517.

    Article  Google Scholar 

  • Carey, M. J. and Stonebraker, M. (1984). The performance of concurrency control algorithms for database management systems. VLDB, pages 107-118.

    Google Scholar 

  • Cha, S. K., Hwang, S., Kim, K., and Kwon, K. (2001). Cache-conscious concurrency control of main-memory indexes on shared-memory multiprocessor systems. VLDB, pages 181-190.

    Google Scholar 

  • Chamberlin, D. D., Astrahan, M. M., Blasgen, M. W., Gray, J., King III, W. F., Lindsay, B. G., Lorie, R. A., Mehl, J. W., Price, T. G., Putzolu, G. R., Selinger, P. G., Schkolnick, M., Slutz, D. R., Traiger, I. L., Wade, B. W., and Yost, R. A. (1981). A history and evaluation of system R. Communication of the ACM, 24(10), pages 632-646. DOI: 10.1145/358769.358784.

    Article  Google Scholar 

  • Chan, A., Fox, S., Lin, W.-T. K., Nori, A., and Ries, D. R. (1982). The implementation of an integrated concurrency control and recovery scheme. SIGMOD, pages 184-191. DOI: 10.1145/582383.582386.

    Google Scholar 

  • DeWitt, D. J., Katz, R. H., Olken, F., Shapiro, L. D., Stonebraker, M., and Wood, D. A. (1984). Implementation techniques for main memory database systems. ACM SIGMOD, pages 1-8. DOI: 10.1145/602260.602261.

    Google Scholar 

  • Diaconu, C., Freedman, C., Ismert, E., Larson, P., Mittal, P., Stonecipher, R., Verma, N., and Zwilling, M. (2013). Hekaton: SQL Server’s memory-optimized OLTP engine. ACM SIGMOD, pages 1243-1254. DOI: 10.1145/2463676.2463710.

    Google Scholar 

  • Faleiro,J.M. andAbadi, D.J. (2015). Rethinking serializable multi-version concurrency control. PVLDB, 8(11), pages 1190-1201. DOI: 10.14778/2809974.2809981.

    Article  Google Scholar 

  • Gawlick, D. and Kinkade, D. (1985). Varieties of concurrency control in IMS/VS fast path. IEEE Database Engineering Bulletin, 8(2), pages 3-10.

    Google Scholar 

  • Graefe, G. (2003). Sorting and indexing with partitioned B-trees. CIDR.

    Google Scholar 

  • Graefe, G. (2004). Write-optimized B-trees. VLDB, pages 672-683. DOI: 10.1016/b978-012088469-8/50060-7.

    Google Scholar 

  • Graefe, G. (2007). Hierarchical locking in B-tree indexes. BTW, pages 18-42 (Chapter 2).

    Google Scholar 

  • Graefe, G. (2010). A survey of B-tree locking techniques. ACM TODS, 35(3) (Chapter 1). DOI: 10.1145/1806907.1806908.

    Google Scholar 

  • Graefe, G. (2011). Modern B-tree techniques. Foundations and Trends in Databases, 3(4), pages 203-402. 10.1561/1900000028. 3

    Article  Google Scholar 

  • Graefe, G. (2012). A survey of B-tree logging and recovery techniques. ACM TODS, 37(1), pages 1:1-1:35. DOI: 10.1145/2109196.2109197.

    Article  Google Scholar 

  • Graefe, G. (2016). Revisiting optimistic and pessimistic concurrency control. Hewlett Packard Labs Technical Report HPE-2016-47, May.

    Google Scholar 

  • Graefe, G., Bunker, R., and Cooper, S. (1998). Hash joins and hash teams in Microsoft SQL Server. VLDB Conference, pages 86-97.

    Google Scholar 

  • Graefe, G., Kimura, H., and Kuno, H. (2012). Foster B-trees. ACM TODS, 37(3). DOI: 10.1145/2338626.2338630.

    Google Scholar 

  • Graefe, G., Lillibridge, M., Kuno, H. A., Tucek, J., and Veitch, A. C. (2013). Controlled lock violation. ACM SIGMOD, pages 85-96 (Chapter 4). DOI: 10.1145/2463676.2465325.

    Google Scholar 

  • Graefe, G., Volos, H., Kimura, H., Kuno, H. A., Tucek, J., Lillibridge, M., and Veitch, A. C. (2014). In-memory performance for big data. PVLDB, 8(1), pages 37-48. DOI: 10.14778/2735461.2735465.

    Article  Google Scholar 

  • Graefe, G., Guy, W., and Sauer, C. (2016). Instant recovery with write-ahead logging: Page repair, system restart, media restore, and system failover, 2nd ed., Synthesis Lectures on Data Management, pages 1-113, Morgan & ClaypoolPublishers. DOI: 10.2200/s00710ed2v01y201603dtm044.

    Google Scholar 

  • Graefe, G. and Kimura, H. (2015). Orthogonal key-value locking. BTW, pages 237-256 (Chapter 5).

    Google Scholar 

  • Graefe, G. and Zwilling, M. J. (2004). Transaction support for indexed views. ACMSIGMOD, pages 323-334 (Chapter 3). DOI: 10.1145/1007568.1007606.

    Google Scholar 

  • Gray, J. (1978). Notes on data base operating systems. Advanced Course: Operating Systems, pages 393-481, Springer. DOI: 10.1007/3-540-08755-9_9.

    Google Scholar 

  • Gray, J., Lorie, R. A., Putzolu, G. R., and Traiger, I. L. (1975). Granularity of locks in a large shared data base. VLDB, pages 428-451. DOI: 10.1145/1282480.1282513.

    Google Scholar 

  • Gray, J., Lorie, R. A., Putzolu, G. R., and Traiger, I. L. (1976). Granularity of locks and degrees of consistency in a shared data base. IFIP Working Conference on Modelling in Data Base Management Systems, pages 365-394.

    Google Scholar 

  • Gray, J., McJones, P. R., Blasgen, M. W., Lindsay, B. G., Lorie, R. A., Price, T. G., Putzolu, G. R., and Traiger, I. L. (1981). The recovery manager of the system R database manager. ACM Computer Survey, 13(2), pages 223-243. DOI: 10.1145/356842.356847.

    Article  Google Scholar 

  • Gray, J. and Reuter, A. (1993). Transaction Processing Concepts and Techniques, Morgan Kaufmann.

    Google Scholar 

  • Härder, T. (1984). Observations on optimistic concurrency control schemes. Information Systems, 9(2), pages 111-120. DOI: 10.1016/0306-4379(84)90020-6.

    Article  Google Scholar 

  • Härder, T. and Reuter, A. (1983). Principles of transaction-oriented database recovery. ACM Computer Survey, 15(4), pages 287-317. 10.1145/289.291. 3

    Article  MathSciNet  Google Scholar 

  • Johnson, R., Pandis, I., Hardavellas, N., Ailamaki, A., and Falsafi, B. (2009). Shore-MT: A scalable storage manager for the multicore era. EDBT, pages 24-35. DOI: 10.1145/1516360.1516365.

    Google Scholar 

  • Johnson, R., Pandis, I., Stoica, R., Athanassoulis, M., and Ailamaki, A. (2010). Aether: Ascal-able approach to logging. PVLDB, 3(1), pages 681-692. DOI: 10.14778/1920841.1920928.

    Article  Google Scholar 

  • Jordan, J. R., Banerjee, J., and Batman, R. B. (1981). Precision locks. ACM SIGMOD, pages 143-147. DOI: 10.1145/582338.582340.

    Google Scholar 

  • Jung, H., Han, H., Fekete, A. D., Heiser, G., and Yeom, H. Y. (2013). A scalable lock manager for multicores. ACM SIGMOD, pages 73-84. DOI: 10.1145/2463676.2465271.

    Google Scholar 

  • Jung, H., Han, H., Fekete, A. D., Heiser, G., and Yeom, H. Y. (2014). A scalable lock manager for multicores. ACM TODS, pages 29:1-29:29. DOI: 10.1145/2691190.2691192.

    Google Scholar 

  • Kimura, H., Graefe, G., and Kuno, H. A. (2012). Efficient locking techniques for databases on modern hardware. ADMS@VLDB, pages 1-12.

    Google Scholar 

  • Korth, H. F. (1983). Locking primitives in a database system. Journal of the ACM, 30(1), pages 55-79. DOI: 10.1145/322358.322363.

    Article  MathSciNet  MATH  Google Scholar 

  • Kung, H. T. and Papadimitriou, C. H. (1979). An optimality theory of concurrency control for databases. ACM SIGMOD, pages 116-126. DOI: 10.1145/582095.582114.

    Google Scholar 

  • Kung, H. T. and Robinson, J. T. (1981). On optimistic methods for concurrencycontrol. ACM TODS, 6(2), pages 213-226. DOI: 10.1145/319566.319567.

    Article  Google Scholar 

  • Lehman, P. L. and Yao, S. B. (1981). Efficient locking for concurrent operations on B-trees. ACM TODS, 6(4), pages 650-670. DOI: 10.1145/319628.319663.

    Article  MATH  Google Scholar 

  • Lomet, D. B. (1993). Key range locking strategies for improved concurrency. VLDB, pages 655-664.

    Google Scholar 

  • Lomet, D. B., Fekete, A., Wang, R., and Ward, P. (2012). Multi-version concurrency via times-tamp range conflict management. ICDE, pages 714-725. DOI: 10.1109/icde.2012.10.

    Google Scholar 

  • Menascé, D. A. and Nakanishi, T. (1982). Optimistic vs. pessimistic concurrency control mechanisms in database management systems. Information Systems, 7(1), pages 13-27. DOI: 10.1016/0306-4379(82)90003-5.

    Article  MATH  Google Scholar 

  • Mohan, C. (1990). ARIES/KVL: A key-value locking method for concurrency control of mul-tiaction transactions operating on B-tree indexes. VLDB, pages 392-405.

    Google Scholar 

  • Mohan, C. (1994). Less optimism about optimistic concurrency control. RIDE-TQP, pages 199-204. DOI: 10.1109/ride.1992.227405.

    Google Scholar 

  • Mohan, C., Lindsay, B. G., and Obermarck, R. (1986). Transaction management in the R* distributed database management system. ACM TODS, 11(4), pages 378-396. DOI: 10.1145/7239.7266.

    Article  Google Scholar 

  • Mohan, C., Haderle, D. J., Lindsay, B. G., Pirahesh, H., and Schwarz, P. M. (1992). ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM TODS, 17(1), pages 94-162. DOI: 10.1145/128765.128770.

    Article  Google Scholar 

  • Mohan, C. and Levine, F. E. (1992). ARIES/IM: An efficient and high concurrency index management method using write-ahead logging. ACM SIGMOD, pages 371-380. DOI: 10.1145/130283.130338.

    Google Scholar 

  • Neumann, T., Mühlbauer, T., and Kemper, A. (2015). Fast serializable multi-version concurrency control for main-memory database systems. ACM SIGMOD, pages 677-689. DOI: 10.1145/2723372.2749436.

    Google Scholar 

  • O’Neil, P. A. (1986). The Escrow transactional method. ACM TODS, 11(4), pages 405-430. DOI: 10.1145/7239.7265.

    Article  Google Scholar 

  • O’Neil, P. A., Cheng, E., Gawlick, D., and O’Neil, E. J. (1996). The log-structured merge-tree (LSM-tree). Acta Information, 33(4), pages 351-385. DOI: 10.1007/s002360050048.

    Article  MATH  Google Scholar 

  • Peinl, P. and Reuter, A. (1983). Empirical comparison of database concurrency control schemes. VLDB, pages 97-108.

    Google Scholar 

  • Ports, D. R. K. and Grittner, K. (2012). Serializable snapshot isolation in PostgreSQL. PVLDB, 5(12), pages 1850-1861. DOI: 10.14778/2367502.2367523.

    Article  Google Scholar 

  • Ren, K., Thomson, A., and Abadi, D. J. (2012). Lightweight locking for main memory database systems. PVLDB, 6(2), pages 145-156. DOI: 10.14778/2535568.2448947.

    Article  Google Scholar 

  • Skeen, D. (1981). Nonblocking commit protocols. ACM SIGMOD, pages 133-142. DOI: 10.1145/582338.582339.

    Google Scholar 

  • SQLite. (2004). File locking and concurrency in SQLite version 3. http://sqlite.org/lockingv3.html

  • Thomasian, A. (1997). A performance comparison of locking methods with limited wait depth. IEEE TKDE, 9(3), pages 421-434. DOI: 10.1109/69.599931.

    Article  Google Scholar 

  • Thomasian, A. (1998). Performance analysis of locking methods with limited wait depth. Performance Evaluation, 34(2), pages 69-89. DOI: 10.1016/s0166-5316(98)00025-x.

    Article  Google Scholar 

  • Weikum, G. (1991). Principles and realization strategies of multilevel transaction management. ACM TODS, 16(1), pages 132-180. DOI: 10.1145/103140.103145.

    Article  Google Scholar 

  • Weikum, G. and Vossen, G. (2002). Transactional Information Systems: Theory, Algorithms, and the Practice ofConcurrencyControlandRecovery, Morgan Kaufmann.

    Google Scholar 

Download references

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Cite this chapter

Graefe, G. (2019). On Transactional Concurrency Control. In: On Transactional Concurrency Control. Synthesis Lectures on Data Management. Springer, Cham. https://doi.org/10.1007/978-3-031-01873-2_1

Download citation

Publish with us

Policies and ethics