在线客服系统

期刊库

教育   经济   科技   财会   管理   
医学   法学   文史   工业   建筑   
农学   水利   计算机   更多>>
 首 页    论文大全   论文精品    学术答疑    论文检测    出书咨询    服务流程    诚信通道    关于我们 

云数据管理系统中查询技术研究综述(6)

人气指数: 发布时间:2016-01-22 10:54  来源:http://www.zgqkk.com  作者: 史英杰 孟小峰
分享到:

 


  与基于原始MapReduce的连接算法相比,基于调整MapReduc的连接算法可以通过较少的作业完成原始MapReduc框架需要多个作业才能完成的复杂连接,因此可以减少中间结果的数据传输和检查点数量.对MapReduce框架的调整主要通过增加处理函数或者扩展部分数据流程实现,这使得原来简单易用的MapReduce框架变得复杂,也增加了编程接口的使用难度.
  3.2.3查询优化
  在数据管理系统中,对于一个给定的查询,通常有多种处理策略,查询优化技术负责从多种策略中找出最有效的查询处理计划.云数据管理系统中的查询优化可以从两个方面进行:一方面在解析查询语句并生成MapReduce计划时进行,根据数据的元信息选择执行更为高效的MapReduce计划;另一方面在执行MapReduce任务时进行,根据数据的统计和资源分配等信息构造详细的任务执行策略.已有的查询优化工作主要集中在第2个方面,下面从任务的调度、任务的处理优化两个方面对已有工作进行总结.
  (1)调度优化
  云计算是一个多用户的环境,服务提供商依据签订的相关协议向用户提供不同级别的服务,因此对不同用户提交的查询进行调度以保证服务质量是非常必要的.另一方面,云计算环境通常是分布式异构的,查询往往被分解成多个任务并行执行,根据资源的占用情况和节点的运行情况对任务进行有效的调度对查询优化有着至关重要的作用.目前针对调度的优化已经有不少工作,根据调度对象的粒度,可以把已有工作分成3个类型:查询调度[38]、皿&9尺《^";作业调度[39]和MapReduce任务调度[16'4。].
  文献[38]提出了一种在云环境下对用户提交的查询进行调度的算法iCBS.服务提供商和用户之间通过签订服务等级协议SLA(ServiceLevelAgree^ment)来保障云服务的质量和可靠性,SLA定义了为用户提供的服务标准以及服务商不能满足服务需求的惩罚代价.SLA涉及云服务中可用性、安全性等多个方面,iCBS主要关注查询响应时间.该算法根据查询的提交时间和该查询的SLA相关定义以增量的方式计算其优先系数,依据优先系数对查询进行调度,以尽量减少查询的响应时间,并减少服务提供商因不能满足SLA需求而产生的代价,CBS的时间复杂度为O(logN),其中N为查询的数量.
  文献[39]提出了一种对MapReduce作业进行调度的算法FAIR来优化作业的执行效率.传统的MapReduce作业调度方法是先进先出(FIFO)算法,这种算法实现起来比较简单,但是在多用户的环境下会影响作业的执行效率.FAIR提供了一种让用户公平获取计算资源的调度算法,它使用资源池组织作业,并把资源公平的分到资源池中.每个用户使用一个资源池,这样每个用户可以获得等同的资源分配.除此之外,FAIR允许赋给资源池保证最小共享资源(guaranteedsharedresourece),这样可以保证特定用户、群组或生产应用程序总能获取到足够的资源oPhan等人[40]关注异构环境下MapReduce作业的任务调度优化,把每个任务的执行时间、心跳检测时间间隔、数据输入时间等5个变量组合成约束集合,以最小化作业的延迟相应时间为目标函数,将MapReduce作业调度问题转化成约束满足问题(ConstraintSatisfactionProblem,CSP)进行解决.文献[6]的调度粒度也是MapReduce任务,主要关注掉队任务(stragglertask)的调度优化.在传统的MapReduce调度中,为了防止作业执行过程中"木桶效应"的出现,会将掉队任务进行备份执行.然而原有的掉队任务调度方法假设集群环境的同构性和任务执行的等速性,这在实际的云计算环境中往往是无法保证的.基于上述问题,文献[16]提出了LATE算法,根据所在节点的性能预测每个任务的剩余完成时间,并选择剩余时间最长的任务作为掉队任务进行调度.在调度过程中,如果有空闲的任务槽位(taskslot)出现并且正在运行的任务总数小于特定阈值,则创建该任务的执行副本.该算法需要对所有正在运行的任务进行剩余时间的预测和排序,算法复杂度为〇(M),M为正在运行的任务个数.
  (2)任务处理优化
  基于MapReduce实现云数据的查询可以获得良好的扩展性、容错性以及较高的性价比,然而粗犷的批处理模式导致基于原始MapReduce框架的查询性能有很大的提升空间.查询任务处理的优化问题引起了学术界的广泛关注,已有的优化措施包括以下几种:
  ①任务共享.云环境中的数据查询通常是以批处理的方式处理大规模数据,在该模式下通过查询之间的任务共享来减少冗余计算将有效减少查询执行时间和耗费的计算资源.只^^[9]提供了一种用户自定义模式的数据扫描共享(scanshare),如果两个作业的输入数据文件相同,则会创建一个新的MapReduce作业负责数据的读入和解析,并为两个作业产生相应的临时输入文件.这种任务共享方法增加了一个MapReduce作业,而且还需要用户自已定义共享函数.另一类任务共享方法是把满足共享任务条件的作业分到一个组中,使用一个MapReduce作业来完成原来多个作业需要完成的工作,不需要用户自定义,也不需要产生临时文件[41-44].文献[42-43]主要支持数据扫描共享,而文献[43-44]则支持扫描共享、Map输入Map输出以及Map函数的共享.
  ②增量计算o目前在大多数云数据管理应用中,查询的数据规模往往随着新数据的产生而不断增加.如何使查询流程增量化,并利用已有的查询结果处理新的查询也是目前学术界关注的一个问题.根据增量计算的触发方法,已有的工作可以分为两类:对用户不透明的方法[45-46]和透明的方法[42,7-48].Google的Percolator建立在GFS-BigTable之上,它通过快照隔离实现了跨行和跨表数据的一致性,使得用户可以跟踪计算过程中的状态,并实现增量计算[5].Yahoo!的CBP提出了一个新的并行编程模型,用来存储和使用运行状态,并实现查询的增量处理[6].这两种方法的基本缺陷是要求用户自己编写动态程序来对数据进行有效的增量处理.Nova[42]在Pig/Hadoop基础上创建了一个数据流管理器,用来管理不同查询的数据集和查询结果,并支持有状态的数据追加操作.当查询提交后,管理器判断该查询任务是否可以利用已有的结果进行增量计算.与Nova不同,HaLoop[47]和Incoop[48]从MapReduce任务的层次进行增量计算的处理.Incoop在分布式文件层使用基于内容的数据块划分方法来增加map任务的重用度,并通过在combine阶段将混洗的数据粒度减小来最大化reduce任务的重用度.

期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
  本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


  【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

 
QQ在线咨询
投稿辅导热线:
180-1501-6272
微信号咨询:
fabiaoba-com
咨询电话:18015016272 投稿邮箱:zgqkk365#126.com(#换成@)
本站郑重声明:文章只代表作者观点, 并不意味着本站认同。所载文章、数据仅供参考,使用前请核实,风险自负。
部分作品系转载,版权归原作者或相应的机构   若某篇作品侵犯您的权利,请来信告知.版权:周口博闻教育咨询有限公司 
Copyright © 2005-2023 . 期刊库 版权所有