BloomStore: Bloom-Filter based Memory-efficient Key-Value Store for Indexing of Data Deduplication on Flash

被引:0
|
作者
Lu, Guanlin [1 ]
Nam, Young Jin [2 ]
Du, David H. C. [3 ]
机构
[1] EMC2, Santa Clara, CA 95054 USA
[2] Daegu Univ, Gyeongbuk, South Korea
[3] Univ Minnesota, Minneapolis, MN USA
基金
美国国家科学基金会;
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Due to its better scalability, Key-Value (KV) store has superseded traditional relational databases for many applications, such as data deduplication, on-line multi-player gaming, and Internet services like Amazon and Facebook. The KV store efficiently supports two operations (key lookup and KV pair insertion) through an index structure that maps keys to their associated values. The KV store is also commonly used to implement the chunk index in data deduplication, where a chunk ID (SHA1 value computed based on the chunk's content) is a key and its associative chunk metadata (e. g., physical storage location, stream ID) is the value. For a deduplication system, typically the number of chunks is too large to store the KV store solely in RAM. Thus, the KV store maintains a large (hash-table based) index structure in RAM to index all KV pairs stored on secondary storage. Hence, its available RAM space limits the maximum number of KV pairs that can be stored. Moving the index data structure from RAM to flash can possibly overcome the space limitation. In this paper, we propose efficient KV store on flash with a Bloom Filter based index structure called BloomStore. The unique features of the BloomStore include (1) no index structure is required to be stored in RAM so that a small RAM space can support a large number of KV pairs and (2) both index structure and KV pairs are stored compactly on flash memory to improve its performance. Compared with the state-of-the-art KV store designs, the BloomStore achieves a significantly better key lookup performance and roughly the same insertion performance with multiple times less RAM usage based on our experiments with deduplication workloads.
引用
收藏
页数:11
相关论文
共 50 条
  • [1] A matrix-indexed bloom filter for flash-based key-value store
    Li, Wei
    Zhang, Dafang
    Xie, Kun
    Li, Wenwei
    He, Jie
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2015, 52 (05): : 1210 - 1222
  • [2] SILT: A Memory-Efficient, High-Performance Key-Value Store
    Lim, Hyeontaek
    Fan, Bin
    Andersen, David G.
    Kaminsky, Michael
    SOSP 11: PROCEEDINGS OF THE TWENTY-THIRD ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, 2011, : 1 - 13
  • [3] An Efficient Memory-Mapped Key-Value Store for Flash Storage
    Papagiannis, Anastasios
    Saloustros, Giorgos
    Gonzalez-Ferez, Pilar
    Bilas, Angelos
    PROCEEDINGS OF THE 2018 ACM SYMPOSIUM ON CLOUD COMPUTING (SOCC '18), 2018, : 490 - 502
  • [4] Kreon: An Efficient Memory-Mapped Key-Value Store for Flash Storage
    Papagiannis, Anastasios
    Saloustros, Giorgos
    Xanthakis, Giorgos
    Kalaentzis, Giorgos
    Gonzalez-Ferez, Pilar
    Bilas, Angelos
    ACM TRANSACTIONS ON STORAGE, 2021, 17 (01)
  • [5] PHash: A memory-efficient, high-performance key-value store for large-scale data-intensive applications
    Shim, Hyotaek
    JOURNAL OF SYSTEMS AND SOFTWARE, 2017, 123 : 33 - 44
  • [6] Deduplication Triggered Compaction for LSM-tree Based Key-Value Store
    Zhang, Weitao
    Xu, Yinlong
    PROCEEDINGS OF 2018 IEEE 9TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 2018, : 719 - 722
  • [7] Flame DB: A Key-Value Store With Grouped Level Structure and Heterogeneous Bloom Filter
    Zhang, Weitao
    Xu, Yinlong
    Li, Yongkun
    Zhang, Yueming
    Li, Dinglong
    IEEE ACCESS, 2018, 6 : 24962 - 24972
  • [8] An FPGA Implementation of High-Throughput Key-Value Store Using Bloom Filter
    Cho, Jae Min
    Choi, Kiyoung
    2014 INTERNATIONAL SYMPOSIUM ON VLSI DESIGN, AUTOMATION AND TEST (VLSI-DAT), 2014,
  • [9] BlueCache: A Scalable Distributed Flash-based Key-value Store
    Xu, Shuotao
    Lee, Sungjin
    Jun, Sang-Woo
    Liu, Ming
    Hicks, Jamey
    Arvind
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2016, 10 (04): : 301 - 312
  • [10] Segcache: a memory-efficient and scalable in-memory key-value cache for small objects
    Yang, Juncheng
    Yue, Yao
    Rashmi, K., V
    PROCEEDINGS OF THE 18TH USENIX SYMPOSIUM ON NETWORKED SYSTEM DESIGN AND IMPLEMENTATION, 2021, : 503 - 518