一种可动态适应的LSM树合并算法研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:jason31906
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
海量数据时代对数据存储提出更高要求,基于LSM树架构的NoSQL应运而生,如Bigtable、Apache HBase和Apache Cassandra等。它们拥有良好的性能、扩展性和灵活性,已经被广泛的使用。基于LSM树的存储系统把对索引和数据的变更进行延迟和批量处理,定期将内存数据直接刷写到磁盘形成文件,通过合并文件,减少文件数量,进而减少每次查询涉及到的文件数量,提高查询效率,这就是合并,合并既可以优化查询,又可以真正删除数据。但是,合并会占用CPU、磁盘I/O和网络等资源,影响系统的整体性能,而不当的或不及时的合并又会造成查询时涉及过多文件而降低查询性能。  针对合并的问题,几种合并算法相继出现,如Native Compact、LeveledCompact和Stripe Compact,但是它们并不能很好的解决优化查询和减少不必要的合并等问题。本文在深入研究LSM树架构的基础上,分析总结现有合并算法,结合实际应用的需求,提出了一种可动态适应的合并算法——Tree Compact,算法使用树形结构来组织数据文件,树形结构动态适应数据的分布变化,减小合并范围以避免不必要的合并,优化查询性能。  将文件组织成节点,节点进而组成了树形结构,节点内部可以进行合并,数据在节点间也可以流动,文件会被合并然后下推到子节点中,同时为了保持树形结构的平衡状态,使其既不会太宽也不会太高,树形结构可以随着数据分布的变化动态调整形状,操作包括节点的创建、删除、分裂和合并,并通过合适的合并策略定义这些操作的执行顺序,从而达到优化系统资源消耗和查询效率的效果。  以Tree Compact算法作为理论基础,我们在Apache HBase上实现了相应的存储引擎,通过实验证明,在多种实验数据下,Tree Compact算法都可以在提供更好查询性能的同时,减少对磁盘I/O等系统资源的消耗。  如何评价合并算法的优劣?目前还没有一个可以评测合并算法的模型,本文结合现有的系统和应用场景,基于合并影响的因子:查询性能和系统资源,提出了一个合并算法评测模型。在不同的应用场景下、不同的数据下,全面的对NativeCompact、Leveled Compact、Stripe Compact以及本文提出的Tree Compact进行了评测,基本符合人们对各种合并算法的评价,同时Tree Compact算法在评测中展现了比较大的优势。
其他文献
随着计算机和网络技术的不断发展,文档一体化管理、协同办公等各类工作流信息化系统已广泛应用于各行业领域中。由于在应用信息化系统的过程中涉及到大量的电子文档,而电子文
高斯滤波,即window操作,是一种适用于消除高斯噪声的线性平滑滤波,广泛应用于科学数据处理的减噪过程。在科学数据处理领域当中,需要通过过滤噪声来提取最有用的信息,所以滤波操作
纠删码在大规模的分布式存储系统中得到了越来越广泛的使用。但受限于恢复过程会涉及到多个块的磁盘读取和网络传输,纠删码的恢复开销很高。这给分布式存储系统带来两个问题:a
随着我国信息化和互联网技术的迅速发展,电子政务成为当今信息化最重要的领域之一。虽然目前电子政务技术已经进入了电子政务服务系统阶段。但是目前的电子政务系统基本处于一
随着通信、计算机技术的迅猛发展,多媒体通信应用已渗透到人们日常生活、工作的许多领域.视频凭借其生动、直观、及信息量丰富等特点,备受人们的青睐.尤其是在最近十几年,立
随着我国社会信息化水平的不断加深,新闻出版行业每天需要处理的电子文档数量逐步上升。大型报社每天都有七八十个版面,需要处理的文字信息量达几十万字。另一方面,新闻出版流程
本文针对航天嵌入式软件特点以及软件黑盒测试所面临的问题,提出了一种任务剖面建模的方法。从用户的角度对软件系统进行数学建模,对系统是怎样的以及它会怎样被使用做出一个
自1950年Charney、Von Neumann和Fj(o)rtoft使用计算机制作出世界上第一份数值天气预报图以来,大气模式一直是高性能计算领域最主要的应用之一。大气模式的计算需要海量的计算
学位
随着通讯与计算机技术的迅速发展,越来越多的计算机系统用来提供各种及时可靠的服务,如何保证计算机系统运行可靠、稳定和持久是需要解决的关键问题,这就需要系统具备冗余和