一种OLAP预计算模型、自动建模方法及自动建模系统技术方案

技术编号:15910825 阅读:35 留言:0更新日期:2017-08-01 22:30
本发明专利技术涉及一种OLAP预计算模型、自动建模方法及自动建模系统,该模型包括:维度模块、聚合组模块、度量模块;该方法包括:对所有的数据源进行数据统计,得到数据统计结果;根据用户给定的数据模型以及对目标查询进行查询预演,确定业务模型;对样例进行查询预演,并收集查询统计;进行物理建模,并定义预计算模型的维度、度量、聚合组;得到业务建模结果;得到预计算模型;该系统包括:数据统计模块、业务模型模块、查询统计模块、建模建立模块。本发明专利技术通过增加衍生维度、聚合组,对预计算维度进行更加有效的组合,减少冗余计算和数据存储,具有更高的计算效率和更小的存储占用,从而在大数据多维分析应用中取得更好的效果。

A OLAP pre calculation model, automatic modeling method and automatic modeling system

The invention relates to a OLAP pre calculation model, automatic modeling and automatic modeling system, the model includes: dimension module, polymerization module, measurement module; the method comprises: statistical data on all data sources, statistic data; according to the user to set the data model and the query preview of the target query for example, to determine the business model; query preview, collection and query statistics; physical modeling, and the definition of pre computed model dimensions, measurement, polymerization group; get the business modeling results; forecasting model; the system includes: data statistics module, service module, query statistics module, modeling module. By adding the derived dimensions, polymerization group, the pre calculated dimensions are combined effectively, reduce the redundant computing and data storage, has higher computational efficiency and smaller storage, so as to achieve better results in the application of analysis in multidimensional data.

