In recent years, emerging hardware storage technologies have focused on divergent goals: better performance or lower cost-per-bit of storage. Correspondingly, data systems that employ these new technologies are typically optimized either to be fast (but expensive) or cheap (but slow). We take a different approach: by designing 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. Unlike prior work that has retrofitted data structures designed for a single tier to multi-tier storage, PrismDB's data structures and migration mechanism are tailored for different storage layers. The key design contributions of PrismDB is a novel hybrid data structure for tiered storage, and an adaptive and lightweight migration mechanism that is able to efficiently demote cold objects from the fast to the slow storage tier, and promote hot objects to the fast tier. 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.
翻译:近年来,新兴的硬件储存技术侧重于不同的目标:改进性能或降低成本/位存储量。相应地,使用这些新技术的数据系统通常优化为快速(但昂贵)或廉价(但缓慢)。我们采取不同的做法:设计一个本地使用两层快速和低成本存储技术的存储引擎,我们就可以在性能和成本-位之间实现高效平衡。本文介绍了普里斯坦布的设计和实施,这是一家新型的关键价值商店,它利用现代NVME储存技术(3D XPoint和QLCNAND)的两个极端端,同时利用现代NVME储存技术(3D XPoint和QLC NAND)的两个极端端。与以前为单层至多层存储设计的数据结构改造后的工作不同,PrismDD的数据结构和迁移机制是针对不同储存层的定制。PrismDB的主要设计贡献是用于分级存储的新型混合数据结构,适应性和轻度迁移机制能够高效地将冷器从慢层降为缓存层,并将热量物体提升到今天的等值。比重的硬体存储量数据在快速存储量数据中,比对标准使用。