Key-Value Storage Engines

被引:19
|
作者
Idreos, Stratos [1 ]
Callaghan, Mark [2 ]
机构
[1] Harvard Univ, Cambridge, MA 02138 USA
[2] MongoDB, New York, NY USA
关键词
D O I
10.1145/3318464.3383133
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Key-value stores are everywhere. They power a diverse set of data-driven applications across both industry and science. Key-value stores are used as stand-alone NoSQL systems but they are also used as a part of more complex pipelines and systems such as machine learning and relational systems. In this tutorial, we survey the state-of-the-art approaches on how the core storage engine of a key-value store system is designed. We focus on several critical components of the engine, starting with the core data structures to lay out data across the memory hierarchy. We also discuss design issues related to caching, timestamps, concurrency control, updates, shifting workloads, as well as mixed workloads with both analytical and transactional characteristics. We cover designs that are read-optimized, write-optimized as well as hybrids. We draw examples from several state-of-the-art systems but we also put everything together in a general framework which allows us to model storage engine designs under a single unified model and reason about the expected behavior of diverse designs. In addition, we show that given the vast number of possible storage engine designs and their complexity, there is a need to be able to describe and communicate design decisions at a high level descriptive language and we present a first version of such a language. We then use that framework to present several open challenges in the field especially in terms of supporting increasingly more diverse and dynamic applications in the era of data science and AI, including neural networks, graphs, and data versioning.
引用
收藏
页码:2667 / 2672
页数:6
相关论文
共 50 条
  • [1] MapReduce Join Strategies for Key-Value Storage
    Van Hieu, Duong
    Smanchat, Sucha
    Meesad, Phayung
    [J]. 2014 11TH INTERNATIONAL JOINT CONFERENCE ON COMPUTER SCIENCE AND SOFTWARE ENGINEERING (JCSSE), 2014, : 164 - 169
  • [2] EvenDB: Optimizing Key-Value Storage for Spatial Locality
    Gilad, Eran
    Bortnikov, Edward
    Braginsky, Anastasia
    Gottesman, Yonatan
    Hillel, Eshcar
    Keidar, Idit
    Moscovici, Nurit
    Shahout, Rana
    [J]. PROCEEDINGS OF THE FIFTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS'20), 2020,
  • [3] DEPART: Replica Decoupling for Distributed Key-Value Storage
    Zhang, Qiang
    Li, Yongkun
    Lee, Patrick P. C.
    Xu, Yinlong
    Wu, Si
    [J]. PROCEEDINGS OF THE 20TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES, FAST 2022, 2022, : 397 - 412
  • [4] Secure In-memory Key-Value Storage with SGX
    Kim, Taehoon
    Park, Joongun
    Woo, Jaewook
    Jeon, Seungheun
    Huh, Jaehyuk
    [J]. PROCEEDINGS OF THE 2018 ACM SYMPOSIUM ON CLOUD COMPUTING (SOCC '18), 2018, : 507 - 507
  • [5] Research on Multicore Key-Value Storage System for Domain Name Storage
    Han, Luchao
    Guo, Zhichuan
    Zeng, Xuewen
    [J]. APPLIED SCIENCES-BASEL, 2021, 11 (16):
  • [6] InK: In-Kernel Key-Value Storage with Persistent Memory
    Ha, Minjong
    Kim, Sang-Hoon
    [J]. ELECTRONICS, 2020, 9 (11) : 1 - 22
  • [7] ArkDB: A Key-Value Engine for Scalable Cloud Storage Services
    Pang, Zhu
    Lu, Qingda
    Chen, Shuo
    Wang, Rui
    Xu, Yikang
    Wu, Jiesheng
    [J]. SIGMOD '21: PROCEEDINGS OF THE 2021 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2021, : 2570 - 2583
  • [8] A DHT Key-Value Storage System with Carrier Grade Performance
    Shi, Guangyu
    Chen, Jian
    Gong, Hao
    Fan, Lingyuan
    Xue, Haiqiang
    Lu, Qingming
    Liang, Liang
    [J]. EURO-PAR 2009: PARALLEL PROCESSING, PROCEEDINGS, 2009, 5704 : 361 - +
  • [9] The Design and Implementation of UniKV for Mixed Key-Value Storage Workloads
    Zhang, Qiang
    Li, Yongkun
    Lee, Patrick P. C.
    Xu, Yinlong
    [J]. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2023, 35 (11) : 11935 - 11949
  • [10] Indexing spatiotemporal trajectory data streams on key-value storage
    Zhao, Xiaofei
    Lam, Kam-Yiu
    Kuo, Tei-Wei
    [J]. COMPUTING, 2024, 106 (08) : 2707 - 2735