Monkey: Optimal Navigable Key-Value Store

被引:144
|
作者
Dayan, Niv [1 ]
Athanassoulis, Manos [1 ]
Idreos, Stratos [1 ]
机构
[1] Harvard Univ, Cambridge, MA 02138 USA
基金
美国国家科学基金会;
关键词
D O I
10.1145/3035918.3064054
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
In this paper, we show that key-value stores backed by an LSM-tree exhibit an intrinsic trade-off between lookup cost, update cost, and main memory footprint, yet all existing designs expose a suboptimal and difficult to tune trade-off among these metrics. We pinpoint the problem to the fact that all modern key-value stores sub-optimally co-tune the merge policy, the buffer size, and the Bloom filters' false positive rates in each level. We present Monkey, an LSM-based key-value store that strikes the optimal balance between the costs of updates and lookups with any given main memory budget. The insight is that worst-case lookup cost is proportional to the sum of the false positive rates of the Bloom filters across all levels of the LSM-tree. Contrary to state-of-the-art key-value stores that assign a fixed number of bits-per-element to all Bloom filters, Monkey allocates memory to filters across different levels so as to minimize this sum. We show analytically that Monkey reduces the asymptotic complexity of the worst-case lookup I/O cost, and we verify empirically using an implementation on top of LevelDB that Monkey reduces lookup latency by an increasing margin as the data volume grows (50% - 80% for the data sizes we experimented with). Furthermore, we map the LSM-tree design space onto a closed-form model that enables co-tuning the merge policy, the buffer size and the filters' false positive rates to trade among lookup cost, update cost and/or main memory, depending on the workload (proportion of lookups and updates), the dataset (number and size of entries), and the underlying hardware (main memory available, disk vs. flash). We show how to use this model to answer what-if design questions about how changes in environmental parameters impact performance and how to adapt the various LSM-tree design elements accordingly.
引用
收藏
页码:79 / 94
页数:16
相关论文
共 50 条
  • [31] FacetsBase: A Key-Value Store Optimized for Querying on Scholarly Data
    Song, Jie
    Bi, Yuanguo
    Han, Guangjie
    Li, Tiantian
    [J]. IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING, 2021, 9 (01) : 302 - 315
  • [32] FASTER: An Embedded Concurrent Key-Value Store for State Management
    Chandramouli, Badrish
    Prasaad, Guna
    Kossmann, Donald
    Levandoski, Justin
    Hunter, James
    Barnett, Mike
    [J]. PROCEEDINGS OF THE VLDB ENDOWMENT, 2018, 11 (12): : 1930 - 1933
  • [33] Generalization and Implementation of RAM-Based Key-Value Store
    Tian, Tian
    Zhang, Chengfei
    Yu, Kai
    Zhang, Yiming
    Zhong, Ping
    [J]. 2016 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE & COMPUTATIONAL INTELLIGENCE (CSCI), 2016, : 1412 - 1413
  • [34] SKV: A SmartNIC-Offloaded Distributed Key-Value Store
    Sun, Shangyi
    Zhang, Rui
    Yan, Ming
    Wu, Jie
    [J]. 2022 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER 2022), 2022, : 1 - 11
  • [35] Pantheon: Private Retrieval from Public Key-Value Store
    Ahmad, Ishtiyaque
    Agrawal, Divyakant
    El Abbadi, Amr
    Gupta, Trinabh
    [J]. PROCEEDINGS OF THE VLDB ENDOWMENT, 2022, 16 (04): : 643 - 656
  • [36] A Multicore-Friendly Persistent Memory Key-Value Store
    Wang Q.
    Zhu B.
    Shu J.
    [J]. Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2021, 58 (02): : 397 - 405
  • [37] A Fast Learned Key-Value Store for Concurrent and Distributed Systems
    Li, Pengfei
    Hua, Yu
    Jia, Jingnan
    Zuo, Pengfei
    [J]. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2024, 36 (06) : 2301 - 2315
  • [38] A Custom Key-Value Store Hardware on FPGA for IPsec Protocol
    Benli, Murat
    Ozcan, Erdem
    Tureli, Ufuk
    [J]. 2020 12TH INTERNATIONAL CONFERENCE ON ELECTRICAL AND ELECTRONICS ENGINEERING (ELECO), 2020, : 150 - 154
  • [39] Building an Efficient Key-Value Store in a Flexible Address Space
    Chen, Chen
    Zhong, Wenshao
    Wu, Xingbo
    [J]. PROCEEDINGS OF THE SEVENTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS '22), 2022, : 51 - 68
  • [40] KVLight: A Lightweight Key-Value Store for Distributed Access in Cloud
    Zeng, Jiaan
    Plale, Beth
    [J]. 2016 16TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID), 2016, : 473 - 482