• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 9
    • 下载费用:30 金币  

    重庆时时彩哪些平台好: 基于数据量的查询连接方法.pdf

    关 键 词:
    基于 数据量 查询 连接 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201410124531.1

    申请日:

    2014.03.28

    公开号:

    CN103927346A

    公开日:

    2014.07.16

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20140328|||公开
    IPC分类号: G06F17/30 主分类号: G06F17/30
    申请人: 浙江大学
    发明人: 陈岭; 周强
    地址: 310027 浙江省杭州市西湖区浙大路38号
    优先权:
    专利代理机构: 杭州天勤知识产权代理有限公司 33224 代理人: 胡红娟
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410124531.1

    授权公告号:

    ||||||

    法律状态公告日:

    2017.02.15|||2014.08.13|||2014.07.16

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种基于数据量的查询连接方法。该方法在大数据实时查询中深入考虑列式文件读取等特性来进行代价估算,确保生成最佳的连接顺序,其主要包括:首先进行元数据服务器的构建工作;然后完成统计信息的收集;其次通过查询元数据服务器获取参与连接的各表的相关统计信息;接着根据统计信息进行选择度及数据量等相关参数的估算工作;最后通过计算各个执行计划相应代价找出最佳的连接顺序。该方法可提升代价估计的准确性,从而保证找到执行计划为最优,有效提高整体查询的效率。

    权利要求书

    权利要求书
    1.  一种基于数据量的查询连接方法,其特征在于,包括:
    步骤1,向元数据服务器提交查询请求,获取参与连接的各表所对应的统计信息;
    步骤2,根据获取到的统计信息估算得到当前执行计划中所有表的数据量;
    步骤3,重复步骤1及步骤2,直至遍历执行计划的搜索空间,找出具有合适数据量使得查询代价最小的执行计划,按该执行计划中的连接顺序进行表的连接。

    2.  如权利要求1所述基于数据量的查询连接方法,其特征在于,其中,元数据服务器构建方式为,选取关系型数据库并设计列级别的表模式,根据设计好的表模式在相应的关系型数据库中创建元数据库及表关系,构建元数据服务器。

    3.  如权利要求1所述基于数据量的查询连接方法,其特征在于,元数据服务器中存储的统计信息为每张表所对应的统计信息,所述统计信息根据设计的表模式对表进行统计得到。

    4.  如权利要求1所述基于数据量的查询连接方法,其特征在于,所述关系型数据库为:MYSQL数据库,Derby数据库或Oracle数据库。

    5.  如权利要求1所述基于数据量的查询连接方法,其特征在于,统计信息包括:列名、列中数据值的下界、列中数据值的上界、表中列数据为空的数量、表中列数据不同值的数量、列中字段数据的平均数据量以及列中字段数据的最大数据量、表或视图的总行数。

    6.  如权利要求1所述基于数据量的查询连接方法,其特征在于,其中,元数据服务器以及统计信息在元数据服务器中的存储均在离线状态下完成。

    7.  如权利要求1所述基于数据量的查询连接方法,其特征在于,在步骤2中,每个表的数据量根据该表所对应的选择度、字段平均数据量和表的总行数计算得到。

    8.  如权利要求7所述基于数据量的查询连接方法,其特征在于,选择度的估算方法为,根据查询中的查询条件及统计信息进行相应计算,得到表中满足查询条件的行在所要查询的对象集合中所占的比例。

    9.  如权利要求8所述基于数据量的查询连接方法,其特征在于,每张表数据量size的计算公式如下:
    size=selectivity×numsOfTableLine×Σi=1javgColSizei]]>
    selectivity表示查询的选择度,numsOfTableLine为表或视图的总行数,avgColSizei表示需要返回的表中第i列字段的平均数据量,j为表的列数。

    说明书

    说明书基于数据量的查询连接方法
    技术领域
    本发明涉及大数据实时查询优化技术领域,尤其涉及一种基于数据量的查询连接方法。
    背景技术
    大数据实时查询是重要的大数据技术,现有的大数据查询系统有Google Dremel、Cloudera Impala、Berkeley Shark、Apache Drill等。大数据实时查询一般采用分布式计算架构,由于弱化了对事务等功能的支持,所以相对于关系型数据库集群具有更高的可扩展性。同时由于大数据实时查询能很好的满足实时查询的用户需求,因此其在互联网、智慧城市等领域有广阔的应用空间。
    多连接顺序查询优化是数据库管理系统的重要组成部分,在大数据实时查询技术领域中同样具备不可替代的重要性。其通过采用一定的优化方法,不断遍历执行计划的搜索空间,找出最佳的连接顺序,以生成最佳的执行计划,从而提升大数据查询系统的性能,满足用户查询的实时性需求。
    由于代价估计是多连接顺序查询优化过程中非常重要的部分,能否给出一种有效的查询代价估计方法是查询优化有效实现的关键。传统的代价估计方法是一种基于表基数的方法,通过该方法能够有效的解决传统代价估算问题,从而保证找到符合代价模型的最佳执行计划。但在分布式数据库系统或数据仓库中,存在以列式文件格式存储的数据表,该格式文件是为了优化底层数据进行读取时的I/O性能及减少数据传输数据量,以RCFile文件为例,该文件是一种先按行横向切分然后按列纵向切分的文件格式,其将仅读取和传输所需的数据列。在对有列式文件格式存储的数据表参与连接时,采用传统基于表基数的代价估计方法进行估算时,其结果可能会产生严重的偏差,进而导致连接顺序优化算法找出符合代价模型的执行计 划并非为最佳,即找到的连接顺序并非为最优,以致使得整个查询延迟更高。
    发明内容
    本发明要解决的技术问题是如何确保大数据实时查询系统进行多连接顺序优化时提升其代价估计的准确性,从而提升查询整体的效率。为了解决上述传统基于表基数进行代价估算存在的问题,本发明提出了基于数据量的多连接查询代价估计方法,考虑了用户提交的查询中参与连接的部分关系可能以列式文件存储,通过深入考虑列式文件读取等特性,增加更细粒度的统计信息,利用每个字段的平均长度以估算查询的连接中间结果大小,从而有效的确保代价估算的准确性。
    一种基于数据量的查询连接方法,包括:
    步骤1,向元数据服务器提交查询请求,获取参与连接的各表所对应的统计信息;
    步骤2,根据获取到的统计信息估算得到当前执行计划中所有表的数据量;
    步骤3,重复步骤1及步骤2,直至遍历执行计划的搜索空间,找出具有合适数据量使得查询代价最小的执行计划,按该执行计划中的连接顺序进行表的连接。
    其中执行计划的搜索空间是指所有执行计划所得到的表连接顺序的集合。
    本发明以数据量作为查询代价来确定多连接查询中连接的顺序,从而确保大数据实时查询系统进行多连接顺序优化时提升其代价估计的准确性,从而提升查询整体的效率。
    其中,元数据服务器构建方式为,选取关系型数据库并设计列级别的表模式,根据设计好的表模式在相应的关系型数据库中创建元数据库及表关系,得到元数据服务器。
    为了能够为查询系统提供表级别、分区级别和列级别等三种粒度的统计信息,设计相应的表模式需要符合适当的范式,同时在能够完成代价估 计的前提下,尽量减少不必要的存储开销。
    元数据服务器中的统计信息为每张表所对应的统计信息,所述统计信息根据设计的表模式对表进行统计得到。
    统计信息的细粒度根据表模式的细粒度得到由于表模式为列级别模式,因此统计信息包括列级别的统计信息。
    所述关系型数据库为:MYSQL数据库,Derby数据库或Oracle数据库。
    根据企业用户及系统的实际需求,选取合适的关系型数据库作为大数据实时查询系统的元数据服务器。
    统计信息包括:列名、列中数据值的下界、列中数据值的上界、表中列数据为空的数量、表中列数据不同值的数量、列中字段数据的平均长度以及列中字段数据的最大长度、表或视图的总行数。
    元数据服务器以及统计信息在元数据服务器中的存储均在离线状态下完成。
    由于元数据服务器的构建及统计信息的收集都是离线完成,使得实际进行查询时进行统计信息的返回不需要耗费多少运行时开销,极大地降低了代价估计的时间延迟。
    在步骤2中,每个表的数据量根据该表所对应的选择度、字段平均数据量和表的总行数计算得到。
    选择度根据统计信息所得的列中数据值的下界、列中数据值的上界等统计信息以及连接查询中相关条件,其中一般用selectivity表示。
    选择度的估算方法为,根据查询中的查询条件及统计信息进行相应计算,得到表中满足查询条件的行在所要查询的对象集合中所占的比例。
    其中的对象集合为是表、视图或者中间结果的集合。
    数据量size的计算公式如下:
    size=selectivity×numsOfTableLine×Σi=1javgColSizei]]>
    selectivity表示查询的选择度,numsOfTableLine为表或视图的总行数,avgColSizei表示需要返回的表中第i列字段的平均数据量,j为表的列数。
    相较于传统基于表基数的估算方法,其不仅依赖于查询中间结果产生的行数大小,而且同时也将估算的数据量考虑在内,从而提升代价估算的准确性。
    本发明的优点包括:
    针对传统基于表基数的代价方法存在估算不准确的问题,深入考虑列式文件读取等特性,增加更细粒度的统计信息,有效提升了代价估算的准确性。
    通过元数据服务器存储和维护表相关统计信息,避免多次进行大量的分析工作,减少了运行时开销,提升了代价估计的效率。
    附图说明
    图1为本发明方法一个实施例基于数据量的查询连接方法总体流程图;
    图2为本发明当前实施例所采用的查询处理架构图;
    图3为本发明当前实施例中元数据服务器构建流程图;
    图4为本发明当前实施例中统计信息收集流程图;
    图5为本发明当前实施例中统计信息查询流程图;
    图6为本发明当前实施例中数据量估算流程图;
    图7为本发明当前实施例中连接顺序生成流程图。
    具体实施方式
    本发明提出了基于数据量的查询连接方法,在进行查询时对多连接查询进行代价估计,代价估计方法的总体流程如图1所示。其首先进行元数据服务器的构建工作;然后完成统计信息的收集;其次通过查询元数据服务器获取参与连接的各表的相关统计信息;接着根据统计信息进行选择度及数据量等相关参数的估算工作;最后采用基于数据量的估计方法计算各个执行计划相应代价找出最佳的连接顺序。
    为了更直观的介绍本发明提出的方法在查询优化中的作用,现给出查询处理的架构如图2所示,其阐述了基于数据量的代价估计??橛肓铀承蛏赡?橹涞墓叵?。其中,连接顺序生成??橹杏上喙赜呕椒ń?执行计划搜索的工作,而基于数据量的代价估计??橹饕纱勰P图癕etaStore两部分组成,以完成代价估计的工作。对于用户提交的查询,经过解析后将由多连接顺序查询优化方法以完成顺序优化的工作,其在进行执行计划搜索的过程中,需要调用相关代价估计??榻写鄣墓浪愎ぷ?,以确保找到符合给定代价模型的最佳连接顺序。
    本发明提出的基于数据量的多连接查询代价估计方法的步骤包括:
    在进行查询连接之前首先需要构建元数据服务器并将元数据服务器中的表中所存储的统计信息。
    关系型数据库并设计表模式,构建元数据服务器。
    为了基于数据量的代价估计方法能够得以高效实现,首先需要进行元数据服务器的构建工作,其流程如图3所示,具体步骤如下:
    根据企业用户及系统的实际需求,选取合适的关系型数据库(如MYSQL数据库、Derby数据库)作为大数据实时查询系统的元数据服务器;
    为了能够为查询系统提供表级别、分区级别和列级别等三种粒度的统计信息,设计相应的表模式需要符合适当的范式,同时在能够完成代价估计的前提下,尽量减少不必要的存储开销;
    根据设计好的表模式在相应的数据库服务器中创建元数据库及表关系,以供后续步骤使用。
    根据所设计好的表模式,分析每张表中的关系并将相应统计信息存储到元数据服务器中以完成统计信息的收集;
    为了对解析后的查询进行连接顺序优化工作,在创建元数据服务器之后需要完成统计信息收集的工作,其流程如图4所示,具体步骤如下:
    为了减少连接顺序优化过程中代价估计获取统计信息的开销,首先通过相应的分析语句或工具对经常进行连接查询的表进行分析工作;
    对分析后的表进行相关统计信息的收集工作,并将该统计信息存储到元数据服务器的相应表中,为了更好的完成基于数据量的代价估计,需要收集包括字段平均长度AVG_COL_LEN等列级别的统计信息,其在进行表模式设计的过程中给出。其中统计信息包括:列名、列中数据值的下界、列中数据值的上界、表中列数据为空的数量、表中列数据不同值的数量、 列中字段数据的平均数据量以及列中字段数据的最大数据量、表或视图的总行数。
    元数据服务器(即元数据库)的创建以及统计信息的收集均为离线完成,接着进行查询。
    步骤1,通过向元数据服务器提交查询请求以获取参与连接的各表的相关统计信息;
    该步骤主要完成相关统计信息的查询及获取工作,其流程如图5所示,具体步骤如下:
    为了得到查询中参与连接的各表的相应统计信息,需要由查询优化??橄蛳嘤υ莘衿魈峤徊檠肭?;
    由元数据服务器返回各表关系相应的统计信息,以完成统计信息的获取工作,从而用于下阶段相关参数的计算。
    由于元数据服务器的构建及统计信息的收集都是离线完成,故该步不需要耗费多少运行时开销,极大的降低了代价估计的时间延迟。
    步骤2,根据获取到的统计信息估算得到当前执行计划中所有表的数据量。
    其中执行计划是指以不同的表连接顺序进行的查询。
    在进行执行计划的相应代价估计之前,需要完成相关参数的估算工作,相关参数包括选择度和数据量的计算其流程如图6所示,具体步骤如下:
    通过上一步骤中获取到的相关统计信息,首先进行参与连接的各表选择度的计算,步骤2-1,根据连接查询中的查询条件及统计信息进行相应计算,得到满足条件的行在所要查询的对象集合中所占的比例。
    对于查询中包含的任意两个查询条件,满足的不同关系相应的计算公式不同:
    查询同时满足查询条件A和查询条件B时的选择度selectivity(AandB)的计算公式为:
    selectivity(AandB)=selectivity(A)×selectivity(B)    (1)
    其中,selectivity(A)表示单个查询条件A的选择度,selectivity(B)表示单 个查询条件B的选择度;
    查询满足查询条件A或查询条件B时的选择度selevtivity(AorB)计算公式为:
    selevtivity(AorB)=P(A)+P(B)-selectivity(AandB)    (2)
    P(A)表示查询条件A的出现概率,P(B)表示查询条件B的出现概率;
    查询满足排除查询条件A时选择度selectivity(notA)的计算公式:
    selectivity(ntoA)=1-selectivity(A)    (3)
    任意两个查询条件A和B之间所满足的关系为:同时满足、满足A或满足B,查询条件还可能为不包含A。包含多个查询条件且包含查询条件之间多个关系时,可分别根据上述公式对其中的查询条件进行两两组合,根据各个组合所满足的关系进行计算,得到最终的选择度。
    步骤2-2,根据步骤2-1所得的选择度计算每个表的数据量,计算公式如下:
    size=selectivity×numsOfTableLine×Σi=1javgColSizei---(4)]]>
    selectivity表示步骤2-1计算所得选择度,numsOfTableLine为表或视图的总行数,avgColSizei表示需要返回的表中第i列字段的平均数据量,j为表的列数。
    将式(4)计算所得的各个表数据量输入代价模型,进行多连接查询的代价估算,从而得到不同执行计划所得的代价。相较于传统基于表基数的估算方法,其不仅依赖于查询中间结果产生的行数大小,而且同时也将估算的数据量考虑在内,从而提升代价估算的准确性。
    步骤3,重复步骤1及步骤2,直至遍历执行计划的搜索空间,找出数据量最小的表连接顺序进行连接。
    为了能够找到最佳的连接顺序,执行计划的搜索过程中需要使用本发明提出的基于数据量的代价估计方法,其流程如图7所示,具体步骤如下:
    根据所采用的连接顺序优化方法进行执行计划的空间搜索工作(即重复步骤1及步骤2),其通过考虑实时查询系统的特性并同时增加相应的剪枝技术以优化执行计划搜索的性能,减少算法本身执行的查询延迟;
    通过步骤2得到相应执行计划的数据量的估算值,找出满足给定代价模型的执行计划,并进行存储;
    根据上述步骤找出的最佳执行计划,以生成最佳的连接顺序,由于采用了本发明提出的代价估算方法,从而有效提高了代价估计的准确性。

    关于本文
    本文标题:基于数据量的查询连接方法.pdf
    链接地址://www.4mum.com.cn/p-6116841.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 新疆11选5预测 打麻将带什么东西会赢 江苏快3网站 河南十一选五选胆技巧 英雄杀白起台词 广西快乐10分官网手机网 金蝉捕鱼516棋牌游戏 重庆幸运农场开奖走势 广东时时彩走势图 单双中特平 上证指数历史走势 体彩浙江十一选五走势图基本走势图 真钱手机捕鱼游戏下载 九号影视投资能赚钱吗 南粤36选7最新开奖结果查询 888棋牌下载网址