CN108334554B - 一种新型的olap预计算模型及构建方法 - Google Patents
一种新型的olap预计算模型及构建方法 Download PDFInfo
- Publication number
- CN108334554B CN108334554B CN201711487497.4A CN201711487497A CN108334554B CN 108334554 B CN108334554 B CN 108334554B CN 201711487497 A CN201711487497 A CN 201711487497A CN 108334554 B CN108334554 B CN 108334554B
- Authority
- CN
- China
- Prior art keywords
- dimension
- dimension combination
- combinations
- combination
- matched
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24549—Run-time optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种新型的OLAP预计算模型及构建方法,该新型的OLAP预计算模型包括:查询引擎、SQL转换器、维度组合存储器;还涉及一种构建方法,该构建方法包括:获取SQL查询语句;将SQL查询语句解析成相应的维度组合;查询已构建完成的维度组合里是否存在当前的维度组合;当不存在时,记录相应的维度组合信息到维度组合存储器里;形成一个离散维度组合的集合,根据离散维度组合之间的相关性,逐层构建出每个维度组合。通过本发明的模型,在维度组合存储器中可以不断地更新维度组合,使得该模型不但支持时间增量的分段构建,也支持维度和度量的增量构建,另外该模型也极大地提高了查询效率,降低了存储空间,同时也保证了查询响应速度。
Description
技术领域
本发明属于OLAP大数据信息领域,尤其涉及一种新型的OLAP预计算模型及构建方法。
背景技术
传统OLAP预计算为了满足可能的查询场景,Cube构建时会尽可能多的包含Cuboids,一般维度数为N的Cube,其Cuboid的数量最大为2的N次方,所以当数据规模较大,维度数量较多,构建时会消耗大量的时间、预计算结果占用大量存储。虽然可以采用一些手段裁剪一定数量的Cuboid,但总存在一定数量的Cuboid,在查询时几乎用不到,导致极大的浪费。另一方面,现有技术方案的构建粒度是以Cube作为基本单位,Cube定义完毕并构建完成后其元数据是不能修改的,如果仅仅在原Cube基础上哪怕是添加一个新的维度或者度量就需要完全新建一个Cube并重新构建,导致不能利用之前的计算结果,灵活性不高。
发明内容
本发明所要解决的技术问题是:现有技术中构建粒度是以Cube作为基本单位,Cube定义完毕并构建完成后其元数据不能修改,导致不能利用之前的计算结果,灵活性不高。
为解决上面的技术问题,本发明提供了一种新型的OLAP预计算模型,
该新型的OLAP预计算模型包括:查询引擎、SQL转换器、维度组合存储器;
所述SQL转换器,用于将输入的SQL查询语句转换成相应的维度组合;
所述查询引擎,用于根据所述相应的维度组合,查询所述维度组合存储器中已构建完成的多组维度组合里是否存在与所述SQL查询语句匹配的维度组合;
所述查询引擎,还用于当不存在匹配的维度组合时,记录所述相应的维度组合信息,并将所述相应的维度组合信息发送给所述维度组合存储器;
所述维度组合存储器,用于根据离散维度组合之间的相关性和所述相应的维度组合信息,构建出所述匹配的维度组合,并将匹配的维度组合和所述已构建完成的多组维度组合逐层形成新的拓扑层级结构。
本发明的有益效果:通过上述的模型,在维度组合存储器中可以不断地更新维度组合,使得该模型不但支持时间增量的分段构建,也支持维度和度量的增量构建,另外该模型也极大地提高了查询效率,降低了存储空间,同时也保证了查询响应速度。
进一步地,所述维度组合存储器,还用于当不存在与所述SQL查询语句匹配的维度组合时,直接从源数据中查询出结果。
进一步地,所述维度组合存储器包括:已构建完成的多组维度组合,其中部分的维度组合是通过采用MapRecuce计算框架构建成具有拓扑层级结构的维度组合,剩余部分的维度组合是相互离散的且不具备拓扑层级结构的维度组合。
进一步地,所述具有拓扑层级结构的维度组合中下层的维度组合的预计算结果是通过将上层的维度组合的预计算结果进行聚合计算得到的。
进一步地,所述维度组合存储器,具体用于根据离散维度组合之间的相关性和所述相应的维度组合信息,构建因维度或者度量增量而形成的新的维度组合,将所述新的维度组合与其所述已构建完成的多组维度组中的维度组合共同合并成所述匹配的维度组合。
本发明还涉及一种新型的OLAP预计算模型的构建方法,该构建方法包括:
S1,SQL转换器获取SQL查询语句;
S2,所述SQL转换器将所述SQL查询语句转换成相应的维度组合;
S3,查询引擎根据所述相应的维度组合,查询维度组合存储器中已构建完成的多组维度组合里是否存在与所述SQL查询语句匹配的维度组合;
S4,当不存在匹配的维度组合时,所述查询引擎记录所述相应的维度组合信息,并将所述相应的维度组合信息发送给所述维度组合存储器;
S5,所述维度组合存储器根据离散维度组合之间的相关性和所述相应的维度组合信息,构建出所述匹配的维度组合,并将匹配的维度组合和所述已构建完成的多组维度组合逐层形成新的拓扑层级结构。
本发明的有益效果:通过上述的构建方法,不但可以不断地更新维度组合,同时支持时间增量的分段构建,也支持维度和度量的增量构建,另外也极大地提高了构建效率,降低了存储空间,同时也保证了查询响应速度。
进一步地,所述S4还包括:当不存在与所述SQL查询语句匹配的维度组合时,直接从源数据中查询出结果。
进一步地,所述维度组合存储器包括:已构建完成的多组维度组合,其中部分的维度组合是通过采用MapRecuce计算框架构建成具有拓扑层级结构的维度组合,剩余部分的维度组合是相互离散的且不具备拓扑层级结构的维度组合。
进一步地,所述具有拓扑层级结构的维度组合中下层的维度组合的预计算结果是通过将上层的维度组合的预计算结果进行聚合计算得到的。
进一步地,所述S5中构建出所述匹配的维度组合包括:
构建因维度或者度量增量而形成的新的维度组合,将所述新的维度组合与其所述已构建完成的多组维度组中的维度组合共同合并成所述匹配的维度组合。
附图说明
图1为本发明的一种新型的OLAP预计算模型的结构示意图;
图2为本发明的一种新型的OLAP预计算模型的构建方法的流程示意图;
图3为本发明中具有拓扑层级结构的维度组合的结构示意图;
图4为本发明不同层级间的聚合运算的结构示意图;
图5为本发明Spanning Tree的结构示意图;
图6为本发明维度或度量增量的结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本发明实施例1提供的是一种新型的OLAP预计算模型,
该新型的OLAP预计算模型包括:查询引擎、SQL转换器、维度组合存储器;
所述SQL转换器,用于将输入的SQL查询语句转换成相应的维度组合;
所述查询引擎,用于根据所述相应的维度组合,查询所述维度组合存储器中已构建完成的多组维度组合里是否存在与所述SQL查询语句匹配的维度组合;
所述查询引擎,还用于当不存在匹配的维度组合时,记录所述相应的维度组合信息,并将所述相应的维度组合信息发送给所述维度组合存储器;
所述维度组合存储器,用于根据离散维度组合之间的相关性和所述相应的维度组合信息,构建出所述匹配的维度组合,并将匹配的维度组合和所述已构建完成的多组维度组合逐层形成新的拓扑层级结构。
可以理解的是,在本实施例1中该模型是在传统的模型的基础上增加了SQL转换器,其主要是将用户提交的SQL查询语句转化成相应的Cuboids(维度组合),在传统的模型里是有Cube,但是本实施例1中的模型是不具有Cube概念的,而是采用由SQL转换器转换而来的Cuboid的集合;这样可以使得本实施例1中的模型从原来的Cube粒度变成更为细致和灵活的Cuboid粒度,从而支持时间增量和维度增量的构建。最后,通过Spanning Tree把离散的Cuboids组织起来,找出最合理的构建拓扑结构,这样保证了构建的效率。
另外,在本实施例1中传统的OLAP预计算在做查询时,会根据查询的SQL查询语句找到一个最合适的Cuboiod进行查询,而传统OLAP预计算在构建Cube时事先并不知道具体查询场景,所以不能保证每一条SQL查询语句都能击中最优的Cuboid,只能选用其他Cuboid进行查询,因此会导致查询效果不理想。而在本实施例1中的模型是用户提交了SQL查询语句,系统首先在之前存储的Cuboid集合中找到一个可用Cuboid进行查询,当找不到合适的Cuboid,便将查询交给其他查询引擎回答,同时将SQL查询语句需要的但并不存在的Cuboid记录下来,放入待构建的Cuboid集合里(也就是维度组合存储器)。
通过实施例1中的模型,在维度组合存储器中可以不断地更新维度组合,使得该模型不但支持时间增量的分段构建,也支持维度和度量的增量构建,另外该模型也极大地提高了查询效率,降低了存储空间,同时也保证了查询响应速度。
可选地,在另一实施例2中所述维度组合存储器,还用于当不存在与所述SQL查询语句匹配的维度组合时,直接从源数据中查询出结果。
可以理解的是,本实施例2是在上述的实施例1的基础上进行的另一实施方案,在该实施例2中维度组合存储器是当不存在与所述SQL查询语句匹配的维度组合时,直接从源数据中查询出结果。
可选地,在另一实施例3中所述维度组合存储器包括:已构建完成的多组维度组合,其中部分的维度组合是通过采用MapRecuce计算框架构建成具有拓扑层级结构的维度组合,剩余部分的维度组合是相互离散的且不具备拓扑层级结构的维度组合。
可以理解的是,本实施例3是在上述实施例的基础上进行的另一实施方案,现有的OLAP预计算构建需要定义模型及Cube后,开始逐层构建Cuboids,其可以支持时间增量的构建。但是不能支持维度或者度量的增加,因为在传统的Cube中一旦定义好就不能修改。而所有Cuboid都受到Cube定义的度量和维度的约束。相比而言,本实施例3中是以Cuboid为构建粒度的,它只受到模型定义的约束,因此可以随时添加和删除模型范围内的维度和度量。
可选地,在另一实施例4中所述具有拓扑层级结构的维度组合中下层的维度组合的预计算结果是通过将上层的维度组合的预计算结果进行聚合计算得到的。
可以理解的是,本实施例4是在上述实施例的基础上进行的另一实施方案,在本实施例4中是因为该模型中没有具体的Cube的定义的约束,所以每一个Cuboid都是独立的,维度和度量都有可能不一样,进而不能保证Cuboid之间一定存在层级关系。但是由于每一个Cuboid的维度和度量都不会超出模型定义的范围,因此不同的Cuboid之间还是有可能存在相关性。因此尽可能将具有相关性的Cuboid组织起来,便于构建时避免重复做聚合计算。如图3所示,从图中不难看出,最坏的情况是Cuboids之间互不相关,那么结构图中就只有根节点,构建时将以源数据作为输入。如果存在层级结构,那么下层的Cuboid可以利用上层的Cuboid结果再次进行预计算,逐层构建完毕。
为更好的说明创建构建树的过程,假设数据模型包含D1、D2、D3、D4四个维度,同时包含M1、M2、M3、M4四个度量。用户提交查询后,SQL转换器产生了3个Cuboid,其结构如图4所示,Cuboid1与Cuboid2存在层级关系,Cuboid3则是孤立的,最终构建出来的Spanning Tree(模式关系树),其结构如图5所示,在构建时,Cuboid1和Cuboid 3将直接以源数据作为输入做聚合计算,Cuboid2则利用Cuboid1的聚合结果完成自己的计算。
可选地,在另一实施例5中所述维度组合存储器,具体用于根据离散维度组合之间的相关性和所述相应的维度组合信息,构建因维度或者度量增量而形成的新的维度组合,将所述新的维度组合与其所述已构建完成的多组维度组中的维度组合共同合并成所述匹配的维度组合。
可以理解的是,本实施例5是在上述的实施进行的另一实施方案,如图6所示,实线矩形代表抽象Cube的数据段,实体圆圈代表Cuboid,不同的Cuboid之间可能存在一定的相关性。虚线矩形代表因维度或者度量增量而产生的新的Cuboid,其构建完成后会合并到与之对应的已有的数据段中。
如图2所示,本发明实施例6还涉及一种新型的OLAP预计算模型的构建方法,该构建方法包括:
S1,SQL转换器获取SQL查询语句;
S2,所述SQL转换器将所述SQL查询语句转换成相应的维度组合;
S3,查询引擎根据所述相应的维度组合,查询维度组合存储器中已构建完成的多组维度组合里是否存在与所述SQL查询语句匹配的维度组合;
S4,当不存在匹配的维度组合时,所述查询引擎记录所述相应的维度组合信息,并将所述相应的维度组合信息发送给所述维度组合存储器;
S5,所述维度组合存储器根据离散维度组合之间的相关性和所述相应的维度组合信息,构建出所述匹配的维度组合,并将匹配的维度组合和所述已构建完成的多组维度组合逐层形成新的拓扑层级结构。
可以理解的是,在本实施例6中该模型是在传统的模型的基础上增加了SQL转换器,其主要是用户提交的SQL查询语句转化成相应的Cuboids(维度组合),在传统的模型里是有Cube,但是本实施例6中的模型是不具有Cube概念的,而是采用SQL转换器转换而来的Cuboid,或者说是采用维度组合存储器中预先存储的维度组合;这样可以使得本实施例6中的模型从原来的Cube粒度变成更为细致和灵活的Cuboid粒度,从而支持时间增量和维度增量的构建。最后,通过Spanning Tree把离散的Cuboids组织起来,找出最合理的构建拓扑结构,这样保证了构建的效率。
另外,在本实施例6中传统的OLAP预计算在做查询时,会根据查询的SQL查询语句找到一个最合适的Cuboiod进行查询,而传统OLAP预计算在构建Cube时事先并不知道具体查询场景,所以不能保证每一条SQL查询语句都能击中最优的Cuboid,只能选用其他Cuboid进行查询,因此会导致查询效果不理想。而在本实施例6中是用户提交了SQL查询语句,系统首先在之前存储的Cuboid集合中找到一个可用Cuboid进行查询,当找不到合适的Cuboid,便将查询交给其他查询引擎回答,同时将SQL查询语句需要的但并不存在的Cuboid记录下来,放入待构建的Cuboid集合里(也就是维度组合存储器)通过上述实施例6的构建方法,不但可以不断地更新维度组合,同时支持时间增量的分段构建,也支持维度和度量的增量构建,另外也极大地提高了构建效率,降低了存储空间,同时也保证了查询响应速度。
可选地,在另一实施例7中所述S4还包括:当不存在与所述SQL查询语句匹配的维度组合时,直接从源数据中查询出结果。
可以理解的是,本实施例7是在上述的实施例6的基础上进行的另一实施方案,在该实施例7中当不存在与所述SQL查询语句匹配的维度组合时,直接从源数据中查询出结果。
可选地,在另一实施例8中所述维度组合存储器包括:已构建完成的多组维度组合,其中部分的维度组合是通过采用MapRecuce计算框架构建成具有拓扑层级结构的维度组合,剩余部分的维度组合是相互离散的且不具备拓扑层级结构的维度组合。
可以理解的是,本实施例8是在上述实施例的基础上进行的另一实施方案,现有的OLAP预计算构建需要定义模型及Cube后,开始逐层构建Cuboids,其可以支持时间增量的构建。但是不能支持维度或者度量的增加,因为在传统的Cube中一旦定义好就不能修改。而所有Cuboid都受到Cube定义的度量和维度的约束。相比而言,本实施例8中是以Cuboid为构建粒度的,它只受到模型定义的约束,因此可以随时添加和删除模型范围内的维度和度量。
可选地,在另一实施例9中所述具有拓扑层级结构的维度组合中下层的维度组合的预计算结果是通过将上层的维度组合的预计算结果进行聚合计算得到的。
可以理解的是,本实施例9是在上述实施例的基础上进行的另一实施方案,在本实施例9中是因为该模型中没有具体的Cube的定义的约束,所以每一个Cuboid都是独立的,维度和度量都有可能不一样,进而不能保证Cuboid之间一定存在层级关系。但是由于每一个Cuboid的维度和度量都不会超出模型定义的范围,因此不同的Cuboid之间还是有可能存在相关性。因此尽可能将具有相关性的Cuboid组织起来,便于构建时避免重复做聚合计算。如图3所示,从图中不难看出,最坏的情况是Cuboids之间互不相关,那么结构图中就只有根节点,构建时将以源数据作为输入。如果存在层级结构,那么下层的Cuboid可以利用上层的Cuboid结果再次进行预计算,逐层构建完毕。
为更好的说明创建构建树的过程,假设数据模型包含D1、D2、D3、D4四个维度,同时包含M1、M2、M3、M4四个度量。用户提交查询后,SQL转换器产生了3个Cuboid,其结构如图4所示,Cuboid1与Cuboid2存在层级关系,Cuboid3则是孤立的,最终构建出来的SpanningTree,其结构如图5所示,在构建时,Cuboid1和Cuboid3 将直接以源数据作为输入做聚合计算,Cuboid2则利用Cuboid1的聚合结果完成自己的计算。
可选地,在另一实施例10中所述S5中构建出所述匹配的维度组合包括:
构建因维度或者度量增量而形成的新的维度组合,将所述新的维度组合与其所述已构建完成的多组维度组中的维度组合共同合并成所述匹配的维度组合。
可以理解的是,本实施例10是在上述的实施进行的另一实施方案,如图6所示,实线矩形代表抽象Cube的数据段,实体圆圈代表Cuboid,不同的Cuboid之间可能存在一定的相关性。虚线矩形代表因维度或者度量增量而产生的新的Cuboid,其构建完成后会合并到与之对应的已有的数据段中。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种新型的OLAP预计算模型,其特征在于,该新型的OLAP预计算模型包括:查询引擎、SQL转换器、维度组合存储器;
所述SQL转换器,用于将输入的SQL查询语句转换成相应的维度组合;
所述查询引擎,用于根据所述相应的维度组合,查询所述维度组合存储器中已构建完成的多组维度组合里是否存在与所述SQL查询语句匹配的维度组合;
所述查询引擎,还用于当不存在匹配的维度组合时,记录所述相应的维度组合信息,并将所述相应的维度组合信息发送给所述维度组合存储器;
所述维度组合存储器,用于根据离散维度组合之间的相关性和所述相应的维度组合信息,构建出所述匹配的维度组合,并将匹配的维度组合和所述已构建完成的多组维度组合逐层形成新的拓扑层级结构。
2.根据权利要求1所述的新型的OLAP预计算模型,其特征在于,
所述维度组合存储器,还用于当不存在与所述SQL查询语句匹配的维度组合时,直接从源数据中查询出结果。
3.根据权利要求1或2所述的新型的OLAP预计算模型,其特征在于,所述维度组合存储器包括:已构建完成的多组维度组合,其中部分的维度组合是通过采用MapRecuce计算框架构建成具有拓扑层级结构的维度组合,剩余部分的维度组合是相互离散的且不具备拓扑层级结构的维度组合。
4.根据权利要求3所述的新型的OLAP预计算模型,其特征在于,所述具有拓扑层级结构的维度组合中下层的维度组合的预计算结果是通过将上层的维度组合的预计算结果进行聚合计算得到的。
5.根据权利要求3所述的新型的OLAP预计算模型,其特征在于,所述维度组合存储器,具体用于根据离散维度组合之间的相关性和所述相应的维度组合信息,构建因维度或者度量增量而形成的新的维度组合,将所述新的维度组合与其所述已构建完成的多组维度组中的维度组合共同合并成所述匹配的维度组合。
6.一种新型的OLAP预计算模型的构建方法,其特征在于,该构建方法包括:
S1,SQL转换器获取SQL查询语句;
S2,所述SQL转换器将所述SQL查询语句转换成相应的维度组合;
S3,查询引擎根据所述相应的维度组合,查询维度组合存储器中已构建完成的多组维度组合里是否存在与所述SQL查询语句匹配的维度组合;
S4,当不存在匹配的维度组合时,所述查询引擎记录所述相应的维度组合信息,并将所述相应的维度组合信息发送给所述维度组合存储器;
S5,所述维度组合存储器根据离散维度组合之间的相关性和所述相应的维度组合信息,构建出所述匹配的维度组合,并将匹配的维度组合和所述已构建完成的多组维度组合逐层形成新的拓扑层级结构。
7.根据权利要求6所述的构建方法,其特征在于,所述S4还包括:当不存在与所述SQL查询语句匹配的维度组合时,直接从源数据中查询出结果。
8.根据权利要求6或7所述的构建方法,其特征在于,所述维度组合存储器包括:已构建完成的多组维度组合,其中部分的维度组合是通过采用MapRecuce计算框架构建成具有拓扑层级结构的维度组合,剩余部分的维度组合是相互离散的且不具备拓扑层级结构的维度组合。
9.根据权利要求8所述的构建方法,其特征在于,所述具有拓扑层级结构的维度组合中下层的维度组合的预计算结果是通过将上层的维度组合的预计算结果进行聚合计算得到的。
10.根据权利要求8所述的构建方法,其特征在于,所述S5中构建出所述匹配的维度组合包括:
构建因维度或者度量增量而形成的新的维度组合,将所述新的维度组合与其所述已构建完成的多组维度组中的维度组合共同合并成所述匹配的维度组合。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711487497.4A CN108334554B (zh) | 2017-12-29 | 2017-12-29 | 一种新型的olap预计算模型及构建方法 |
PCT/CN2018/073321 WO2019019574A1 (zh) | 2017-12-29 | 2018-01-19 | 一种新型的olap预计算模型及构建方法 |
US15/769,427 US20200097487A1 (en) | 2017-12-29 | 2018-01-19 | Novel olap pre-calculation model and modeling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711487497.4A CN108334554B (zh) | 2017-12-29 | 2017-12-29 | 一种新型的olap预计算模型及构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108334554A CN108334554A (zh) | 2018-07-27 |
CN108334554B true CN108334554B (zh) | 2021-10-01 |
Family
ID=62923860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711487497.4A Active CN108334554B (zh) | 2017-12-29 | 2017-12-29 | 一种新型的olap预计算模型及构建方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200097487A1 (zh) |
CN (1) | CN108334554B (zh) |
WO (1) | WO2019019574A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753507A (zh) * | 2018-12-29 | 2019-05-14 | 上海跬智信息技术有限公司 | 基于NoSQL类数据库的OLAP实现系统构建方法、实现系统及实现方法 |
CN110008239A (zh) * | 2019-03-22 | 2019-07-12 | 跬云(上海)信息科技有限公司 | 基于预计算优化的逻辑执行优化方法及系统 |
CN110442653B (zh) * | 2019-07-03 | 2023-09-29 | 平安科技(深圳)有限公司 | 增量构建cube模型的方法、装置、服务器及存储介质 |
CN110347698A (zh) * | 2019-07-16 | 2019-10-18 | 中国工商银行股份有限公司 | 报表数据处理方法及装置 |
CN110569263B (zh) * | 2019-08-27 | 2022-11-22 | 苏宁云计算有限公司 | 实时数据去重计数方法及装置 |
CN111143398B (zh) * | 2019-12-12 | 2021-04-13 | 跬云(上海)信息科技有限公司 | 基于扩展sql函数的超大集合查询方法及装置 |
CN112445814A (zh) * | 2020-12-15 | 2021-03-05 | 北京乐学帮网络技术有限公司 | 一种数据获取方法、装置、计算机设备及存储介质 |
CN112765282B (zh) * | 2021-01-18 | 2023-11-28 | 恒安嘉新(北京)科技股份公司 | 一种数据联机分析处理方法、装置、设备及存储介质 |
CN113805852B (zh) * | 2021-09-24 | 2022-05-27 | 北京连山科技股份有限公司 | 一种提高数据安全性的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004962A (zh) * | 2010-12-01 | 2011-04-06 | 福州维胜信息技术有限公司 | 实现对个人综合绩效进行智能整理以供考评的实现方法 |
CN103038715A (zh) * | 2010-07-30 | 2013-04-10 | 丰田自动车株式会社 | 模型构建装置和模型构建方法 |
CN103853818A (zh) * | 2014-02-12 | 2014-06-11 | 博易智软(北京)技术股份有限公司 | 多维数据的处理方法和装置 |
CN104424229A (zh) * | 2013-08-26 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 一种多维度拆分的计算方法及系统 |
CN105718565A (zh) * | 2016-01-20 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 数据仓库模型的构建方法和构建装置 |
CN106372114A (zh) * | 2016-08-23 | 2017-02-01 | 电子科技大学 | 一种基于大数据的联机分析处理系统和方法 |
CN106484875A (zh) * | 2016-10-13 | 2017-03-08 | 广州视源电子科技股份有限公司 | 基于molap的数据处理方法及装置 |
CN106997386A (zh) * | 2017-03-28 | 2017-08-01 | 上海跬智信息技术有限公司 | 一种olap预计算模型、自动建模方法及自动建模系统 |
CN107301206A (zh) * | 2017-06-01 | 2017-10-27 | 华南理工大学 | 一种基于预运算的分布式olap分析方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495007B2 (en) * | 2008-08-28 | 2013-07-23 | Red Hat, Inc. | Systems and methods for hierarchical aggregation of multi-dimensional data sources |
US8938416B1 (en) * | 2012-01-13 | 2015-01-20 | Amazon Technologies, Inc. | Distributed storage of aggregated data |
CN105426501B (zh) * | 2015-11-25 | 2018-12-21 | 广州华多网络科技有限公司 | 多维数据库自动路由实现方法和系统 |
CN105488231B (zh) * | 2016-01-22 | 2018-07-20 | 杭州电子科技大学 | 一种基于自适应表维度划分的大数据处理方法 |
CN106294573A (zh) * | 2016-07-28 | 2017-01-04 | Tcl集团股份有限公司 | 一种海量数据实时查询方法及系统 |
-
2017
- 2017-12-29 CN CN201711487497.4A patent/CN108334554B/zh active Active
-
2018
- 2018-01-19 US US15/769,427 patent/US20200097487A1/en not_active Abandoned
- 2018-01-19 WO PCT/CN2018/073321 patent/WO2019019574A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038715A (zh) * | 2010-07-30 | 2013-04-10 | 丰田自动车株式会社 | 模型构建装置和模型构建方法 |
CN102004962A (zh) * | 2010-12-01 | 2011-04-06 | 福州维胜信息技术有限公司 | 实现对个人综合绩效进行智能整理以供考评的实现方法 |
CN104424229A (zh) * | 2013-08-26 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 一种多维度拆分的计算方法及系统 |
CN103853818A (zh) * | 2014-02-12 | 2014-06-11 | 博易智软(北京)技术股份有限公司 | 多维数据的处理方法和装置 |
CN105718565A (zh) * | 2016-01-20 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 数据仓库模型的构建方法和构建装置 |
CN106372114A (zh) * | 2016-08-23 | 2017-02-01 | 电子科技大学 | 一种基于大数据的联机分析处理系统和方法 |
CN106484875A (zh) * | 2016-10-13 | 2017-03-08 | 广州视源电子科技股份有限公司 | 基于molap的数据处理方法及装置 |
CN106997386A (zh) * | 2017-03-28 | 2017-08-01 | 上海跬智信息技术有限公司 | 一种olap预计算模型、自动建模方法及自动建模系统 |
CN107301206A (zh) * | 2017-06-01 | 2017-10-27 | 华南理工大学 | 一种基于预运算的分布式olap分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108334554A (zh) | 2018-07-27 |
WO2019019574A1 (zh) | 2019-01-31 |
US20200097487A1 (en) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108334554B (zh) | 一种新型的olap预计算模型及构建方法 | |
CN102930062B (zh) | 一种数据库快速水平扩展的方法 | |
CN103455531B (zh) | 一种支持高维数据实时有偏查询的并行索引方法 | |
CN110196847A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
CN103488704A (zh) | 一种数据存储方法及装置 | |
CN113190720B (zh) | 一种基于图压缩的图数据库构建方法、装置及相关组件 | |
CN104731969A (zh) | 分布式环境下海量数据连接聚集查询方法、装置和系统 | |
Su et al. | Indexing and parallel query processing support for visualizing climate datasets | |
CN116089414B (zh) | 基于海量数据场景的时序数据库写入性能优化方法及装置 | |
US20110179013A1 (en) | Search Log Online Analytic Processing | |
CN111666344B (zh) | 异构数据同步方法及装置 | |
CN107291746B (zh) | 一种存储和读取数据的方法及设备 | |
CN107301249A (zh) | 一种文件访问信息记录方法、系统及分布式集群系统 | |
Bhushan et al. | Big data query optimization by using locality sensitive bloom filter | |
CN110196863B (zh) | 数据处理方法、装置、计算设备及存储介质 | |
US9747363B1 (en) | Efficient storage and retrieval of sparse arrays of identifier-value pairs | |
CN107273443B (zh) | 一种基于大数据模型元数据的混合索引方法 | |
CN106776810B (zh) | 一种大数据的数据处理系统及方法 | |
CN111026759B (zh) | 基于Hbase的报表生成方法及装置 | |
US20090276404A1 (en) | Method and system for efficient data structure for reporting on indeterminately deep hierarchies | |
CN101340458B (zh) | 一种基于时间空间局部性的网格数据副本生成方法 | |
CN116561382A (zh) | 一种图数据库的数据处理方法、装置、设备及存储介质 | |
CN110069466A (zh) | 一种面向分布式文件系统的小文件存储方法及装置 | |
Li et al. | On mining webclick streams for path traversal patterns | |
US20140089632A1 (en) | Division of numerical values based on summations and memory mapping in computing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |