基于查询重写的大数据查询优化技术研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:magi9999
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网、物联网等行业数据规模的爆发式增长,企业在数据的处理和分析上正面临着全新的挑战。面对海量数据,传统的关系型数据库在数据的吞吐能力、分析效率和系统的可扩展性上都开始出现瓶颈。以Hadoop/Hive为代表的大数据分析系统得到了越来越广泛的应用,并在互联网业务处理中取得了极大的成功,这也吸引到诸如智能电网、金融等传统企业的注意。这些传统企业希望将原有基于关系型数据库的业务迁移至Hadoop/Hive来加速查询处理。然而,在迁移的过程中,他们既希望获得Hadoop/Hive系统高吞吐的计算能力,又希望保留传统关系型数据库的一些高级特性(如复杂查询优化),因而面临两难的选择。由于关系数据库的框架限制明显,解决难题最为有效的方法是增强Hadoop/Hive的相关特性,使其更适用于传统企业的业务处理。  本文的研究工作致力于增强现有大数据平台对以存储过程为代表的复杂批处理查询的计算能力。现有的诸多大数据处理引擎,如Hive、Pig、Impala等,在处理这类传统企业查询时存在以下不足:(1)不能直接兼容原有SQL语句,例如Hive只能支持类SQL语言HiveQL;缺少基于代价的查询优化功能,无法很好对多表连接等复杂查询进行优化处理;(2)不能对多个查询语句进行整体优化,无法在保证单查询执行效率的同时有效减少多个查询间冗余的任务处理;(3)不能在大数据环境下对原有的查询表结构进行优化,无法最大化利用大数据平台的查询处理优势。  本文使用了一系列查询优化技术来解决以上三个不足之处,并在目前较为成熟和通用的系统Hive上进行了实现。研究工作具体如下:  1.设计并实现了QMapper,能够将SQL语句自动映射为等价且最优的HiveQL语句。  现有的诸多大数据系统往往有自定义的查询语言,想要将关系型数据库中的SQL语句直接运行在这些系统之上是不可行的。在这种情况下,业务迁移时需要将原SQL语句按新系统的查询语言进行等价重写。然而,智能电网等传统企业的业务逻辑往往十分复杂,涉及到数目众多的存储过程,人工翻译不仅需要巨大的劳动量,而且正确率难以保证。QMapper通过分析总结SQL到HiveQL的映射方法,基于关系代数的等价变换规则,能够自动将SQL语句重写为等价的HiveQL语句。此外,一个SQL语句可能对应着多个等价的HiveQL语句,由于关系型数据库和Hadoop在计算和存储模型上存在巨大差异,一个在关系数据库中优化过的SQL查询直译为HiveQL后未必有好的执行效果。QMapper提出了一个基于代价的查询优化器,能够在这些等价的HiveQL中选择性能最优的语句作为重写方案。  2.在MapReduce环境下提出了一种面向复杂多表连接查询的多查询优化算法,并实现了相应的查询优化器MQMapper。  在现有的大数据查询优化工作中,多表连接优化和查询结果重用是两个重要的技术。前者可以对单个查询的多表连接顺序进行优化,得到单查询较优的执行方案;后者可以对多个查询间相同或冗余的任务进行合并,得到较优的多查询整体执行方案。然而,目前的工作都忽略了两者之间的联系甚至冲突。一味地为每个查询选择最优的连接方案可能失去多个查询间重要的重用机会;而盲目调整连接顺序来增加查询间的重用机会可能会导致效率极低的单个查询方案。MQMapper能够对两个技术进行权衡,在保证单个查询执行效率的情况下减少多个查询之间的任务冗余。基于TPC-H的实验表明,MQMapper相对于单独的两种技术分别有15%和20%左右的性能提升。  3.提出了一种业务迁移时的表结构优化方法,能够在大数据平台下对原有的基于关  系数据库的查询表结构进行优化设计,并实现了相应的系统TMapper。  传统企业的业务中可能包含着上千张互相连接的表。此时,关系数据库范式被用来减少数据冗余,保证查询时的数据一致性。而在诸如Hive等大数据平台,工程师更倾向于构建宽表来最大化利用系统批量读写的优势,去规范技术可以被用来优化查询效率。将传统企业的业务从关系数据库迁移至Hadoop/Hive时,我们将面临两难选择:遵守范式设计可能会失去大数据平台下的性能优势,而贸然设计去规范化方案可能会带来更多的额外开销,甚至降低查询性能。针对这一问题,本文提出了TMapper,可以在业务迁移时自动化生成高效的去规范化方案,并对原有SQL语句进行对应重写。通过分析查询负载,TMapper能够有效权衡查询效率、更新代价等影响去规范化方案效果的因素。基于TPC-H和真实数据集的实验也证明了TMapper的有效性。
其他文献
网络功能虚拟化(Network Functions Virtualization,NFV)将网络功能(NetworkFunction,NF)软件化并通过虚拟化的方式部署在通用服务器上,通过动态的服务编排和按需的资源调度有效
传统的内外存层次结构正面临着容量、能耗和I/O性能等方面的挑战。新型非易失性存储器(Non-Volatile Memory,NVM)具有集成度高、低功耗、非易失等优势,已引起学术界和工业界的广
该系统采用集中控制机制,通过设置的"控制中心"对DiffServ网的所有节点进行拥塞控制.应用"模糊控制"技术,根据拥塞点的实际状况和数据流的业务等级,进行模糊推理和运算,从而
该文在归纳、总结了数据流研究的现状的基础上提出了一个在数据流上的快速有效的密度估计算法和一个在多数据流之间发现聚类关系的层次聚类算法.具体地说,该文的贡献有以下几
Peer-to-Peer(P2P)是通过直接交换共享计算机资源和服务的一种网络体系结构。Gnutella作为一种典型的P2P网络通信协议,具有智能发现节点、完全分布式的特点,它能够有效的消除单
学位
相似时序检索技术在数据挖掘、天气预报、股票走势的分析和预测等方面有着广阔的应用前景.常见的相似时序检索技术包括:时域法、频域法、段化法和波形描述法等.扩展时序数据
地理信息系统(GIS)的广泛应用巨大地推动着社会经济的发展。但是由于对于大多数用户来说并不需要功能复杂、难于掌握的工具型GIS,而是满足一定工作需要的应用型GIS,所以GIS的二
统计机器翻译经历了从规则到统计的变革,翻译质量不断提升。最近几年,伴随着神经网络机器翻译的出现,翻译性能有了新的突破。神经网络翻译模型采用了“端到端”的翻译模式,通过一
近几年,Internet已经深入企业,企业已经不仅仅是从Internet上获取信息,企业的许多业务也延伸其上,成为企业商业活动、企业管理活动中必不可少的组成部分,是企业建设中的一个