一种云计算环境下的查询重写与优化系统QMapper

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:maqianjin123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近几年MapReduce的出现推动了云计算技术的快速发展,低成本与高可伸缩性使其得到广泛应用。同时,为了增强了用户代码的可维护性,用于将高层查询语言转换为MapReduce的Hive、Pig等系统应运而生。这些系统在互联网企业中最为流行。然而,随着数据量的激增,对于传统企业来说寻求一个高性能、高可靠以及低成本的需求也变得尤为突出。Hive和Hadoop平台对传统企业来说无疑是一个优秀的数据分析平台。  然而,与互联网企业不同的是,传统企业中有许多已有的基于RDBMS的数据分析应用。如何将已有应用迁移到新的云计算平台成为一个严峻的挑战。考虑到语法层次的差异以及RDBMS与MapReduce代价模型的不同,手工将SQL转换为HiveQL是费时且困难的:一方面手工转换容易造成错误,另一方面经常导致较差的性能。本文设计并实现了一个原型系统QMapper,提出一个基于规则的查询重写器以及基于代价的查询优化器。具体工作包括以下几个方面:  (1)设计并实现QMapper原型系统,它可以实现从SQL至HiveQL的自动转换和优化。本文工作集中于针对Hive和Hadoop的改写规则和代价模型,我们将改写规则与代价模型设计为可扩展的模式,因此未来QMapper可以进一步应用于兼容HiveQL的其他系统,例如Shark和Impala。  (2)设计了基于规则和代价的混合查询重写器。本文提出的基于规则的查询重写器可以完成SQL中的DML以及包含EXISTS等子查询操作符至HiveQL的自动转换。另外,本文设计了一个基于代价的JOIN优化器。传统的关系型数据库通常采用搜索最优Left-deep树的方式来组织JOIN,本文提出的算法同时考虑Left-deep与Bushy两种结构,以实现中间数据量与任务并行度的平衡。  (3)提出一个MapReduce任务和MapReduce任务流的代价估计模型。通过对MapReduce各阶段代价的仔细分析,本文提出的代价模型结合了MapReduce框架本身的代价消耗以及Hive层面的操作符代价,并将PostgreSQL中的统计信息收集算法实现到MapReduce上,利用PostgreSQL数据库中的基数估计模块,该模型可以用来评估一个HiveQL查询的性能。与其他已有工作不同的是,本文提出的代价模型主要通过描述MapReduce各阶段中的关键I/O消耗和基于Hive操作符的白盒模型,来体现查询性能。这种方法无需对查询语句进行预先执行,通过执行预先设计好的查询“探针”收集参数,这些参数可以直接应用于评估新提交的查询请求。
其他文献
该文主要研究CAD系统的基于ActiveX自动化技术的用户接口设计.基于组件对象模型,该文通过构建对象层次模型,提出服务端提供给客户端所需接口的一种设计方法,实现客户端对服务
学位
分布式系统中的任务调度对提高系统的运行效率、任务平均响应时间以及保证任务的可靠执行有着重要影响.根据待执行任务之间是否存在偏序关系或相关性,在调度过程中需要考虑的
为了使从医学影像设备获取的医学图像更好地服务于现代医学诊断和辅助治疗,需要对医学图像进行滤波处理,使其保留具有重要诊断意义的边缘细节信息。综合分析比较各种去噪算法,基
图像作为一种多媒体信息载体,凭借其直观的表达方式和低廉的传输开销,在信息的衍生和传播过程中发挥着越来越重要的作用。然而,随着拍照设备的日益普及和社交网络的迅速推广,互联
该文结合笔者在天津内燃机厂开发Intranet环境下企业综合信息系统的实践,依据软件工程的原理,从技术和应用角度对建设企业综合信息系统进行了初步探讨和研究.该文首先介绍了
在模式识别问题中的分类器设计中,正则化技术被广为使用,并在理论与实际应用上取得了瞩目的成就。但是,正则化技术也面临着如何提高分类器的推广性能、如何更多的融合数据的
蜕变测试充分挖掘成功测试用例所包含的信息并加以应用,有效地解决了软件测试的Oracle问题。影响蜕变测试效果的两大关键因素是原始测试用例的生成和蜕变关系的选择/生成,本文
学位
该文就是对VPN的各种实现机制,包括VPN的逻辑结构、寻址方式、封装方案、路由机制、安全性能、传输效率、等各方面进行分析,对实现VPN的一些基本模型,如使用IP Sec ,VPND,PPT