Abstract
Logging is widely used to provide atomicity and durability for transactions in database management systems (DBMSs). For decades, the traditional logging protocol for disk-oriented database storage engines focuses on making a trade-off between data persistence and performance loss due to the large performance gap and access granularity mismatch between dynamic random-access memory (DRAM) and disks. With the development of persistent memory (PM) especially the release of the commercial Optane DC Persistent Memory Module (Optane DCPMM), a new class of storage engine which employs PM as its primary storage has emerged. The disk-based logging protocol is not suitable for these PM-aware storage engines, since PM provides data persistence and has low-latency comparable to DRAM. In this paper, we design and implement an efficient logging protocol for PM-aware storage engines: Bucket Logging (BKL). BKL uses the per-transaction log structure (i.e., bucket) to store logs internally and ensures efficient writing of metadata and logs. Benefit from multi version concurrency control, BKL only records small fixed-size log entries to implement fast logging and crash recovery. Moreover, we optimize our design based on our basic performance evaluation of Optane DCPMM. We implement a micro storage engine in MariaDB and using YCSB to evaluate BKL's performance on Optane DCPMM. The results show that the storage engine with BKL has 1.5 × −7.1 × higher throughput compared to InnoDB under write-heavy workloads. Compared with other logging protocol, BKL achieves higher throughput and better scalability and reduces the system performance recovery time by 1.4 ×−11.8 ×.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Change history
30 September 2021
The original version of this chapter was revised. Affiliations 1 and 2 have been corrected.
In an older version of this paper, the presentation of figures 1 and 3 was incorrect. This has been corrected.
References
Arulraj, J., Perron, M., Pavlo, A.: Write-behind logging. Proc. VLDB Endowment 10(4), 337–348 (2016)
Wong, H., et al.: Phase Change Memory. Proc. IEEE 98(12), 2201–2227 (2010)
Akinaga, H., Shima, H.: Resistive random access memory (ReRAM) based on metal oxides. Proc. IEEE 98(12), 2237–2251 (2010)
Izraelevitz, J., Yang, J., Zhang, L., et al.: Basic performance measurements of the intel optane DC persistent memory module. arXiv preprint arXiv:1903.05714 (2019)
Yang, J., Kim, J., Hoseinzadeh, M., Izraelevitz, J., Swanson, S.: An empirical guide to the behavior and use of scalable persistent memory. In: 18th USENIX Conference on File and Storage Technologies (FAST 20), pp. 169–182 (2020).
Oukid, I., Booss, D., Lehner, W., Bumbulis, P., Willhalm, T.: SOFORT: A hybrid SCM-DRAM storage engine for fast data recovery. In: Proceedings of the Tenth International Workshop on Data Management on New Hardware, pp. 1–7 (2014)
Mustafa, N.U., Armejach, A., Ozturk, O., Cristal, A., Unsal, O.S.: Implications of non-volatile memory as primary storage for database management systems. In: 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS), pp. 164–171 (2016)
Chatzistergiou, A., Cintra, M., Viglas, S.D.: Rewind: recovery write-ahead system for in-memory non-volatile data-structures. Proc. VLDB Endowment 8(5), 497–508 (2015)
pmem-MariaDB. https://github.com/pmem/pmdk-examples/tree/master/pmem-mariadb. Accessed 11 Aug 2020
pmse. https://github.com/pmem/pmse. Accessed 2 March 2021
PMDK. https://pmem.io/pmdk
pmem-redis. https://github.com/pmem/pmem-redis. Accessed 19 Apr 2019
DeBrabant, J., Arulraj, J., Pavlo, A., Stonebraker, M., Zdonik, S., Dulloor, S.: A prolegomenon on OLTP database systems for non-volatile memory. ADMS@ VLDB, (2014)
Arulraj, J., Pavlo, A.: Non-volatile memory database management systems. Synth. Lect. Data Manage 11(1), 1–191 (2019)
Wang, T., Johnson, R: Scalable logging through emerging non-volatile memory. Proc. VLDB Endowment 7(10), 865–876 (2014).
Lu, Y., Shu, J., Sun, L.: Blurred persistence in transactional persistent memory. In: 31st Symposium on Mass Storage Systems and Technologies, pp. 1–13 (2015)
Wu, Y., Arulraj, J., Lin, J., Xian, R., Pavlo, A.: An empirical evaluation of in-memory multi-version concurrency control. Proc. VLDB Endowment 10(7), 781–792 (2017)
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. ACM Trans. Database Syst. 17(1), 94–162 (1992)
ipmctl. https://github.com/intel/ipmctl. Accessed 1 April 2021
wbl. https://github.com/jarulraj/wbl. Accessed 1 April 2021
Huang, J., Schwan, K., Qureshi, M.K.: NVRAM-aware logging in transaction systems. Proc. VLDB Endowment 8(4), 389–400 (2014)
Kim, W.H., Kim, J., Baek, W., Nam, B., Won, Y.: NVWAL: exploiting NVRAM in write-ahead logging. ACM SIGPLAN Notices 51(4), 385–398 (2016)
Haubenschild, M., Sauer, C., Neumann, T., Leis, V.: Rethinking logging, checkpoints, and recovery for high-performance storage engines. In: Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, pp. 877–892 (2020)
Andrei, M., Lemke, C., Radestock, G., et al.: SAP HANA adoption of non-volatile memory. Proc. VLDB Endowment 10(12), 1754–1765 (2017)
van Renen, A., Leis, V., Kemper, A., et al.: Managing non-volatile memory in database systems. In: Proceedings of the 2018 International Conference on Management of Data, pp. 1541–1555 (2018)
Acknowledgements
This material is supported by the National Key Research & Development Program of China (Grant No. 2018YFB1003301), the National Natural Science Foundation of China (Grant No. 61832011) and sponsored by Zhejiang Lab (NO. 2020KC0AB03).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Xu, X., Shu, J. (2021). An Efficient Bucket Logging for Persistent Memory. In: U, L.H., Spaniol, M., Sakurai, Y., Chen, J. (eds) Web and Big Data. APWeb-WAIM 2021. Lecture Notes in Computer Science(), vol 12858. Springer, Cham. https://doi.org/10.1007/978-3-030-85896-4_13
Download citation
DOI: https://doi.org/10.1007/978-3-030-85896-4_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-85895-7
Online ISBN: 978-3-030-85896-4
eBook Packages: Computer ScienceComputer Science (R0)