摘要
键值存储是数据库最简单的组织形式。在数据密集型的应用场景中,键值存储系统发挥着关键的作用。随着对及时数据分析需求的增加,良好的系统性能变得越来越重要。目前大多数键值存储系统的存储引擎都是日志结构合并树(Log-Structured Merge Tree, LSM树)。因具有卓越的写性能,LSM树被广泛应用于写密集型的场景和现代NoSQL系统的存储层。与传统的B树相比,LSM树采用顺序写入的访问模式,并使用内存缓冲区来批处理新的写入线程,因此LSM树具有更大的写优势。然而,数据的重复读写和不必要的压缩操作导致了LSM树的读写放大问题,从而严重影响了系统的性能,尤其在数据密集型的应用场景。如今,研究人员做了大量工作来缓解这些问题,文中研究了影响LSM树性能的各个因素,搜集了大量提升基于LSM树的键值系统性能的文献,并对其加以整理和分类,讨论它们的优势和权衡,使读者可以了解基于LSM树的存储技术及其优化策略,最后调查了几个具有代表性的基于LSM树的键值存储技术并讨论了潜在的未来研究方向。
- 单位