面向HTAP的基于LSM-Tree的数据库性能优化研究

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:webgame1209327274
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
日志结构合并树(LSM-Tree)是一种写操作延迟极低的数据库存储结构,在现代数据库中应用越来越广泛。而随着互联网的发展,信息量增长迅速,业务需求也越来越复杂。这不仅要求同一个数据库能支持在线事务处理(OLTP),同时希望数据库能高效处理在线分析处理(OLAP)。这样的数据库叫做混合事务分析处理(HTAP)数据库。要让基于LSM-Tree的数据库支持HTAP,就需要解决其设计存在的两个弊端。其一,该结构将新数据暂存于内存,待内存数据到达一定量后,新数据才会从内存持久化到磁盘。在数据库插入大量数据时,容易出现内存不足的情况,写操作被阻塞,最终导致服务不可用。其二,该结构在磁盘上的存储为分级结构,在读取时存在读放大问题。而OLAP往往访问大量的数据,读放大问题使得OLAP在基于LSMTree的数据库上性能十分低下。RocksDB作为一个目前最主流最成熟的基于LSM-Tree的KV存储,已经广泛被当做各种数据系统的存储引擎。所以本文以RocksDB为例优化LSM-Tree的问题,使其能高效支持HTAP负载。为了保证服务在面对大量写入时仍然高可用。本文在数据存储端和数据产生端之间增加了用于缓存、收集、分发的数据接入层。本文在Apache Flume框架上搭建了一个位于RocksDB和数据源之间的分布式缓存服务,并提出了一个基于空闲内存的负载均衡方案,能够有效地根据集群中各个节点的硬件资源去分配流量,从而解决高峰压力,保证数据服务稳定性。为了降低RocksDB的读放大,本文通过行列混合存储提升OLAP性能。列式存储有着操作并发度高、对内存友好、便于压缩等对顺序查询友好的特性,而RocksDB只支持行式存储,这将大大限制上层应用的OLAP性能。首先,本文拓展了RocksDB的数据存储存储结构,使得RocksDB能够支持列式存储。接着,本文设计实现了一个基于历史操作的在线行列混合存储策略。该策略需要监测每个有效的文件,计算转换的代价和收益,为那些收益大于转换代价的文件触发格式转换。同时,策略与RocksDB的后台逻辑深度结合,在每个新文件产生时决定文件格式。最终使得那些常做OLTP的数据能够保持原来的行式结构,使得那些常做OLAP的数据以列式存储,降低了这部分数据读取时的磁盘访问量。本文对上述优化方案进行了实验验证,效果符合预期。数据接入层将可用性从68.09%提升至99.99%,并且具有较好的集群拓展性。另外列式存储上的顺序读的性能提升较大,可以达到行式存储的5倍。混合存储下在公共测试集TPC-DS下约84%的查询请求得到了5%到60%不等的性能提升,对于HTAP负载的性能可以最高提升一倍。
其他文献
大面积农田具有交通不便、幅员广阔等监测难点,为农田建立时空模型能帮助管理者加强信息化、智能化生产管理。现有的时空建模方法多采用卫星遥感技术或定点高清摄像技术采集时空数据:卫星遥感技术以成本低、覆盖范围广的优势被广泛应用于土地覆被监控;定点高清摄像技术具有实时性强、分辨率高等特点,应用于小面积范围内的实时监控。但目前仍主要存在两大难题:其一,多源时空数据的异构性问题。遥感数据与定点摄影数据在成像条件
三维物体语义理解和旋转不变性特征研究一直是解决许多实际应用的关键性问题。由于现实场景中三维模型所处方位往往不确定,语义分析算法在实际当中的应用面临诸多挑战。同时,语义定义的模糊性导致很难有一个定义的标准能够符合所有人的认知,因此现有的语义相关数据集以及算法存在一定的局限。但是人对于不同物体之间的语义对应关系存在一定的共识,利用对应关系可以一定程度上避免语义定义带来的歧义,从而可以从一个全新的角度促
党的十八大以来,习近平总书记围绕加强国际传播能力建设、增强国际话语权、提升国家形象、提高国家文化软实力和中华文化影响力提出了一系列新理念新思想新战略,成为新时代文化"走出去"战略的理论指导和行动指南。中共中央统筹推动对外文化传播、文化交流和文化贸易,加快了中华文化发扬光大和走出去的历史进程。中国在国际传播能力建设、对外文化交流和对外文化贸易等领域都取得重大成就,大大提高了中国的国际话语权、中华文化
物联网的蓬勃发展和工业4.0的提出推动了现代工厂的智能化与自动化进程,而智能工厂对设备监控技术也提出了新的要求——非侵入式监测。射频识别(Radio Frequency Identification,RFID)技术作为工业中广泛应用的物联网技术,因其无源感知的优点也成为了普适计算领域中代表性的非侵入式感知技术,将其应用到工业新时代的设备监控系统中有着得天独厚的天然优势。为了解决机械设备异常或故障状
自改革开放以来,工业园区作为城市众多产业的空间物质载体,对于促进产业结构调整和产业集聚升级的承载作用显著;与此同时,工业园区也成了环境和安全风险事故的高发地。尤其是在环境保护作为国家重大战略的今天,对工业园区的环境管理问题日益突出,各级政府也陆续颁布了多项政策,推进工业园区的生态环境信息化建设以及工业园区的数字化智能化发展。但目前大多数的园区环境信息化建设与实际的环境管理需求是脱节的,系统仅针对水
软件众包因其开放式利用群体智慧解决问题的特点,在工业界和学术界受到众多关注。近年来,随着软件众包平台的不断发展,其用户量也呈现出高速增长的趋势,如何帮助用户挑选合适自己的服务商及服务,即构建一个优秀的众包服务搜索系统成为了各平台亟需解决的关键问题之一。为解决当前服务搜索系统未能充分利用包括用户评论在内的现有平台数据和未能对搜索结果精确排序的问题,本文提出了基于用户评论的软件众包智能搜索模型。通过对
Unikernel基于库操作系统技术,将单个应用程序与库操作系统组件编译为虚拟机镜像,可直接在KVM等虚拟化平台上运行,具有体积小、性能好、可针对化定制等优势,是一种有吸引力的针对云计算的操作系统设计。但Unikernel的一大缺点是缺乏多进程支持。最主要的原因是Unikernel是单地址空间设计,且运行在单个CPU特权级上。这大大降低了Unikernel的灵活性和适用性。多进程编程模型帮助应用程
近年来,区块链技术的出现和发展,为供应链领域遇到的鉴权和信息协同等方面问题带来极大的改善。供应链依托区块链的范式,采用私有链或联盟链的形式,利用区块链技术信用的易流转、链上信息难篡改、交易透明化等天然优势,逐步走向数字化智能化。目前,供应链领域合同依赖智能合约实现智能替代合同运行在区块链上,主要存在以下三个问题:首先,供应链参与方之间签订的纸质合同由于文本异构性问题,生成智能合约缺乏统一化描述;其
自然语言代码搜索在软件开发中起着重要作用,它允许程序员以自然语言进行查询,并从Internet或源代码库中获取代码片段。但是,在现有代码搜索方法选择和新技术研究时往往存在困难,因为(1)现有代码搜索方法的实现和评估它们的数据集通常是不公开的,无法选择适合当前场景的代码搜索方法;(2)有些代码搜索方法可能会利用训练数据集或辅助数据源,因此如果没有这些数据集/数据源,就无法真正实现搜索方法,并证明其有
近年来,随着深度学习的迅猛发展,自然语言处理已经成为了科学研究的重点领域之一。目前,基于深度学习技术来处理自然语言的研究工作主要集中在知识图谱、机器翻译、问答系统、文本分类等方向,然而关于将深度学习技术应用于自动生成文本摘要的研究工作少之又少。此外,在被称之为“互联网时代”的今天,文本信息的日生产量已然呈现出指数级地爆炸式增长趋势,面对数据量级超乎想象的文本信息,人类不再可能胜任从文本中提炼出其想