传统观点认为LSM树在存储成本和写入放大上优于B+树。本文探讨了在内置透明压缩的现代存储硬件上,通过三种优化技术,大幅降低B+树写入放大,使其性能媲美甚至超越LSM树,为数据库索引设计提供新思路。
智能速览
内置透明压缩硬件可缩小B+树与LSM树的存储成本差距
提出确定性页面阴影、局部页面修改日志、稀疏重做日志三种技术
实验显示优化后的B+树写入放大降低10倍以上
新型B+树写入性能可媲美基于LSM树的RocksDB
新技术支持稀疏数据结构且不牺牲物理存储成本
精华内容
随着内置透明压缩存储硬件的普及,传统数据库索引的性能格局正面临重塑,B+树有望在写入放大这一关键指标上实现突破。
背景与挑战
LSM树因存储空间利用率高和写入放大低,被视为B+树的理想替代者。然而,现代存储设备引入了内置透明压缩功能,能够直接对操作系统和应用程序透明的数据进行无损压缩。这不仅缩小了B+树与LSM树在存储成本上的差异,也通过暴露比物理容量更大的逻辑地址空间,为优化B+树提供了硬件基础。
三项核心技术
研究提出了三种设计技术以降低写入放大。首先是确定性页面阴影,通过固定位置的乒乓写入机制消除了额外写开销。其次是局部页面修改日志,仅记录页面中被修改的片段而非整页,大幅减少写入量。第三是稀疏重做日志,通过填充零使每条日志记录占据独立的4KB空间,确保日志仅写入一次。
实验性能表现
在3.2TB ScaleFlux计算存储驱动器上的测试表明,结合这些技术的B+树写入放大降低了超过10倍。与传统B+树及WiredTiger相比,新结构实现了与基于LSM树的RocksDB相似甚至更小的写入放大,证明了其在现代硬件上的强大竞争力。
读写综合评估
在随机范围扫描测试中,优化后的B+树性能仅略低于原始B+树,开销可被分摊,显著优于RocksDB。在随机写入速度上,由于写入放大被显著降低,新B+树展现出更高的写入吞吐量。实验涵盖了16B至128B的不同记录大小及8KB至16KB的页大小,结论具有普适性。
这项研究表明,新型存储硬件的出现促使我们重新审视B+树与LSM树的竞争关系。通过硬件与软件的协同设计,B+树能够有效克服写入放大的短板,在未来的数据管理系统中重新占据重要地位。