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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
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.
Bayer, R. and Unterauer, K. (1977). Prefix B-trees. ACM TODS, 2(1), pages 11-26. DOI: 10.1145/320521.320530.
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.
Bernstein, P. A., Hadzilacos, V., and Goodman, N. (1987). Concurrency Control and Recovery in Database Systems, Addison-Wesley.
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.
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.
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.
Carey, M. J. and Stonebraker, M. (1984). The performance of concurrency control algorithms for database management systems. VLDB, pages 107-118.
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.
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.
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.
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.
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.
Faleiro,J.M. andAbadi, D.J. (2015). Rethinking serializable multi-version concurrency control. PVLDB, 8(11), pages 1190-1201. DOI: 10.14778/2809974.2809981.
Gawlick, D. and Kinkade, D. (1985). Varieties of concurrency control in IMS/VS fast path. IEEE Database Engineering Bulletin, 8(2), pages 3-10.
Graefe, G. (2003). Sorting and indexing with partitioned B-trees. CIDR.
Graefe, G. (2004). Write-optimized B-trees. VLDB, pages 672-683. DOI: 10.1016/b978-012088469-8/50060-7.
Graefe, G. (2007). Hierarchical locking in B-tree indexes. BTW, pages 18-42 (Chapter 2).
Graefe, G. (2010). A survey of B-tree locking techniques. ACM TODS, 35(3) (Chapter 1). DOI: 10.1145/1806907.1806908.
Graefe, G. (2011). Modern B-tree techniques. Foundations and Trends in Databases, 3(4), pages 203-402. 10.1561/1900000028. 3
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.
Graefe, G. (2016). Revisiting optimistic and pessimistic concurrency control. Hewlett Packard Labs Technical Report HPE-2016-47, May.
Graefe, G., Bunker, R., and Cooper, S. (1998). Hash joins and hash teams in Microsoft SQL Server. VLDB Conference, pages 86-97.
Graefe, G., Kimura, H., and Kuno, H. (2012). Foster B-trees. ACM TODS, 37(3). DOI: 10.1145/2338626.2338630.
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.
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.
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.
Graefe, G. and Kimura, H. (2015). Orthogonal key-value locking. BTW, pages 237-256 (Chapter 5).
Graefe, G. and Zwilling, M. J. (2004). Transaction support for indexed views. ACMSIGMOD, pages 323-334 (Chapter 3). DOI: 10.1145/1007568.1007606.
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.
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.
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.
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.
Gray, J. and Reuter, A. (1993). Transaction Processing Concepts and Techniques, Morgan Kaufmann.
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.
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
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.
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.
Jordan, J. R., Banerjee, J., and Batman, R. B. (1981). Precision locks. ACM SIGMOD, pages 143-147. DOI: 10.1145/582338.582340.
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.
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.
Kimura, H., Graefe, G., and Kuno, H. A. (2012). Efficient locking techniques for databases on modern hardware. ADMS@VLDB, pages 1-12.
Korth, H. F. (1983). Locking primitives in a database system. Journal of the ACM, 30(1), pages 55-79. DOI: 10.1145/322358.322363.
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.
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.
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.
Lomet, D. B. (1993). Key range locking strategies for improved concurrency. VLDB, pages 655-664.
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.
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.
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.
Mohan, C. (1994). Less optimism about optimistic concurrency control. RIDE-TQP, pages 199-204. DOI: 10.1109/ride.1992.227405.
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.
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.
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.
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.
O’Neil, P. A. (1986). The Escrow transactional method. ACM TODS, 11(4), pages 405-430. DOI: 10.1145/7239.7265.
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.
Peinl, P. and Reuter, A. (1983). Empirical comparison of database concurrency control schemes. VLDB, pages 97-108.
Ports, D. R. K. and Grittner, K. (2012). Serializable snapshot isolation in PostgreSQL. PVLDB, 5(12), pages 1850-1861. DOI: 10.14778/2367502.2367523.
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.
Skeen, D. (1981). Nonblocking commit protocols. ACM SIGMOD, pages 133-142. DOI: 10.1145/582338.582339.
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.
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.
Weikum, G. (1991). Principles and realization strategies of multilevel transaction management. ACM TODS, 16(1), pages 132-180. DOI: 10.1145/103140.103145.
Weikum, G. and Vossen, G. (2002). Transactional Information Systems: Theory, Algorithms, and the Practice ofConcurrencyControlandRecovery, Morgan Kaufmann.
Rights 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
DOI: https://doi.org/10.1007/978-3-031-01873-2_1
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-00745-3
Online ISBN: 978-3-031-01873-2
eBook Packages: Synthesis Collection of Technology (R0)eBColl Synthesis Collection 9