物化视图选择和优化方法及装置制造方法及图纸

技术编号:23251233 阅读:28 留言:0更新日期:2020-02-08 04:32
本发明专利技术涉及计算机数据处理领域,提出了一种物化视图的选择和优化方法,旨在解决海量数据环境下物化视图的选择、优化和更新问题。该方法包括:获取数据库的信息,根据信息从数据库中获得的带有聚集函数的分组数据,并生成分组数据集合;分解分组数据的非分布式聚集函数,生成分组数据的分组数据元,得到分组数据元集合;将具有相同的数据维度、聚集操作表达式的分组数据元确定为同一分组数据族;建立每个分组数据族所对应的统计二叉树模型,由此建立面向物化视图优化的最小线性规划模型,得到优化的物化视图集合,基于物化视图集合,重构分组数据,依据与物化视图相关的事实表的变化,更新物化视图。该方法能够在海量数据的统计分析中快速响应。

Method and device of materialized view selection and optimization

【技术实现步骤摘要】
物化视图选择和优化方法及装置
本专利技术涉及数据库和数据仓库
,具体涉及海量数据环境下的物化视图选择和优化技术,特别涉及一种物化视图选择和优化方法及装置。
技术介绍
随着大数据时代的来临,从海量的数据中分析和挖掘出具有某类特征的数据变得越来越重要。对海量数据的分析和挖掘成为越来越多的企业决策分析和科学管理的必要手段。但是随着企业数据的逐渐增加,查询响应时间越来越长,物化视图(MaterializedView,MV)是一种有效的查询手段,它是通过预先计算和保存中间结果来提高数据访问时间的物理结构,能够大幅缩短查询响应时间。然而,使用物化视图需要额外的存储空间,并需要在数据更新时承担维护费用。物化视图的选择是在考虑查询性能的情况下,如何选择一个合适的视图集合进行物化,使得总成本最小。物化视图选择问题是NP(Non-DeterministicPolynomial,非确定多项式)问题。目前,物化视图的选择主要有:基于数据立方体的方法,基于MVPP(Multi-ViewProcessingPlan,多视点处理)的方法和基于AND-OR图的方法。但由于用户查询的复杂性,这些方法在实际应用的过程中也存在一些不足,主要包括:计算复杂度较大,假设查询均匀分布,不能处理嵌套查询等。
技术实现思路
为了解决现有技术中的上述问题,即为了解决在实际应用的过程中计算复杂度较大,假设查询均匀分布,不能处理嵌套查询等问题,本专利技术采用以下技术方案以解决上述问题:第一方面,本申请提供了物化视图选择和优化方法,该方法包括如下步骤:步骤1:获取与数据库相关的数据库信息,根据上述数据库信息从上述数据库中获得的带有聚集函数的分组数据以及各个上述分组数据的查询频率,并生成分组数据集合;其中,上述分组数据集合包括各分组数据的查询频率上述信息包括上述分组数据的字段列表、聚集函数的聚集操作表达式。步骤2:分析上述数据库中的事实表和维度表,获得各上述分组数据的数据维度和数据粒度。步骤3:分解上述分组数据集合中分组数据的非分布式聚集函数,生成分布式聚集函数。步骤4:解析上述分组数据集合中的每组分组数据,生成上述分组数据的分组数据元,得到分组数据元集合。步骤5:将上述分组数据集合中的具有相同的数据维度,以及相同的聚集操作表达式分组数据元确定为分组数据族。步骤6:建立每个分组数据族所对应的统计二叉树模型,并基于上述统计二叉树模型建立面向物化视图优化的最小化综合线性规划模型,得到优化的物化视图集合。步骤7:基于物化视图选择和优化得到的优化物化视图集合,重新构造上述分组数据集合中的每一组分组数据。步骤8:依据与物化视图相关的事实表的变化,对上述物化视图的数据作同步变化。在一些示例中,上述聚集操作表达式包括独立聚集操作表达式和可分性聚集操作表达式,上述独立聚集操作表达式是由所述数据库中原始数据字段所构成的表达式,上述可分性聚集操作表达式是由多个独立聚集操作表达式通过算数运算式构成的表达式。在一些示例中,步骤3中生成分布式聚集函数,其方法为:分解上述非分布式聚集函数的聚集操作表达式,得到元聚集操作表达式;上述元聚集操作表达式为不包含聚集函数的表达式;依据上述非分布式聚集函数所分解出的元聚集操作表达式,生成分布式聚集函数。在一些示例中,上述“分解上述非分布式聚集函数的聚集操作表达式,得到元聚集操作表达式”,其方法包括:步骤31,判断上述聚集函数的中聚集操作表达式的类型;如果上述聚集操作表达式为独立聚集操作表达式,执行步骤32;如果所述聚集操作表达式为可分性聚集操作表达式,执行步骤33。步骤32,判断所述聚集操作表达式中是否包含聚集函数,如果不包含执行步骤321,否则执行步骤322。步骤321,所述聚集操作表达式为元聚集操作表达式;步骤322,按聚集函数的嵌套顺序从最外层逐步向内分解,直至所述聚集函数的聚集操作表达式中不包含聚集函数为止所得的表达式为所述聚集操作表达式的元聚集操作表达式。步骤33,分解所述聚集操作表达式为多个独立聚集操作表达式,并从所述多个独立聚集操作表达式中获得所述聚集操作表达式的全部元聚集操作表达式。在一些示例中,上述步骤4中所述分组数据元集合,其生成方法包括:提取上述分组数据集合各分组数据的数据维度、数据粒度序列和聚集操作表达式;构建分组数据的全部分组数据元,生成面向分布式聚集函数的分组数据元集合;上述分组数据元中只包含一个元聚集操作表达式。在一些示例中,上述步骤5中所述分组数据族,其构建方法包括:从各上述分组数据中选取的数据维度、元聚集操作表达式相同的分组数据;将具有相同数据维度、元聚集操作表达式的分组数据确定为同一分组数据族。在一些示例中,上述步骤6中建立每个分组数据族所对应的统计二叉树模型,其方法包括:提取上述分组数据族中维度集合{d1,d2,...,dn};上述维度集合{d1,d2,...,dn}中任一维度di=[1,...,ni]的节点记为<x1,x2,...,xn>;当维度集合包含的维度的数量为n时:节点<x1,x2,...,xn>记为节点<<x1,x2,...,xn-1>,xn>;xn>1时,右子枝节点<x1,x2,...,xn>R=<x1,x2,...,xn-1>;当xn=1时,右子枝节点<x1,x2,...,xn>R不存在;节点<x1,x2,...,xn>的左子枝节点<x1,x2,...,xn>L=<<x1,x2,...,xn-1>R,xn>;由各上述分组数据的统计二叉树图存在的子枝节点构建上述分组数据族的统计二叉树图。在一些示例中,上述步骤6中基于上述统计二叉树模型建立面向物化视图优化的最小化综合线性规划模型,其方法为:建立每个分组数据族Fi所对应的统计二叉树图Gi;基于该统计二叉树图Gi建立面向该统计家族的最小化综合查询代价的线性规划模型,该模型可表示为:约束条件为:d(qi,MVi)∈Z+,MVi∈Nodes(G),其中,设图Gi中相邻节点的有向边长度为1,为分组数据族Fi中的任意一个分组数据元qi的查询频率,MVi为分组数据族Fi的物化视图,d(qi,MVi)为qi与物化视图MVi在统计二叉树图Gi中的有向通路的长度,d(qi,MVi)为有限正整数。在一些示例中,上述步骤7包括:以上述分组数据族的各上述物化视图MVi作为唯一数据来源重构上述分组数据族的任意一个分组数据元;以目标分组数据集合的元聚集操作表达式为数据源重构上述分组数据族的任意一个分组数据。第二方面,本申请提供了一种存储装置,其中存储有多条程序,上述程序适于由处理器加载并执行以实现上述第一方面所述的物化视图选择和优化方法。第三方面,本申请提供了一种处理装置,包括处理器,适于执行各条程序;以及存储设备,适于存储多条程序;上述程序适于由处理器加载并执行以实现上述第一方面所述的物化视图选择和优化方法。本申请提供的物化视图选择和优化方法和处理设备,通过数据库的信息获得分组数据,根据数据库的事实本文档来自技高网...