【技术实现步骤摘要】
一种OLAP预计算模型、自动建模方法及自动建模系统
本专利技术涉及OLAP多维数据分析的
,尤其涉及一种OLAP预计算模型、自动建模方法及自动建模系统。
技术介绍
在信息化和数据化的时代,如何对数据进行多维分析以进行决策支持,是商务智能和数据挖掘领域的重要课题,OLAP(尤其是MOLAP)就是为了解决这一问题而产生的。一般情况下,数据仓库的数据量较大,直接在大量数据上进行多维聚合运算需要耗费大量的计算资源,以及过长的查询耗时。OLAP提供了一种基于预计算提高多维分析效率的解决方案,即通过实现一个“数据立方体”对数据仓库中的数据按不同的维度组合进行预聚合,并把结果保存下来;当分析师进行实际业务查询时,无需重新对数据执行聚合运算,而是直接读取预计算结果,这使得对百万甚至上亿数据规模的分析变得可能。OLAPCube(数据立方体)是数据仓库中对于多维分析数据模型的抽象,包含了多维分析中不同的维度组合,例如,下图6所示中包含了4个维度,分别是time、item、location、supplier,这4个维度间不同的组合构成OLAPCube中的不同节点,每个节点代表在这些维度组合下的度量聚合结果。当用户进行多维分析时,所选定的维度组合对应Cube中的一个点,考量的数值就是节点背后的度量聚合结果。在常见的OLAP解决方案中,为了更加快速地对选定维度进行分析,会对OLAPCube进行物化,即提前通过预计算将OLAPCube上每个节点的度量进行聚合,并把结果保存起来。当业务分析人员执行查询时,系统可以直接对预计算结果进行返回。把O(N)级别的聚合运算转化成O(1)的结果查询,查询效率的提高可想而知。OLAPCube还基于维度定义了维度的层级。例如year,month,day这三个维度之间存在着一种层级关系:year>month>day,这些层级关系往往可以和现有应用中的概念进行映射,方便分析师在数据挖掘系统中更加灵活地应用。但是,在大数据多维分析场景中,数据规模往往在千亿甚至万亿级别,且维度数量过多、维度基数超大,存在维度爆炸的隐患。如果依然对所有维度组合的情况进行预计算,一定会导致预计算时间过长、结果数据量过大,这一方面增加了预计算和存储成本,另一方面也给大量预计算结果的扫描带来了挑战。
技术实现思路
本专利技术所要解决的技术问题是:目前的技术对于维度数量过多、维度基数超大的数据分析业务,存在维度爆炸的隐患,并且预计算时间过长、结果数据量过大,一方面增加了预计算和存储成本,另一方面也给大量预计算结果的扫描带来了挑战。为解决上面的技术问题,本专利技术提供了一种OLAP预计算模型,该预计算模型包括:维度模块、聚合组模块、度量模块;所述的维度模块包括普通维度单元和衍生维度单元;所述普通维度单元,用于对事实表上的字段进行预计算;所述衍生维度单元,用于对维表上的主键进行预计算,并记录维表上的列和主键的映射关系;所述衍生维度单元中的衍生维度的维表主键和所述普通维度单元中的普通维度作为预计算维度,符合特定排列顺序;所述聚合组模块,用于将在维度模块中预计算维度划分成多个聚合组;所述度量模块,用于按照维度模块中所有预计算维度的组合聚合生成预计算结果。本专利技术的有益效果:通过增加衍生维度、聚合组等概念,对预计算维度进行更加有效的组合,减少冗余计算和数据存储,具有更高的计算效率和更小的存储占用,从而在大数据多维分析应用中取得更好的效果。进一步地,所述的聚合组模块包括:必须维度单元、组合维度单元、层级维度单元、维数范围单元;所述的必须维度单元,用于记录包含某一特定维度A的所有维度组合;所述的组合维度单元,用于记录包含某一特定组合维度AB的所有维度组合;所述的层级维度单元,用于记录包含具有层级关系的某一特定组合维度ABC的所有维度组合;所述维数范围单元,用于记录包含维度数量在一定范围的所有维度组合;所述的聚合组模块在将维度模块中的所有预计算维度划分成多个聚合组,同时保存维度模块中的所有预计算维度,用于对不同聚合组之间的的多维查询。上述进一步的有益效果:本专利技术提出了聚合组概念,即把所有的预计算维度划分成若干个聚合组,只在每一个聚合组内部产生不同组合,不同聚合组之间不会交叉组合。此外,还会保留全维度的组合,用于应对跨聚合组的多维查询。根据业务间的依赖关系把相关的维度划分到同一个聚合组,就可以有效去除无意义的维度组合,降低了预计算代价。进一步地,所述的衍生维度单元中包括:衍生维度,所述的衍生维度是维度基数与主键基数近似相等的维度。上述进一步的有益效果:衍生维度本身并不会参与进行预计算,而是对维表主键进行预计算。此外,还把维表镜像保存下来,用于记录衍生维度列和主键的映射关系。因为维表的记录比较固定,且数据量往往不大,所以在查询时,可以快速查找维表镜像进行衍生维度和主键值的转换,再根据外键值查询维表镜像以找到度的值。当维表中设置了多个衍生维度,实际上只增加了一个预计算维度,实现了降维。本专利技术还涉及一种基于OLAP预计算模型的自动建模方法,该方法包括如下步骤:S1,根据用户给定的数据模型和数据源进行数据统计,得到数据统计结果;S2,根据用户所给定的数据模型以及目标查询进行查询预演,确定业务模型;S3,对样例进行查询预演,并收集查询统计;S4,基于S2中的业务模型以及S1中数据统计结果,进行物理建模,并定义预计算模型的维度、度量、聚合组;S5,基于S3中的查询统计对S4中进行物理建模后的模型进行调整,得到业务建模结果;S6,对S5中的业务建模进行优化调整,得到预计算模型。本专利技术的有益效果:通过本专利技术的方法解决大数据场景下的数据爆炸问题,提高查询效率,同时通过智能化手段提高生产效率,另外,自动建模方法运用到基于ApacheKylin的大数据分析平台上验证,通过自动建模创建的Cube(预计算模型)在百亿数据规模上依然能够保证秒级的查询相应时间,并保证10倍以内的膨胀率,有效降低了ApacheKylin用户的学习难度和试错成本,优化了用户体验。进一步地,所述S4中的物理建模包括:维度设置、度量设置、聚合组设置。进一步地,所述的维度设置包括:普通维度设置和衍生维度设置,计算每一个维度的F(i)值,如果F(i)小于指定阀值,则设置为第i个维度为衍生维度,否则设置为普通维度;其中,定义函数F(i)=CD(col_i)/CD(PK),其中CD(col_i)是第i个维度的基数,CD(PK)是主键基数。衍生维度主键和普通维度作为预计算维度,根据基数按从大到小顺序排列。进一步地,所述的聚合组设置,该聚合组设置的规则为:设置维数范围最小值、最大值为特定默认值;当CD(i)等于1,则设置该维度为必须维度;当CD(i)*CD(j)大于或等于CD(i,j),则设置第i维度和第j维度为一组组合维度;当CD(j)等于CD(i,j),则设置第i维度、第j维度为一组层级维度;其中,定义函数CD(i)是第i个维度的基数;第i维度、第j维度为层级关系。进一步地,所述的S5中的进行调整,其调整包括:预计算维度顺序的调整和聚合组的调整。进一步地,所述的预计算维度顺序的调整,该预计算顺序的调整规则为:定义Score(i)=Wp*CD(i)+Wb*F(i)/F,则依据Score(i)的值按本文档来自技高网
...
一种OLAP预计算模型、自动建模方法及自动建模系统

