期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

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

时间:2016-03-01 14:54 文章来源:http://www.lunwenbuluo.com 作者:史英杰 孟小峰 点击次数:


  ②增量计算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任务的重用度。
  ③数据组织优化.云数据管理系统中的数据被分布到多个节点进行管理,在进行查询特别是多表查询时,需要在各个节点间进行数据传输.如果较多的相关数据存储在一个节点上,那么网络传输代价就会减少,查询时间也会随之减少,因此数据的组织方式会对查询性能产生很大的影响[49].HadoopDB将数据从分布式文件系统导入到每个节点上的关系数据库系统中,这样可以在本地的关系数据库上分别执行连接[8].Hadoop++[5°]将数据组织优化模块植入Hadoop系统之上,主要关注两表连接时的查询优化.Had〇〇p++在数据导入时对输入数据建立"特洛伊"索引,并将具有相同连接键值的数据放入同一个数据分片中,这样在实现连接时不需要进行数据的网络传输.该方法没有修改Hadoop,而是在导入数据时进行数据的重新组织.C〇Had〇〇p[51]则是修改了Hadoop的数据组织方法,为每个文件增加了"Locator"属性来标识其位置,而所有具有相同"Locator"属性的文件的数据块将被组织到同一个数据节点集合中。
  除了上述查询优化方法,目前还有部分工作对MapReduce的参数设置进行优化[52-53],其中文献[2]通过分组的数目对reducer个数进行优化,而文献[53]则是通过估计MapReduce作业的执行时间提供对多个参数的基于代价的优化.总的来说,目前已有的优化工作主要集中在数据控制层和数据存储层,而且大部分是基于规则的优化,基于代价的优化工作还比较少,亟待相关研究成果。
  3.2.4在线聚集
  在线聚集(OnlineAggregation,OLA)在查询处理过程中根据采样数据估计查询结果,并返回真实结果所在的置信区间[54].在线聚集的最大优势是可在较短时间内计算出接近实际的查询结果,当置信度和置信区间达到用户要求时,查询即可提前停止.对于原本执行时间特别长而且对结果精确性要求不高的复杂查询,在线聚集可以大大缩短查询时间.在线聚集最初提出是在单表上进行聚集的相关操作[55-56],后来该工作被扩展到多表连接基础上的聚集操作[57-59]以及并行环境中的连接聚集[6M1].在线聚集基于关系数据库提出,并在研究领域取得了丰富的成果,但是相关成果在关系数据库领域带来的市场价值却很有限,原因有两点:首先,OLA要求查询处理的数据以随机顺序出现,这与排序、索引等查询优化算法的原则相违背,因此在已有的关系数据库系统上实现OLA需要对其内核进行大规模改动;其次,OLA的最主要目标是缩短查询运行时间和节省软硬件资源,然而在一个非弹性的数据中心,这个目标的吸引力并不大.在云计算环境下,OLA技术又重新引起了人们的关注.一方面,云计算提供了一种pay-as^yoirgo的服务模式,节省计算资源直接意味着节省开销;另一方面,不同于传统的关系数据库,云数据管理系统内核轻量易于修改.目前在云计算上的OLA已经有一些初步的工作,主要是在MapReduce框架上实现大规模数据的查询估计.其相关技术包括MapReduce在线化、数据采样、查询结果估计和收敛程度计算,下面我们分别分析这些技术的已有工作。
  (1)MapReduce在线化.传统的MapReduce数据流是一个批处理的过程,无论是map任务还是reduce任务,必须处理完所有数据后才产生输出结果,而且reduce任务也必须在所有的map任务完成后才开始执行.OLA要求数据流是一个在线处理的过程,处理完部分样本数据后就输出估计的查询结果,MapReduce的在线化处理[2-63]为云环境下的OLA提供了实现平台.文献[2]的MapReduce在线化主要面向"自增迭代"的算法,通过map定期传送数据给reduce实现作业内部的在线化,并通过集群"共享内存"实现作业之间的在线化.这种在线化方法结构简单,易于实现,但是其扩展性及容错性不及传统的MapReduce.Condie等人[3]基于操作器(operator)之间数据流水线实现了在线化的MapReduce系统HOP.HOP结合网络负载状况以及combme操作的压缩比等因素设计数据流控制机制,从而动态控制mapper与reducer之间的数据传输粒度.当一个查询由多个MapReduce作业构成时,生产作业根据任务执行进度定期调用reduce并生成快照文件(snap
shot),消费作业通过读取快照文件从而实现数据在作业之间的流水化.HOP保留了传统MapReduce的扩展性和容错性,比较适合作为在线聚集的实现平台。
  (2)数据采样.为了保证估计结果和置信区间的准确性和收敛速度,在线聚集要求采样数据具有随机性和无偏性[55-56].从关系数据表进行采样的方法主要有三类[56,64]:顺序扫描、索引扫描和索引采样.Wu等人[1]提出了从分布式数据表采样的方法,首先根据表在各节点上的分布情况计算每个节点应采样的数据量大小,然后在每个节点上进行索引采样.在云环境下,很多数据以块(block)为单位直接存储在分布式文件系统上,MapReduce处理数据也通常以块为单位,因此上述基于关系数据库的采样方法无法直接使用.目前很多MapReduce的在线聚集工作假设数据以随机顺序存储或者假设一个随机数据输入队列的存在,通过顺序扫描数据队列即可获得随机无偏的数据.然而当数据以聚集相关列的顺序存储时,简单的顺序扫描便无法获取随机数据,因此在云环境下如何从直接存储在分布式文件中的数据中进行随机采样仍然是亟待解决的问题。

  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15380085870
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

联系方式

  • 论文投稿客服QQ: 论文投稿2863358778
  • 论文投稿客服QQ: 论文投稿2316118108
  • 论文投稿电话:15380085870
  • 论文投稿邮箱:lunwenbuluo@126.com

热门排行

 
QQ在线咨询
咨询热线:
15380085870
微信号咨询:
lunwenbuluoli