Abstract
Despite the prevalence of multi-core processors and large main memories, most in-memory databases still universally adopt a centralized ARIES-logging with a single I/O channel, which can be a serious bottleneck. In this paper, we propose a parallel logging mechanism, named \(\texttt {Plover}\) for in-memory databases, which utilizes the partial order property of transactions’ dependencies and allows for concurrent logging in scalable storage devices. To further alleviate the performance overheads caused by log partitioning, we present a workload-aware log partitioning scheme to minimize the number of cross-partition transactions, while maintaining load balance. As such, \(\texttt {Plover}\) can scale well with the increasing number of storage devices and extensive experiments show that \(\texttt {Plover}\) with workload-aware partitioning can achieve \(2\times \) speedup over a centralized logging scheme and more than 42% over \(\texttt {Plover}\) with random partitioning.
Keywords
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 subscriptionsReferences
Mohan, C., Haderle, D., Lindsay, B., Pirahesh, H., Schwarz, P.: ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. TODS 17(1), 94–162 (1992)
Johnson, R., Pandis, I., Stoica, R., Manos, A.: Aether: a scalable approach to logging. VLDB 3(1–2), 681–692 (2010)
Kim, K., Wang, T.Z., Johnson, R., et al.: Ermia: fast memory-optimized database system for heterogeneous workloads. In: SIGMOD, pp. 1675–1687 (2016)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Andreev, K., Racke, H.: Balanced graph partitioning. Theor. Comput. Syst. 39(6), 929–939 (2006)
Zheng, W.T., Tu, S.: Fast databases with fast durability and recovery through multicore parallelism. In: OSDI, pp. 465–477 (2014)
Huang, J., Schwan, K., Qureshi, M.K.: NVRAM-aware logging in transaction systems. PVLDB 8(4), 389–400 (2014)
Wang, T.Z., Johnson, R., Stoica, R., Manos, A.: Scalable logging through emerging non-volatile memory. PVLDB 7(10), 865–876 (2014)
Arulraj, J., Perron, M., Pavlo, A.: Write-behind logging. PVLDB 10(4), 337–348 (2016)
Jung, H., Han, H., Kang, S.: Scalable database logging for multicores. PVLDB 11(2), 135–148 (2017)
Acknowledgement
This work is partially supported by National High-tech R&D Program (863 Program) under grant number 2015AA015307, National Key Research & Development Program of China (No. 2018YFB1003400), National Science Foundation of China under grant numbers 61702189, 61432006 and 61672232.
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
Zhou, H., Guo, J., Pei, O., Qian, W., Zhou, X., Zhou, A. (2018). Plover: Parallel In-Memory Database Logging on Scalable Storage Devices. In: Cai, Y., Ishikawa, Y., Xu, J. (eds) Web and Big Data. APWeb-WAIM 2018. Lecture Notes in Computer Science(), vol 10988. Springer, Cham. https://doi.org/10.1007/978-3-319-96893-3_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-96893-3_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-96892-6
Online ISBN: 978-3-319-96893-3
eBook Packages: Computer ScienceComputer Science (R0)