Abstract
Column-level concurrency control allows higher concurrency but also brings additional coordination overhead. Therefore, many relational database systems usually coordinate transactions at the row level. However, our observation based on real-world web applications suggests that row-level coordination can sometimes be too coarse. It can cause web applications to suffer reduced throughput due to false conflicts. To address this issue, we introduce an application-side column-level lock management system called CLL in this paper. It allows applications to choose the concurrency control granularity adaptively. With CLL, accesses to highly contended data items can now be executed in parallel without false conflicts caused by row-level coordination. Our evaluation shows that, in both synthetic and real-world workloads, CLL can help to improve performance significantly and achieve at most 64%/33% higher throughput, respectively.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
For Broadleaf, we use MySQL-5.7.35 as suggested.
References
MySQL. https://www.mysql.com/. Accessed 18 Aug 2022
PostgreSQL. https://www.postgresql.org/. Accessed 18 Aug 2022
TPC-C Benchmark. https://www.tpc.org/tpcc/. Accessed 18 Aug 2022
Graefe, G.: Hierarchical locking in B-tree indexes. In: On Transactional Concurrency Control. SLDM, pp. 45–73. Springer, Cham (2019). https://doi.org/10.1007/978-3-031-01873-2_3
Gray, J.N., Lorie, R.A., Putzolu, G.R.: Granularity of locks in a shared data base. In: Proceedings of the 1st International Conference on Very Large Data Bases, VLDB 1975, pp. 428–451. Association for Computing Machinery, New York, NY, USA (1975). https://doi.org/10.1145/1282480.1282513
Grechanik, M., Hossain, B.M.M., Buy, U., Wang, H.: Preventing database deadlocks in applications. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2013, pp. 356–366. Association for Computing Machinery, New York, NY, USA (2013)
Huang, D., et al.: TiDB: a raft-based HTAP database. Proc. VLDB Endow. 13(12), 3072–3084 (2020). https://doi.org/10.14778/3415478.3415535
O’Neil, E.J.: Object/relational mapping 2008: hibernate and the entity data model (EDM). In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, SIGMOD 2008, pp. 1351–1356. Association for Computing Machinery, New York, NY, USA (2008)
Ries, D.R., Stonebraker, M.: Effects of locking granularity in a database management system. ACM Trans. Database Syst. 2(3), 233–246 (1977). https://doi.org/10.1145/320557.320566
Shute, J., et al.: F1: a distributed SQL database that scales. Proc. VLDB Endow. 6(11), 1068–1079 (2013). https://doi.org/10.14778/2536222.2536232
Taft, R., et al.: CockroachDB: the resilient geo-distributed SQL database. In: Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, SIGMOD 2020, pp. 1493–1509. Association for Computing Machinery, New York, NY, USA (2020). https://doi.org/10.1145/3318464.3386134
Tang, C., et al.: Ad hoc transactions in web applications: the good, the bad, and the ugly. In: Proceedings of the 2022 International Conference on Management of Data, SIGMOD 2022, pp. 4–18. Association for Computing Machinery, New York, NY, USA (2022). https://doi.org/10.1145/3514221.3526120
Thomson, A., Diamond, T., Weng, S.C., Ren, K., Shao, P., Abadi, D.J.: Calvin: fast distributed transactions for partitioned database systems. In: Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data, SIGMOD 2012, pp. 1–12. Association for Computing Machinery, New York, NY, USA (2012). https://doi.org/10.1145/2213836.2213838
Wang, Z., Mu, S., Cui, Y., Yi, H., Chen, H., Li, J.: Scaling multicore databases via constrained parallel execution. In: Proceedings of the 2016 International Conference on Management of Data, SIGMOD 2016, pp. 1643–1658. Association for Computing Machinery, New York, NY, USA (2016). https://doi.org/10.1145/2882903.2882934
Yang, J., Subramaniam, P., Lu, S., Yan, C., Cheung, A.: How not to structure your database-backed web applications: a study of performance bugs in the wild. In: Proceedings of the 40th International Conference on Software Engineering, ICSE 2018, pp. 800–810. Association for Computing Machinery, New York, NY, USA (2018). https://doi.org/10.1145/3180155.3180194
Acknowledgement
We appreciate the anonymous reviewers for their constructive feedback and suggestions.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Zhang, X., Zhou, J. (2022). High-Performance Transaction Processing for Web Applications Using Column-Level Locking. In: Chbeir, R., Huang, H., Silvestri, F., Manolopoulos, Y., Zhang, Y. (eds) Web Information Systems Engineering – WISE 2022. WISE 2022. Lecture Notes in Computer Science, vol 13724. Springer, Cham. https://doi.org/10.1007/978-3-031-20891-1_14
Download citation
DOI: https://doi.org/10.1007/978-3-031-20891-1_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-20890-4
Online ISBN: 978-3-031-20891-1
eBook Packages: Computer ScienceComputer Science (R0)