FlameDB: A Key-Value Store With Grouped Level Structure and Heterogeneous Bloom Filter

Key-value (KV) stores are widely used to provide much higher read and write throughput than traditional SQL databases. In particular, LSM-tree based KV store is popular with many applications since it could eliminate random writes and thus provides good write performance. However, the data residing...

Full description

Bibliographic Details
Main Authors: Weitao Zhang, Yinlong Xu, Yongkun Li, Yueming Zhang, Dinglong Li
Format: Article
Language:English
Published: IEEE 2018-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8352544/
id doaj-bdb4e2d8bfd747eb953cef062571ff05
record_format Article
spelling doaj-bdb4e2d8bfd747eb953cef062571ff052021-03-29T20:54:20ZengIEEEIEEE Access2169-35362018-01-016249622497210.1109/ACCESS.2018.28312598352544FlameDB: A Key-Value Store With Grouped Level Structure and Heterogeneous Bloom FilterWeitao Zhang0https://orcid.org/0000-0002-1872-6534Yinlong Xu1Yongkun Li2Yueming Zhang3Dinglong Li4School of Computer Science and Technology, University of Science and Technology of China, Hefei, ChinaAnhui Province Key Laboratory of High Performance Computing, University of Science and Technology of China, Hefei, ChinaSchool of Computer Science and Technology, University of Science and Technology of China, Hefei, ChinaSchool of Computer Science and Technology, University of Science and Technology of China, Hefei, ChinaSchool of Computer Science and Technology, University of Science and Technology of China, Hefei, ChinaKey-value (KV) stores are widely used to provide much higher read and write throughput than traditional SQL databases. In particular, LSM-tree based KV store is popular with many applications since it could eliminate random writes and thus provides good write performance. However, the data residing in external storage are compacted from time to time, which takes a large amount of I/O resources and degrades the system performance. In this paper, we propose FlameDB, which leverages grouped level structure (GLS) to mitigate the compaction overhead. Besides dividing the whole storage space into multiple components as in LSM-tree, GLS further divides each component into multiple groups and compacts all KV items in a component as a group of the next component. Besides, we also propose a heterogeneous bloom filter (HEBF) scheme which assigns more bits to the bloom filters in upper components. With HEBF, the false positive rate of a bloom filter in upper components become smaller, and this scheme reduces the expected number of I/Os to read a KV item from the external storage with a given memory usage. Our experiments show that FlameDB saves about 75% I/O during compaction, so it improves the write throughput by about four times. Meanwhile, the read performance is also slightly improved by deploying HEBF.https://ieeexplore.ieee.org/document/8352544/Key-valuelog-structured merge-treewrite amplificationread amplificationbloom filter
collection DOAJ
language English
format Article
sources DOAJ
author Weitao Zhang
Yinlong Xu
Yongkun Li
Yueming Zhang
Dinglong Li
spellingShingle Weitao Zhang
Yinlong Xu
Yongkun Li
Yueming Zhang
Dinglong Li
FlameDB: A Key-Value Store With Grouped Level Structure and Heterogeneous Bloom Filter
IEEE Access
Key-value
log-structured merge-tree
write amplification
read amplification
bloom filter
author_facet Weitao Zhang
Yinlong Xu
Yongkun Li
Yueming Zhang
Dinglong Li
author_sort Weitao Zhang
title FlameDB: A Key-Value Store With Grouped Level Structure and Heterogeneous Bloom Filter
title_short FlameDB: A Key-Value Store With Grouped Level Structure and Heterogeneous Bloom Filter
title_full FlameDB: A Key-Value Store With Grouped Level Structure and Heterogeneous Bloom Filter
title_fullStr FlameDB: A Key-Value Store With Grouped Level Structure and Heterogeneous Bloom Filter
title_full_unstemmed FlameDB: A Key-Value Store With Grouped Level Structure and Heterogeneous Bloom Filter
title_sort flamedb: a key-value store with grouped level structure and heterogeneous bloom filter
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2018-01-01
description Key-value (KV) stores are widely used to provide much higher read and write throughput than traditional SQL databases. In particular, LSM-tree based KV store is popular with many applications since it could eliminate random writes and thus provides good write performance. However, the data residing in external storage are compacted from time to time, which takes a large amount of I/O resources and degrades the system performance. In this paper, we propose FlameDB, which leverages grouped level structure (GLS) to mitigate the compaction overhead. Besides dividing the whole storage space into multiple components as in LSM-tree, GLS further divides each component into multiple groups and compacts all KV items in a component as a group of the next component. Besides, we also propose a heterogeneous bloom filter (HEBF) scheme which assigns more bits to the bloom filters in upper components. With HEBF, the false positive rate of a bloom filter in upper components become smaller, and this scheme reduces the expected number of I/Os to read a KV item from the external storage with a given memory usage. Our experiments show that FlameDB saves about 75% I/O during compaction, so it improves the write throughput by about four times. Meanwhile, the read performance is also slightly improved by deploying HEBF.
topic Key-value
log-structured merge-tree
write amplification
read amplification
bloom filter
url https://ieeexplore.ieee.org/document/8352544/
work_keys_str_mv AT weitaozhang flamedbakeyvaluestorewithgroupedlevelstructureandheterogeneousbloomfilter
AT yinlongxu flamedbakeyvaluestorewithgroupedlevelstructureandheterogeneousbloomfilter
AT yongkunli flamedbakeyvaluestorewithgroupedlevelstructureandheterogeneousbloomfilter
AT yuemingzhang flamedbakeyvaluestorewithgroupedlevelstructureandheterogeneousbloomfilter
AT dinglongli flamedbakeyvaluestorewithgroupedlevelstructureandheterogeneousbloomfilter
_version_ 1724193978608254976