论文标题

PrismDB的存储层之间有效的压实

Efficient Compactions Between Storage Tiers with PrismDB

论文作者

Raina, Ashwini, Lu, Jianan, Cidon, Asaf, Freedman, Michael J.

论文摘要

近年来,新兴的存储硬件技术集中在不同的目标上:绩效更好或每位成本较低。相应地,采用这些技术的数据系统通常被优化为快速(但昂贵)或便宜(但缓慢)。我们采用不同的方法:通过构建存储引擎来本地利用两层快速和低成本的存储技术,我们可以在绩效和每位成本之间达到帕累托高效的平衡。本文介绍了PrismDB的设计和实施,PrismDB是一家新颖的钥匙值商店,它同时利用了现代NVME存储技术(3D Xpoint和QLC NAND)的两个极端。我们的关键贡献是如何在两个不同的存储层之间有效迁移和紧凑数据。受日志清洁的经典成本效益分析的启发,我们开发了一种用于多层存储压实的新算法,该算法平衡了快速存储中热对象的空间的好处,以及在慢速存储中的压实I/O的成本。与当今数据中心在Flash上​​的标准使用相比,PrismDB在分层存储中的平均吞吐量更快地为3.3 $ \ times $,并且使用等价的硬件,其读取的尾巴潜伏期更好。

In recent years, emerging storage hardware technologies have focused on divergent goals: better performance or lower cost-per-bit. Correspondingly, data systems that employ these technologies are typically optimized either to be fast (but expensive) or cheap (but slow). We take a different approach: by architecting a storage engine to natively utilize two tiers of fast and low-cost storage technologies, we can achieve a Pareto-efficient balance between performance and cost-per-bit. This paper presents the design and implementation of PrismDB, a novel key-value store that exploits two extreme ends of the spectrum of modern NVMe storage technologies (3D XPoint and QLC NAND) simultaneously. Our key contribution is how to efficiently migrate and compact data between two different storage tiers. Inspired by the classic cost-benefit analysis of log cleaning, we develop a new algorithm for multi-tiered storage compaction that balances the benefit of reclaiming space for hot objects in fast storage with the cost of compaction I/O in slow storage. Compared to the standard use of RocksDB on flash in datacenters today, PrismDB's average throughput on tiered storage is 3.3$\times$ faster and its read tail latency is 2$\times$ better, using equivalently priced hardware.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源