【技术保护点】
1.一种物化视图选择和优化方法,其特征在于,所述方法包括如下步骤:/n步骤1:获取与数据库相关的数据库信息,根据所述数据库信息从所述数据库中获得带有聚集函数的分组数据,并生成分组数据集合;其中,所述分组数据集合包括各分组数据的查询频率,所述信息包括分组数据的聚集函数的聚集操作表达式;/n步骤2:分析所述数据库中的事实表和维度表,获得各所述分组数据的数据维度和数据粒度;/n步骤3:分解所述分组数据集合中分组数据的非分布式聚集函数,生成分布式聚集函数;/n步骤4:解析所述分组数据集合中的每组分组数据,生成所述分组数据的分组数据元,得到分组数据元集合;/n步骤5:将所述分组数据集合中的具有相同的数据维度、相同的聚集操作表达式的分组数据元规划为同一分组数据族;/n步骤6:建立每个分组数据族所对应的统计二叉树模型,并基于所述统计二叉树模型建立面向物化视图优化的最小化综合线性规划模型,得到优化的物化视图集合;/n步骤7:基于物化视图选择和优化得到的优化物化视图集合,重新构造所述分组数据集合中的每一组分组数据;/n步骤8:依据与物化视图相关的所述数据库中的事实表的变化,对所述物化视图的数据作同步变化。/n...

