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

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

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


  (3)查询结果估计.查询估计方法应当具有无偏性和持续性[57].无偏性是指如果不断重复采样和估计的过程,估计值的数学期望应该等于实际查询结果.持续性是指随着采样和估计步数的不断增加,估计值应该逐渐接近实际查询结果.目前已有的查询结果估计算法可以分为两类,一类是通过样本和总体数据量的大小对样本的聚集结果进行扩展[61'64].假设查询语句为SELECT〇汐(())FROM了.设随机变量为|7"|X⑴,当元组^满足查询选择条件时,rr^rrsiow#⑴的取值为rrfrrdow(i〇,否则取值为0,则总体均值"即为聚集查询结果,总体方差为ff2.根据中心极限定理,当采样数据随机且无偏时,样本数据的均值^趋近一个均值为…方差为ff2/"的正态分布.设T"是总体表了的采样数据集合,那么总体查询结果可通过用T和T"的大小比例对全表数据的⑴之和进行扩展得到.这种方法实现简单,而且支持增量计算.但是需要预先得到总体表的数据量,而且查询结果的估计受数据分布和采样质量的影响较大。
  为了解决上述问题,Pansare等人[54]提出了利用未知样本概率分布进行估计的方法,假设每个数据块在MapReduce中的调度时间和处理时间均与聚集结果相关,并针对每个数据块6/〇成构造随机变量乙=(^,f严,iProc).该方法利用贝叶斯公式,根据已处理完数据块的聚集值计算未处理样本数据聚集值的概率分布:P(0|X)=P(X|())(0),其中,表示未处理样本的聚集值;X表示已经处理完样本的聚集值.总体的查询结果通过对P(0|X)积分进行估计.这种方法通过贝叶斯理论从一定程度上消除了采样数据不均衡所带来的问题,但是算法的假设较强,而且只能支持一个MapReduce作业的查询处理,不支持由多个MapReduce作业构成的多表聚集的结果估计。
  (4)结果收敛程度计算.结果收敛程度主要用来衡量当前估计值和实际结果的差距,帮助用户判断估计结果是否达到满意的程度.目前结果收敛程度的计算方法有两类,一类采用绘制"收敛曲线"的方法体现随着查询不断进行,估计结果的变化情况[62].变化的度量标准采用以下公式计算:METi?J&=A//Ug(尺),(心)),其中,心是到目前查询进程为止的最新结果是与i/相邻的估计结果;(i)代表结果i的一个标识,它可以是完整的结果i,也可以是能够代表i的一个压缩表征;山//()用于计算两个结果标识的欧氏距离.用户可以根据收敛曲线的斜率来推测查询结果后续的变化情况.这种方法计算量不大,实现起来也比较容易,收敛曲线可以让用户直观地观察出估计结果的变化.但其缺点是无法给出估计值的精确度,而且仅仅根据相邻结果的距离来体现收敛程度还不够准确.
  另一类收敛程度衡量方法是给定置信度《,在每次采样并得到查询估计值后计算实际查询结果贫的置信区间[幻一s^+s][54,56-57,61],这意味着A落入置信区间的概率为随着查询的不断进行,置信区间的宽度逐渐变窄,用户可根据区间的宽度判断查询是否提前终止.当样本数据随机且无偏时,根据中心极限定理,置信区间可表示为其中,々是和置信度相关的分位点;-"是样本数据的方差,《是样本数据量.文献[4]通过贝叶斯公式计算未知样本的分布函数,并在此基础上使用Gibbs采样算法[654十算置信区间.通过置信区间可以比较精确的反应估计值的收敛程度,目前在云环境下的相关工作还局限于单个MapReduce作业,如何计算多表或者多个MapReduce作业构成的聚集查询的置信区间仍是待解决的问题。
  4未来工作展望
  作为一项高性价比管理海量数据的技术,云数据管理系统引起了工业界和学术界的广泛关注.本文依据云数据管理系统框架对云数据查询技术的相关工作进行了总结和分析.总体来说,目前该领域的研究工作处于起步阶段,还存在着大量有价值的研究问题:
  (1)数据分布策略.数据的组织情况会直接影响数据插入以及查询的效率,均匀的数据分布将大大提高数据存取的性能.在云数据管理系统中,数据被划分到多个节点进行存储管理,其存储的节点位置往往由每条记录的主键值决定.现有的工作一般选择单个字段或者多个字段的简单组合作为主键值,而没有考虑到对数据分布的影响.对于这个问题,可以从以下两个方面来考虑:首先根据查询类型和数据分布情况选定生成主键值的字段,这些字段的组合应当能够唯一地确定主键值,并有利于数据的分散和查询时数据记录的定位;其次,设计从多维字段的定义域到线性主键值的映射函数,该函数要保证数据分布的负载均衡,并在查询处理过程中尽可能地缩小目标数据集大小.此外,这种数据分布策略应当具有自适应性,可以根据插入数据的不断变化而进行相应的调整.
  (2)索引管理技术.目前在云数据管理系统中针对海量数据的索引已经有一些研究工作,并取得了相应的成果,在以下两个方面还有待深入研究.一方面,目前云数据管理系统中的索引方案大都是以关系数据库中的索引为基础,对其进行适当修改而成.这些索引都是基于磁盘的索引,比较适合于相对稳定的数据.但是对于数据频繁更新的情况,索引更新维护的代价比较高.因此,如何在云计算环境下,设计能支持频繁更新和多维查询的索引方案是一个富有挑战性的工作.另一方面,现有的索引大都能够支持点查询、范围查询等简单查询,但对于一些复杂查询无法提供很好的支持.特别是在一些特定的应用领域,如海量空间数据管理、海量时间序列数据管理等领域,往往需要支持一些相对比较复杂的查询.因此,针对某些特定的应用领域,设计相应的索引方案,能够支持一些特定的复杂查询,具有重要的意义。
  (3)查询优化算法.查询处理方法和优化策略对云数据管理系统来说是一个关键性的问题.目前的研究工作主要侧重在利用MapReduce处理框架实现一些关系数据库中传统的查询处理算法,或者改进MapReduce调度算法和处理流程以适应查询处理算法,但是对云计算环境下数据存储和查询处理的特点考虑得较少.云计算环境和传统的单机数据库环境相比,数据量大而且分布存储,但是数据的划分技术却不如分布式数据库中的划分技术成熟,因此数据的分布往往比较粗犷,很难利用数据划分带来的查询优势;另外为了达到较高的可用性和容错性,数据往往存在多个冗余备份,我们认为利用备份数据进行查询并行度和数据传输方面的优化是很有意义的.在进行查询优化的过程中,增加并行度可以充分利用系统的计算资源,提高查询性能,但是单纯的增加并行度可能导致传输数据代价过大,从而造成网络拥塞和计算节点的空闲等待;而单纯的最小化传输代价则可能导致数据倾斜问题加重,因此如何寻求查询并行度和数据传输代价的平衡也是一个不容忽视的问题.以上讨论的是根据优化规则生成查询计划和执行查询计划的问题,然而对不同的数据量和数据分布其最优的查询计划也不相同,如何为不同的查询选择查询计划也是一个亟待解决的问题.查询计划的选择往往通过估算其查询代价进行,代价可以通过查询总开销和总时间表示.结合云计算环境下数据和查询的特点建立不同查询算法的代价计算模型也是颇具挑战性的问题。
  (4)查询进程估计.相比于传统的分布式数据库,云计算环境中查询进程和剩余时间的估计有着更重要的作用.一方面,云环境下往往面临生物、气象等领域大规模数据的查询和分析,运行时间较长,有的查询甚至需要十几天[67],提供查询剩余时间的反馈对用户来说有很强的实用价值.另外,对于云环境下的一些查询时间较短但是实时性要求比较高的应用,进程估计会给查询任务的调度提供重要的参考.对查询代价的估算、在线聚集的实现、云环境的性能调优和资源配置等问题来说,进程估计也是一个非常关键的步骤.在云环境下实现查询进程估计不仅任务并行带来的挑战,云环境中集群规模庞大、节点异构、高出错率、和数据倾斜等特点使得这个问题解决起来更加困难.目前的研究工作主要考虑了并行的因素[16,68],但是对于其他云环境的特点没有考虑,如何在一个大规模的云环境下提供准确的查询进程估计还有很多研究工作要做。

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

联系方式

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

热门排行

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