GearDB: A GC-free Key-Value Store on HM-SMR Drives with Gear Compaction

GearDB: A GC-free Key-Value Store on HM-SMR Drives with Gear Compaction
复制标题

DOI:
10.1145/3603165.3607392
复制
发表时间:
2023-07
期刊:
Proceedings of the ACM Turing Award Celebration Conference - China 2023
影响因子:
--
通讯作者:
Ting Yao;Ji-guang Wan;Ping Huang;Yiwen Zhang;C. Xie;Xubin He
Ting Yao;Ji-guang Wan;Ping Huang;Yiwen Zhang;C. Xie;Xubin He
中科院分区:
其他
文献类型:
--
作者:
Ting Yao;Ji-guang Wan;Ping Huang;Yiwen Zhang;C. Xie;Xubin He

文献摘要

被引文献

相似文献

主机管理的叠瓦式磁记录驱动器 (HMSMR) 具有容量优势,可以利用数据的爆炸式增长。对于顺序写入和随机读取数据的应用程序(例如基于日志结构合并树(LSM 树)的键值存储),HMSMR 因其容量、可预测的性能和经济的成本而成为理想的解决方案。然而,由于应用程序和存储设备的冗余清理过程(即压缩和垃圾收集),在 HM-SMR 驱动器上构建基于 LSMtree 的 KV 存储在保持性能和空间效率方面提出了严峻的挑战。为了消除磁盘垃圾收集 (GC) 的开销并提高压缩效率,本文提出了 GearDB,这是一种专为 HMSMR 驱动器量身定制的无 GC KV 存储。 GearDB 提出了三项新技术:新的磁盘数据布局、压缩窗口和新颖的齿轮压缩算法。我们在真实的 HM-SMR 驱动器上使用 LevelDB 实施和评估 GearDB。我们大量的实验表明,GearDB 实现了良好的性能和空间效率,即随机写入平均比 LevelDB 快 1.71 倍,空间效率为 89.9%。
Host-managed shingled magnetic recording drives (HMSMR) give a capacity advantage to harness the explosive growth of data. Applications where data is sequentially written and randomly read, such as key-value stores based on Log-Structured Merge Trees (LSM-trees), make the HMSMR an ideal solution due to its capacity, predictable performance, and economical cost. However, building an LSMtree based KV store on HM-SMR drives presents severe challenges in maintaining the performance and space efficiency due to the redundant cleaning processes for applications and storage devices (i.e., compaction and garbage collections). To eliminate the overhead of on-disk garbage collections (GC) and improve compaction efficiency, this paper presents GearDB, a GC-free KV store tailored for HMSMR drives. GearDB proposes three new techniques: a new on-disk data layout, compaction windows, and a novel gear compaction algorithm. We implement and evaluate GearDB with LevelDB on a real HM-SMR drive. Our extensive experiments have shown that GearDB achieves both good performance and space efficiency, i.e., on average 1.71× faster than LevelDB in random write with a space efficiency of 89.9%.