CLC number: TP392
On-line Access: 2024-08-27
Received: 2023-10-17
Revision Accepted: 2024-05-08
Crosschecked: 2023-07-24
Cited: 0
Clicked: 1482
Citations: Bibtex RefMan EndNote GB/T7714
Xiao ZHANG, Mengyu LI, Michael NGULUBE, Yonghao CHEN, Yiping ZHAO. MyWAL: performance optimization by removing redundant input/output stack in key-value store[J]. Frontiers of Information Technology & Electronic Engineering, 2023, 24(7): 980-993.
@article{title="MyWAL: performance optimization by removing redundant input/output stack in key-value store",
author="Xiao ZHANG, Mengyu LI, Michael NGULUBE, Yonghao CHEN, Yiping ZHAO",
journal="Frontiers of Information Technology & Electronic Engineering",
volume="24",
number="7",
pages="980-993",
year="2023",
publisher="Zhejiang University Press & Springer",
doi="10.1631/FITEE.2200496"
}
%0 Journal Article
%T MyWAL: performance optimization by removing redundant input/output stack in key-value store
%A Xiao ZHANG
%A Mengyu LI
%A Michael NGULUBE
%A Yonghao CHEN
%A Yiping ZHAO
%J Frontiers of Information Technology & Electronic Engineering
%V 24
%N 7
%P 980-993
%@ 2095-9184
%D 2023
%I Zhejiang University Press & Springer
%DOI 10.1631/FITEE.2200496
TY - JOUR
T1 - MyWAL: performance optimization by removing redundant input/output stack in key-value store
A1 - Xiao ZHANG
A1 - Mengyu LI
A1 - Michael NGULUBE
A1 - Yonghao CHEN
A1 - Yiping ZHAO
J0 - Frontiers of Information Technology & Electronic Engineering
VL - 24
IS - 7
SP - 980
EP - 993
%@ 2095-9184
Y1 - 2023
PB - Zhejiang University Press & Springer
ER -
DOI - 10.1631/FITEE.2200496
Abstract: Based on a log-structured merge (LSM) tree, the key-value (KV) storage system can provide high reading performance and optimize random writing performance. It is widely used in modern data storage systems like e-commerce, online analytics, and real-time communication. An LSM tree stores new KV data in the memory and flushes to disk in batches. To prevent data loss in memory if there is an unexpected crash, RocksDB appends updating data in the write-ahead log (WAL) before updating the memory. However, synchronous WAL significantly reduces writing performance. In this paper, we present a new WAL mechanism named MyWAL. It directly manages raw devices (or partitions) instead of saving data on a traditional file system. These can avoid useless metadata updating and write data sequentially on disks. Experimental results show that MyWAL can significantly improve the data writing performance of RocksDB compared to the traditional WAL for small KV data on solid-state disks (SSDs), as much as five to eight times faster. On non-volatile memory express soild-state drives (NVMe SSDs) and non-volatile memory (NVM), MyWAL can improve data writing performance by 10%–30%. Furthermore, the results of YCSB (Yahoo! Cloud Serving Benchmark) show that the latency decreased by 50% compared with SpanDB.
[1]Absalyamov I, Carey MJ, Tsotras VJ, 2018. Lightweight cardinality estimation in LSM-based systems. Proc Int Conf on Management of Data, p.841-855.
[2]Athanassoulis M, Chen SM, Ailamaki A, et al., 2011. MaSM: efficient online updates in data warehouses. Proc ACM SIGMOD Int Conf on Management of Data, p.865-876.
[3]Chen H, Ruan CY, Li C, et al., 2021. SpanDB: a fast, cost-effective LSM-tree based KV store on hybrid storage. 19th USENIX Conf on File and Storage Technologies, p.17-32.
[4]Dayan N, Idreos S, 2018. Dostoevsky: better space-time trade-offs for LSM-tree based key-value stores via adaptive removal of superfluous merging. Proc Int Conf on Management of Data, p.505-520.
[5]Dong SY, Kryczka A, Jin YQ, et al., 2021. Evolution of development priorities in key-value stores serving large-scale applications: the RocksDB experience. 19th USENIX Conf on File and Storage Technologies, p.33-49.
[6]Facebook, 2019. RocksDB, a persistent key-value store for fast storage environments. http://rocksdb.org/ [Accessed on Jan. 7, 2021].
[7]Izraelevitz J, Yang J, Zhang L, et al., 2019. Basic performance measurements of the Intel Optane DC persistent memory module. https://arxiv.org/abs/1903.05714
[8]Kaiyrakhmet O, Lee S, Nam B, et al., 2019. SLM-DB: single-level key-value store with persistent memory. 17th USENIX Conf on File and Storage Technologies, p.191-205.
[9]Kannan S, Bhat N, Gavrilovska A, et al., 2018. Redesigning LSMs for nonvolatile memory with NoveLSM. Proc USENIX Conf on Usenix Annual Technical Conf, p.993-1005.
[10]Leavitt N, 2010. Will NoSQL databases live up to their promise?Computer, 43(2):12-14.
[11]Lu LY, Pillai TS, Gopalakrishnan H, et al., 2017. WiscKey: separating keys from values in SSD-conscious storage. ACM Trans Stor, 13(1):5.
[12]Luo C, Carey MJ, 2019. Efficient data ingestion and query processing for LSM-based storage systems. Proc VLDB Endow, 12(5):531-543.
[13]Mei F, Cao Q, Jiang H, et al., 2018. SifrDB: a unified solution for write-optimized key-value stores in large datacenter. Proc ACM Symp on Cloud Computing, p.477-489.
[14]Pan FF, Yue YL, Xiong J, 2017. dCompaction: delayed compaction for the LSM-tree. Int J Parallel Prog, 45(6):1310-1325.
[15]Papagiannis A, Saloustros G, González-Férez P, et al., 2018. An efficient memory-mapped key-value store for flash storage. Proc ACM Symp on Cloud Computing, p.490-502.
[16]Qader MA, Cheng SW, Hristidis V, 2018. A comparative study of secondary indexing techniques in LSM-based NoSQL databases. Proc Int Conf on Management of Data, p.551-566.
[17]Raju P, Kadekodi R, Chidambaram V, et al., 2017. PebblesDB: building key-value stores using fragmented log-structured merge trees. Proc 26th Symp on Operating Systems Principles, p.497-514.
[18]Ren K, Zheng Q, Arulraj J, et al., 2017. SlimDB: a space-efficient key-value storage engine for semi-sorted data. Proc VLDB Endow, 10(13):2037-2048.
[19]Stonebraker M, 2010. SQL databases v. NoSQL databases. Commun ACM, 53(4):10-11.
[20]Teng DJ, Guo L, Lee R, et al., 2017. LSbM-tree: re-enabling buffer caching in data management for mixed reads and writes. IEEE 37th Int Conf on Distributed Computing Systems, p.68-79.
[21]Wu XB, Xu YH, Shao ZL, et al., 2015. LSM-trie: an LSM-tree-based ultra-large key-value store for small data items. USENIX Annual Technical Conf, p.71-82.
[22]Yao T, Wan JG, Huang P, et al., 2017. A light-weight compaction tree to reduce I/O amplification toward efficient key-value stores. Proc 33rd Int Conf on Massive Storage Systems and Technology, p.1-13.
[23]Yao T, Zhang YW, Wan JG, et al., 2020. MatrixKV: reducing write stalls and write amplification in LSM-tree based KV stores with a matrix container in NVM. Proc USENIX Conf on Usenix Annual Technical Conf, Article 2.
[24]Zhang YM, Li YK, Guo F, et al., 2018. ElasticBF: fine-grained and elastic bloom filter towards efficient read for LSM-tree-based KV stores. Proc 10th USENIX Conf on Hot Topics in Storage and File Systems, Article 11.
[25]Zhang ZG, Yue YL, He BS, et al., 2014. Pipelined compaction for the LSM-tree. IEEE 28th Int Parallel and Distributed Processing Symp, p.777-786.
[26]Zhu YC, Zhang Z, Cai P, et al., 2017. An efficient bulk loading approach of secondary index in distributed log-structured data stores. Proc 22nd Int Conf on Database Systems for Advanced Applications, p.87-102.
Open peer comments: Debate/Discuss/Question/Opinion
<1>