Title
An Efficient Bucket Logging for Persistent Memory
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 x -7.1 x 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 x-11.8 x.
Year
DOI
Venue
2021
10.1007/978-3-030-85896-4_13
WEB AND BIG DATA, APWEB-WAIM 2021, PT I
Keywords
DocType
Volume
Logging and recovery, Persistent memory, Database, Multi version concurrency control
Conference
12858
ISSN
Citations 
PageRank 
0302-9743
0
0.34
References 
Authors
0
2
Name
Order
Citations
PageRank
Xiyan Xu100.34
Jiwu Shu270972.71