【技术实现步骤摘要】
物化视图选择和优化方法及装置
本专利技术涉及数据库和数据仓库
,具体涉及海量数据环境下的物化视图选择和优化技术,特别涉及一种物化视图选择和优化方法及装置。
技术介绍
随着大数据时代的来临,从海量的数据中分析和挖掘出具有某类特征的数据变得越来越重要。对海量数据的分析和挖掘成为越来越多的企业决策分析和科学管理的必要手段。但是随着企业数据的逐渐增加,查询响应时间越来越长,物化视图(MaterializedView,MV)是一种有效的查询手段,它是通过预先计算和保存中间结果来提高数据访问时间的物理结构,能够大幅缩短查询响应时间。然而,使用物化视图需要额外的存储空间,并需要在数据更新时承担维护费用。物化视图的选择是在考虑查询性能的情况下,如何选择一个合适的视图集合进行物化,使得总成本最小。物化视图选择问题是NP(Non-DeterministicPolynomial,非确定多项式)问题。目前,物化视图的选择主要有:基于数据立方体的方法,基于MVPP(Multi-ViewProcessingPlan,多视点处理)的方法和基于AND-OR图的方法。但由于用户查询的复杂性,这些方法在实际应用的过程中也存在一些不足,主要包括:计算复杂度较大,假设查询均匀分布,不能处理嵌套查询等。
技术实现思路
为了解决现有技术中的上述问题,即为了解决在实际应用的过程中计算复杂度较大,假设查询均匀分布,不能处理嵌套查询等问题,本专利技术采用以下技术方案以解决上述问题:第一方面,本申请提供了物化视图选择和优化方法 ...
【技术保护点】
1.一种物化视图选择和优化方法,其特征在于,所述方法包括如下步骤:/n步骤1:获取与数据库相关的数据库信息,根据所述数据库信息从所述数据库中获得带有聚集函数的分组数据,并生成分组数据集合;其中,所述分组数据集合包括各分组数据的查询频率,所述信息包括分组数据的聚集函数的聚集操作表达式;/n步骤2:分析所述数据库中的事实表和维度表,获得各所述分组数据的数据维度和数据粒度;/n步骤3:分解所述分组数据集合中分组数据的非分布式聚集函数,生成分布式聚集函数;/n步骤4:解析所述分组数据集合中的每组分组数据,生成所述分组数据的分组数据元,得到分组数据元集合;/n步骤5:将所述分组数据集合中的具有相同的数据维度、相同的聚集操作表达式的分组数据元规划为同一分组数据族;/n步骤6:建立每个分组数据族所对应的统计二叉树模型,并基于所述统计二叉树模型建立面向物化视图优化的最小化综合线性规划模型,得到优化的物化视图集合;/n步骤7:基于物化视图选择和优化得到的优化物化视图集合,重新构造所述分组数据集合中的每一组分组数据;/n步骤8:依据与物化视图相关的所述数据库中的事实表的变化,对所述物化视图的数据作同步变化 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。