Abstract
In-memory transaction processing has gained fast development in recent years. Previous works usually assume the one-shot transaction model, where transactions are run as stored procedures. Though many systems have shown impressive throughputs in handling one-shot transactions, it is hard for developers to debug and maintain stored procedures. According to a recent survey, most applications still prefer to operate the database using the JDBC/ODBC interface. Upon realizing this, the work targets on the problem of interactive transaction processing for in-memory database system. Our key contributions are: (1) we address several important design considerations for supporting interaction transaction processing; (2) a coroutine-based execution engine is proposed to handle different kinds of blocking efficiently and improve the CPU usage; (3) a lightweight and latch-free lock manager is designed to schedule transaction conflicts without introducing many overhead; (4) experiments on both the TPC-C and a micro benchmark show that our method achieves better performance than existing solutions.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
popcount is an efficient algorithm for calculating the hamming weight of a bit array.
References
Diaconu, C., Freedman, C., Ismert, E., Larson, P.A., et al.: Hekaton: SQL server’s memory-optimized OLTP engine. In: SIGMOD, pp. 1243–1254 (2013)
Gray, J.: Transaction Processing: Concepts and Techniques. Elsevier, Amsterdam (1992)
Harizopoulos, S., Abadi, D.J., Madden, S., Stonebraker, M.: OLTP through the looking glass, and what we found there. In: SIGMOD, pp. 981–992. ACM (2008)
Johnson, R., Pandis, I., Ailamaki, A.: Improving OLTP scalability using speculative lock inheritance. VLDB 2(1), 479–489 (2009)
Jung, H., Han, H., Fekete, A., Heiser, G., Yeom, H.Y.: A scalable lock manager for multicores. TODS 39(4), 29 (2014)
Knuth, D.E.: The Art of Computer Programming: Fundamental Algorithms, vol. 1. Addison Wesley Longman Publishing Co., Inc., Boston (1997)
Kung, H.T., Robinson, J.T.: On optimistic methods for concurrency control. TODS 6(2), 213–226 (1981)
Larson, P.Å., Blanas, S., Diaconu, C., Freedman, C., Patel, J.M., Zwilling, M.: High-performance concurrency control mechanisms for main-memory databases. VLDB 5(4), 298–309 (2011)
Pandis, I., Johnson, R., Hardavellas, N., Ailamaki, A.: Data-oriented transaction execution. VLDB 3(1–2), 928–939 (2010)
Pavlo, A.: What are we doing with our lives?: nobody cares about our concurrency control research. In: SIGMOD, p. 3. ACM (2017)
Ren, K., Thomson, A., Abadi, D.J.: Lightweight locking for main memory database systems. VLDB 6, 145–156 (2012)
Stonebraker, M., Madden, S., Abadi, D.J., et al.: The end of an architectural era: (it’s time for a complete rewrite). In: VLDB, pp. 1150–1160 (2007)
Thomson, A., Abadi, D.J.: The case for determinism in database systems. VLDB 3(1–2), 70–80 (2010)
Thomson, A., Diamond, T., Weng, S.C., Ren, K., et al.: Calvin: fast distributed transactions for partitioned database systems. In: SIGMOD, pp. 1–12 (2012)
Tu, S., Zheng, W., Kohler, E., Liskov, B., Madden, S.: Speedy transactions in multicore in-memory databases. In: SOSP, pp. 18–32 (2013)
Wang, T., Kimura, H.: Mostly-optimistic concurrency control for highly contended dynamic workloads on a thousand cores. VLDB 10(2), 49–60 (2016)
Wang, Z., Mu, S., Cui, Y., Yi, H., Chen, H., Li, J.: Scaling multicore databases via constrained parallel execution. In: SIGMOD, pp. 1643–1658. ACM (2016)
Wu, Y., Chan, C.Y., Tan, K.L.: Transaction healing: scaling optimistic concurrency control on multicores. In: SIGMOD, pp. 1689–1704. ACM (2016)
Acknowledgement
This is work is partially supported by National High-tech R&D Program(863 Program) under grant number 2015AA015307, National Science Foundation of China under grant numbers 61702189, 61432006 and 61672232, and Youth Science and Technology - “Yang Fan” Program of Shanghai under grant number 17YF1427800.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Zhu, T., Wang, D., Hu, H., Qian, W., Wang, X., Zhou, A. (2018). Interactive Transaction Processing for In-Memory Database System. In: Pei, J., Manolopoulos, Y., Sadiq, S., Li, J. (eds) Database Systems for Advanced Applications. DASFAA 2018. Lecture Notes in Computer Science(), vol 10828. Springer, Cham. https://doi.org/10.1007/978-3-319-91458-9_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-91458-9_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-91457-2
Online ISBN: 978-3-319-91458-9
eBook Packages: Computer ScienceComputer Science (R0)