【技术保护点】
一种OLAP预计算模型,其特征在于,该预计算模型包括:维度模块、聚合组模块、度量模块;所述的维度模块包括普通维度单元和衍生维度单元;所述普通维度单元,用于对事实表上的字段进行预计算;所述衍生维度单元,用于对维表上的主键进行预计算,并记录维表上的列和主键的映射关系;所述衍生维度单元中的衍生维度的维表主键和所述普通维度单元中的普通维度作为预计算维度,符合特定排列顺序;所述聚合组模块,用于将在维度模块中预计算维度划分成多个聚合组;所述度量模块,用于按照维度模块中所有预计算维度的组合聚合生成预计算结果。

【技术特征摘要】
1.一种OLAP预计算模型,其特征在于,该预计算模型包括:维度模块、聚合组模块、度量模块;所述的维度模块包括普通维度单元和衍生维度单元;所述普通维度单元,用于对事实表上的字段进行预计算;所述衍生维度单元,用于对维表上的主键进行预计算,并记录维表上的列和主键的映射关系;所述衍生维度单元中的衍生维度的维表主键和所述普通维度单元中的普通维度作为预计算维度,符合特定排列顺序;所述聚合组模块,用于将在维度模块中预计算维度划分成多个聚合组;所述度量模块,用于按照维度模块中所有预计算维度的组合聚合生成预计算结果。2.根据权利要求1所述的一种OLAP预计算模型,其特征在于,所述的聚合组模块包括:必须维度单元、组合维度单元、层级维度单元、维数范围单元;所述的必须维度单元,用于记录包含某一特定维度A的所有维度组合;所述的组合维度单元,用于记录包含某一特定组合维度AB的所有维度组合;所述的层级维度单元,用于记录包含具有层级关系的某一特定组合维度ABC的所有维度组合;所述维数范围单元,用于记录包含维度数量在一定范围的所有维度组合;所述的聚合组模块在将维度模块中的所有预计算维度划分成多个聚合组,同时保存维度模块中的所有预计算维度,用于对不同聚合组之间的的多维查询。3.一种基于权利要求1-2所述的一种OLAP预计算模型的自动建模方法,其特征在于,该方法包括如下步骤:S1,根据用户给定的数据模型和数据源进行数据统计,得到数据统计结果;S2,根据用户所给定的数据模型以及目标查询进行查询预演,确定业务模型;S3,对样例进行查询预演,并收集查询统计;S4,基于S2中的业务模型以及S1中数据统计结果,进行物理建模,并定义预计算模型的维度、度量、聚合组;S5,基于S3中的查询统计对S4中进行物理建模后的模型进行调整,得到业务建模结果;S6,对S5中的业务建模进行优化调整,得到预计算模型。4.根据权利要求3所述的一种基于OLAP预计算模型的自动建模方法,其特征在于,所述S4中的物理建模包括:维度设置、度量设置、聚合组设置。5.根据权利要求4所述的一种基于OLAP预计算模型的自动建模方法,其特征在于,所述的维度设置包括:普通维度设置和衍生维度设置,计算每一个维度的F(i)值,如果F(i)小于指定阀值,则设置为第i个维度为衍生维度,否则设置为普通维度;其中,定义函数F(i)=CD(col_i)/CD(PK),其中CD(col_i)是第i个维度的基数,CD(PK)是主键基数。衍生维度主键和普通维度作为预计算维度,根据基数按从大到小顺序排列。6.根据权利要求4所述的一种基于OLAP预计算模型的自动建模方法,其特征在于,所述...

【专利技术属性】
技术研发人员:李栋
申请(专利权)人:上海跬智信息技术有限公司
类型:发明
国别省市:上海,31

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

1