【技术特征摘要】
1.一种物化视图选择和优化方法,其特征在于,所述方法包括如下步骤:
步骤1:获取与数据库相关的数据库信息,根据所述数据库信息从所述数据库中获得带有聚集函数的分组数据,并生成分组数据集合;其中,所述分组数据集合包括各分组数据的查询频率,所述信息包括分组数据的聚集函数的聚集操作表达式;
步骤2:分析所述数据库中的事实表和维度表,获得各所述分组数据的数据维度和数据粒度;
步骤3:分解所述分组数据集合中分组数据的非分布式聚集函数,生成分布式聚集函数;
步骤4:解析所述分组数据集合中的每组分组数据,生成所述分组数据的分组数据元,得到分组数据元集合;
步骤5:将所述分组数据集合中的具有相同的数据维度、相同的聚集操作表达式的分组数据元规划为同一分组数据族;
步骤6:建立每个分组数据族所对应的统计二叉树模型,并基于所述统计二叉树模型建立面向物化视图优化的最小化综合线性规划模型,得到优化的物化视图集合;
步骤7:基于物化视图选择和优化得到的优化物化视图集合,重新构造所述分组数据集合中的每一组分组数据;
步骤8:依据与物化视图相关的所述数据库中的事实表的变化,对所述物化视图的数据作同步变化。


2.根据权利要求1所述的方法,其特征在于,所述聚集操作表达式包括独立聚集操作表达式和可分性聚集操作表达式;所述独立聚集操作表达式是由所述数据库中原始数据字段所构成的表达式,所述可分性聚集操作表达式是由多个独立聚集操作表达式通过算数运算式构成的表达式。


3.根据权利要求2所述的方法,其特征在于,步骤3中生成分布式聚集函数,其方法为:
分解所述非分布式聚集函数的聚集操作表达式,得到元聚集操作表达式;所述元聚集操作表达式为不包含聚集函数的表达式;
依据所述非分布式聚集函数所分解出的元聚集操作表达式,生成分布式聚集函数。


4.根据权利要求3所述的方法,其特征在于,所述“分解所述非分布式聚集函数的聚集操作表达式,得到元聚集操作表达式”,其方法为包括:
步骤31,判断所述聚集函数的中聚集操作表达式的类型;如果所述聚集操作表达式为独立聚集操作表达式,执行步骤32;如果所述聚集操作表达式为可分性聚集操作表达式,执行步骤33;
步骤32,判断所述聚集操作表达式中是否包含聚集函数,如果不包含执行步骤321,否则执行步骤322;
步骤321,所述聚集操作表达式为元聚集操作表达式;
步骤322,按聚集函数的嵌套顺序从最外层逐步向内分解,直至所述聚集函数的聚集操作表达式中不包含聚集函数为止所得的表达式为所述聚集操作表达式的元聚集操作表达式;
步骤33,分解所述聚集操作表达式为多个独立聚集操作表达式,并从所述多个独立聚集操作表达式中获得所述聚集操作表达式的全部元聚集操作表达式。


5.根据权利要求4所述的方法,其特征在于,所述步骤4中所述分组数据元集合,其生成方法包括:
提取所述分组数据集合中各分组数据的数据维度、数据粒度的序列和聚...

【专利技术属性】
技术研发人员:谭杰白熹微黄学文刘承宝李亚宁
申请(专利权)人:中国科学院自动化研究所大连理工大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1