构建分析LSM Compaction Design Space

构建分析LSM Compaction Design Space
《Constructing and Analyzing the LSM Compaction Design Space》 VLDB'21 四个原语 Compaction是LSM-Tree引擎中最重要的环节之一,一方面它主导了LSM-Tree的形状进而影响了LSM-Tree的包括性能、空间占用等对外表现,另一方面它本身要消耗相当的计算和IO资源,容易造成抖动等问题。 但目前业界针对compaction较少有系统的探索,很多系统的compaction策略依赖工程师的个人经验,大量可能的策略未被分析测试...

REMIX: Efficient Range Query for LSM-trees

REMIX: Efficient Range Query for LSM-trees
  《REMIX: Efficient Range Query for LSM-trees》FAST'20 LSM-Tree引擎的scan操作是一个引擎固有的短板,其根源在于相比基于B+Tree的引擎如InnoDB的数据全局有序,LSM-Tree的数据有序性差,它由多个sort run组成,因此scan的时候需要对多个sort run进行merge。 考虑如下的情况,比如做一次全表扫描,扫描过程中对若干sort run进行了merge。但再有一次全表扫描时,还是需要进行一次merge。两次merge...

LSMTree自适应内存管理

LSMTree自适应内存管理
LSMTree自适应内存管理 Breaking Down Memory Walls: Adaptive Memory Managementin LSM-based Storage Systems(VLDB'21) 内存管理整体架构比较清晰,如图,无需赘言。 Write Memory内存管理 Write Memory的管理方式见下图。 像RocksDB的Write Memory就是一整个memtable,论文给出了另外一个思路,即使是write memory也用leveled方式,如图。Memory也分成M0,M1,M2三层,M0满则merge到M1,同理M1 merg...

阿里LSMTree存储引擎X-Engine

阿里LSMTree存储引擎X-Engine
  X-Engine是阿里云研发的LSM-Tree结构的存储引擎,主打低存储成本带来的性价比。   问题 the tsunami problem 海啸问题:122倍突发流量 the flood discharge problem 泄洪问题:将内存数据快速转到持久化存储组件 the fast-moving current problem 快变洋流问题:热点行变化快 架构 优化总结 读路径优化 Extent Cache 多版本SuperVersion 增量cache替换 写路径优化 memtable热点行优化 ...

LSMTree综述

LSMTree综述
  LSM-based storage techniques: a survey (VLDBJ 2020)   This paper aims to serve as a guide to the state of the art in LSM-based storage techniques for researchers, practitioners, and users.   LSMTree引擎在业界已经有了很多的落地。很多NoSQL系统如Bigtable、Dynamo、HBase、Cassandra、LevelDB、RocksDB、AsterixDB底层都是LSMTree引擎。RocksDB在Facebook的实时数据处理...