CN102360379B - 一种多维数据立方体增量聚合及查询优化方法 - Google Patents
一种多维数据立方体增量聚合及查询优化方法 Download PDFInfo
- Publication number
- CN102360379B CN102360379B CN201110308285.1A CN201110308285A CN102360379B CN 102360379 B CN102360379 B CN 102360379B CN 201110308285 A CN201110308285 A CN 201110308285A CN 102360379 B CN102360379 B CN 102360379B
- Authority
- CN
- China
- Prior art keywords
- data
- increment
- polymerization
- cube
- increment polymerization
- 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
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000002776 aggregation Effects 0.000 title abstract description 10
- 238000004220 aggregation Methods 0.000 title abstract description 10
- 238000005457 optimization Methods 0.000 title abstract description 4
- 238000006116 polymerization reaction Methods 0.000 claims description 74
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000001186 cumulative effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- BDEDPKFUFGCVCJ-UHFFFAOYSA-N 3,6-dihydroxy-8,8-dimethyl-1-oxo-3,4,7,9-tetrahydrocyclopenta[h]isochromene-5-carbaldehyde Chemical compound O=C1OC(O)CC(C(C=O)=C2O)=C1C1=C2CC(C)(C)C1 BDEDPKFUFGCVCJ-UHFFFAOYSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及OLAP聚合技术及查询优化领域,具体涉及一种多维数据立方体增量聚合及查询优化方法,该方法通过对增量数据的小范围聚合,查询时汇总原聚合与增量聚合结果,可较快实现增量聚合,效率高,系统负荷小,维护方便,解决了现有技术中存在的问题。本发明的有益效果:利用增量数据的特点,只对增量数据进行聚合,效率高,系统负荷小;查询时汇总原聚合与若干delta Cube聚合结果,效率并不会降低。
Description
技术领域
本发明涉及OLAP聚合技术及查询优化领域,具体涉及一种多维数据立方体增量聚合及查询优化方法。
背景技术
联机分析处理(Online Analytical Processing,OLAP)支持分析人员和决策者从多个角度对数据进行快速、一致、交互地访问,从而对数据更深入了解。然而随着数据量越来越大,用户对实时决策的需求越发迫切,OLAP聚合技术有效解决数据查询的效率问题。对定时进行增量更新的数据仓库,传统聚合算法需对全体数据进行聚合,然而数据仓库数据量庞大,这种方法效率低,系统负荷高,用户难以忍受。
发明内容
本发明为克服上述的不足之处,目的在于提供一种多维数据立方体增量聚合及查询优化方法,该方法通过对增量数据的小范围聚合,查询时汇总原聚合与增量聚合结果,可较快实现增量聚合,效率高,系统负荷小,维护方便,解决了现有技术中存在的问题。
本发明通过以下技术方案达到上述目的:一种多维数据立方体增量聚合及查询优化方法,包括以下步骤:
1)从数据仓库中获取增量数据,将其存放在与原数据仓库结构一致的临时数据库中;
2)选择冰山立方体的算法,对临时数据库中的增量数据进行聚合,生成增量数据立方体表及增量聚合数据,并清空临时数据库的数据;
3)将生成的增量数据立方体表及增量聚合数据上传至服务器,与原增量聚合数据合并;
4)OLAP查询时解析各增量数据立方体表及增量聚合数据,将有用的结果汇总输出;
5)适时对增量数据立方体表及增量聚合数据进行维护,在数量增量聚合数据较多或系统压力小的一段时间内,对整个数据仓库重新进行全聚合。
作为优选,步骤1)所述的数据仓库中获取增量数据采用时间戳方式。
作为优选,步骤2)所述的冰山立方体算法包括BUC算法和Star-Cubing算法。
作为优选,步骤3)所述的生成的增量数据立方体表及增量聚合数据上传至服务器,与原增量聚合数据合并时,对原增量聚合数据进行备份。
作为优选,步骤3)所述的生成的增量数据立方体表及增量聚合数据上传至服务器,与原增量聚合数据合并时,原增量聚合数据进行备份后,备份文件以合并时的时间作为备份名称。
作为优选,步骤3)所述的生成的增量数据立方体表及增量聚合数据上传至服务器,与原增量聚合数据合并后的增量聚合表以合并时的时间后缀命名。
本发明的有益效果:本发明是一种新的用于多维立方体中的聚合方法,与现有的聚合方法相比,其优点在于:利用增量数据的特点,只对增量数据进行聚合,效率高,系统负荷小;查询时汇总原聚合与若干delta Cube聚合结果,效率并不会降低。
附图说明
图1是本发明总体架构示意图。
具体实施例
以下结合附图1对本发明做进一步的说明:
实施例1:一种多维数据立方体增量聚合及查询优化方法,在该方法中,重点在于选择算法对增量数据进行聚合及对OLAP查询命中多个结果进行汇总;接下来将按照发明内容所述依次说明各流程:
一、获取增量数据:
增量数据的获取可通过触发器、时间戳、全表对比及日志对比的方式。由于本方法需定期获取增量数据,故选用时间戳方式。时间戳是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。当进行数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据。有的数据库的时间戳支持自动更新,即表的其它字段的数据发生改变时,自动更新时间戳字段的值。有的数据库不支持时间戳的自动更新,这就要求业务系统在更新业务数据时,手工更新时间戳字段。时间戳获取增量方式的性能较好,数据抽取相对清楚简单方便。
获取后的增量数据放置在与原数据仓库结构一致的临时库中,当聚合成功结束后再将该临时库清空。
二、对增量数据进行聚合:
由于增量数据具有同原数据仓库结构一致的结构,故可选择原数据仓库聚合算法进行聚合。但由于增量数据小,故可选择其他适合的算法。
全立方体的计算,计算出增量立方体的每个可能的聚合。计算效率较高,但存储空间消耗较大。
冰山立方体的计算,计算出聚合值不满足最低阈值的立方体,计算效率高,且阈值便于控制存储空间,常用算法有BUC、Star-Cubing等。BUC算法采用了自顶向下和深度优先的计算方法。首先计算出整个数据立方体的度量值,然后对各个维度递归搜索,与此同时,对立方体检查冰山条件,对不满足冰山条件的分枝进行剪枝操作。其中一个重要原则是,如果一个单元不满足冰山条件,则其子孙也不满足冰山条件。Star-Cubing算法结合了BUC算法中的剪枝策略合多路聚集算法的多维聚集,利用星型树的数据结构来进行存储,他从星型树的数据结构操作,进行无损数据压缩,从而降低响应时间和内存需求量。在对全局计算次序时,它采用了自底向上的模型。其核心的部分是引入共享维的概念。若共享维的聚集值不满足冰山条件,则共享维向下的所有子集都不能够满足冰山条件,根据这一条件来进行剪枝处理。基本思想是首先构建基本的星型树,然后按照深度优先搜索遍历每个子树,并且根据冰山条件进行剪枝操作,直至产生最终的星型树。Star-Cubing算法结合了自顶向下算法和自顶向上算法的优点,可以有效地降低搜索时间,并且降低了内存消耗。
增量聚合算法以热插拔的插件形式供用户选择,如某段时间某业务面临大量类似查询请求,则用户可选择根据这些查询生成相应聚合的增量聚合插件。
三、上传聚合结果及元数据至服务器:
对增量数据进行增量聚合之后,将其插入原数据仓库,增量聚合表以时间后缀命名,以便查看、维护。增量聚合Schema上传至服务器配置目录。备份原Schema文件,以时间作为备份名称,以便查看、恢复。合并Schema文件与delta Schema文件:将delta Schema文件内容以delta Aggregate标签插入原Schema文件。
四、查询汇总:
聚合结果一般为累加、半累加和非累加三种类型的度量。如果在任何情况下都可以累计一个度量的值,则该度量是可累加型度量。如果只能在部分情况下累加它的值,则该度量是半累加型度量。还有一类计算比率、百分比及其他等度量是不可累加型度量。
对于累加型度量,若查询命中多个聚合Cube,只需对各Cube相应度量求和;
对于半累加型度量,通常包含计算计数、最大值、最小值、平均、第一个子成员、最后一个子成员、第一个非空子成员、最后一个非空子成员的度量。若查询命中多个结果:计数分别计算各Cube相应度量的计数,再求和;最大值/最小值分别求各Cube的最大值和最小值,再比较出最大值/最小值;平均值首先获取各Cube的平均值,再获取各自的计数,计算出总的平均数;计算第一个子成员,直接读取第一个Cube中相应度量的值即可;最后一个子成员则计算按照时间顺序的最后一个Cube中的值;第一个非空子成员及最后一个非空子成员类似第一个子成员和最后一个子成员。
非累加型度量包括Distinct Count和用户自定义函数等。对于Distinct Count度量来说,若命中多个Cube,一次获取相关维度的所有事实数据,再求出这些数据的Distinct Count;对于用户自定义函数,先对自定义函数扫描一次,分析出须提前准备的数据,从各个Cube中获取这些数据,再对自定义函数扫描计算。
汇总算法伪代码如表1所示。先判断在关键指标上命中多少个立方体,如果未命中(第1行),返回0;如果命中1个立方体,通过调用Agg(Cube,Measure,Type)返回该立方体在指标Measure上的汇总(第2行);如果命中多个立方体,则分别对各种汇总类型进行计算。第一个子成员、第一个非空子成员则返回计算第一个Cube相应的值(第6,7行);最后一个子成员、最后一个非空子成员则返回计算最后一个Cube相应的值(第9,10行);计算Distinct Count先准备所有Cube相关维度数据,再计算结果(第12,13行);用户自定义函数先分析表达式预准备所有计算中所需数据,再计算结果(第15-17行);平均值先计算总SUM值及总COUNT值(第21,22行),最终返回时再计算平均值(第41行);求和则进行累加(第24行),最终返回(第42行);最大值先初始化为第一个命中Cube的最大值(第27行),再以此比较更新(第29行),最终返回结果(第42行);最小值类似最大值;计数则类似求和。
表1
五、定期维护:
当增量数量较多时,可对数据仓库进行重新聚合。可选择在数据仓库服务器工作空闲时间内手动进行重新聚合,聚合算法选择原数据仓库聚合算法。聚合成功后删除数据仓库中各增量聚合表,更新Schema文件。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
Claims (6)
1.一种多维数据立方体增量聚合及查询优化方法,其特征在于,包括以下步骤:
1)从数据仓库中获取增量数据,将其存放在与原数据仓库结构一致的临时数据库中;
2)选择冰山立方体的算法,对临时数据库中的增量数据进行聚合,生成增量数据立方体表及增量聚合数据,并清空临时数据库的数据;
3)将生成的增量数据立方体表及增量聚合数据上传至服务器,与原增量聚合数据合并;
4)OLAP查询时解析各增量数据立方体表及增量聚合数据,将有用的结果汇总输出;
5)适时对增量数据立方体表及增量聚合数据进行维护,在数量增量聚合数据较多或系统压力小的一段时间内,对整个数据仓库重新进行全聚合。
2.根据权利要求1所述的一种多维数据立方体增量聚合及查询优化方法,其特征在于,步骤1)所述的数据仓库中获取增量数据采用时间戳方式。
3.根据权利要求1所述的一种多维数据立方体增量聚合及查询优化方法,其特征在于,步骤2)所述的冰山立方体算法包括BUC算法和Star-Cubing算法。
4.根据权利要求1所述的一种多维数据立方体增量聚合及查询优化方法,其特征在于,步骤3)所述的生成的增量数据立方体表及增量聚合数据上传至服务器,与原增量聚合数据合并时,对原增量聚合数据进行备份。
5.根据权利要求4所述的一种多维数据立方体增量聚合及查询优化方法,其特征在于,步骤3)所述的生成的增量数据立方体表及增量聚合数据上传至服务器,与原增量聚合数据合并时,原增量聚合数据进行备份后,备份文件以合并时的时间作为备份名称。
6.根据权利要求1或2或3或4或5任一权利要求所述的一种多维数据立方体增量聚合及查询优化方法,其特征在于,步骤3)所述的生成的增量数据立方体表及增量聚合数据上传至服务器,与原增量聚合数据合并后的增量聚合表以合并时的时间后缀命名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110308285.1A CN102360379B (zh) | 2011-10-10 | 2011-10-10 | 一种多维数据立方体增量聚合及查询优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110308285.1A CN102360379B (zh) | 2011-10-10 | 2011-10-10 | 一种多维数据立方体增量聚合及查询优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102360379A CN102360379A (zh) | 2012-02-22 |
CN102360379B true CN102360379B (zh) | 2013-01-16 |
Family
ID=45585708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110308285.1A Active CN102360379B (zh) | 2011-10-10 | 2011-10-10 | 一种多维数据立方体增量聚合及查询优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102360379B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3308303A4 (en) * | 2015-07-07 | 2018-04-18 | Huawei Technologies Co., Ltd | Mechanisms for merging index structures in molap while preserving query consistency |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663114B (zh) * | 2012-04-17 | 2013-09-11 | 中国人民大学 | 面向并发olap的数据库查询处理方法 |
US10360204B2 (en) | 2014-05-22 | 2019-07-23 | Entit Software Llc | User defined function, class creation for external data source access |
CN104391928B (zh) * | 2014-11-21 | 2018-08-28 | 用友网络科技股份有限公司 | 动态构建多维模型定义的装置和方法 |
CN104462446A (zh) * | 2014-12-15 | 2015-03-25 | 北京国双科技有限公司 | 基于数据立方体的可视化数据的二维显示方法和装置 |
CN107408134A (zh) * | 2015-03-19 | 2017-11-28 | 华为技术有限公司 | 重建多维数据库的数据存储的方法和重建服务器 |
CN104866562A (zh) * | 2015-05-20 | 2015-08-26 | 东华大学 | 一种基于hadoop平台的事实并行处理方法 |
CN105426501B (zh) * | 2015-11-25 | 2018-12-21 | 广州华多网络科技有限公司 | 多维数据库自动路由实现方法和系统 |
CN107767242A (zh) * | 2016-08-15 | 2018-03-06 | 平安科技(深圳)有限公司 | 账务数据处理方法及账务数据处理装置 |
CN108268515B (zh) * | 2016-12-30 | 2020-07-31 | 北京国双科技有限公司 | 聚合表维度的选择方法和装置 |
CN106844713A (zh) * | 2017-02-07 | 2017-06-13 | 北京微影时代科技有限公司 | 一种数据立方体生成的方法及装置 |
CN109213829A (zh) * | 2017-06-30 | 2019-01-15 | 北京国双科技有限公司 | 数据查询方法及装置 |
CN110019477A (zh) * | 2017-12-27 | 2019-07-16 | 航天信息股份有限公司 | 一种使用hive备份表进行大数据处理的方法及系统 |
CN108255988A (zh) * | 2017-12-28 | 2018-07-06 | 新智数字科技有限公司 | 数据的处理方法和处理系统 |
US10740356B2 (en) * | 2018-06-27 | 2020-08-11 | International Business Machines Corporation | Dynamic incremental updating of data cubes |
CN110688388A (zh) * | 2019-08-29 | 2020-01-14 | 威富通科技有限公司 | 一种数据立方体的动态更新方法及服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026138A1 (en) * | 2004-01-09 | 2006-02-02 | Gavin Robertson | Real-time indexes |
US7480663B2 (en) * | 2004-06-22 | 2009-01-20 | International Business Machines Corporation | Model based optimization with focus regions |
CN101794299B (zh) * | 2010-01-27 | 2012-03-28 | 浪潮(山东)电子信息有限公司 | 一种历史数据管理的增量定义、处理方法 |
-
2011
- 2011-10-10 CN CN201110308285.1A patent/CN102360379B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3308303A4 (en) * | 2015-07-07 | 2018-04-18 | Huawei Technologies Co., Ltd | Mechanisms for merging index structures in molap while preserving query consistency |
CN108140024A (zh) * | 2015-07-07 | 2018-06-08 | 华为技术有限公司 | Molap中合并索引结构并保持查询一致性的机制 |
US10037355B2 (en) | 2015-07-07 | 2018-07-31 | Futurewei Technologies, Inc. | Mechanisms for merging index structures in MOLAP while preserving query consistency |
CN108140024B (zh) * | 2015-07-07 | 2021-01-29 | 华为技术有限公司 | Molap中合并索引结构并保持查询一致性的机制 |
Also Published As
Publication number | Publication date |
---|---|
CN102360379A (zh) | 2012-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102360379B (zh) | 一种多维数据立方体增量聚合及查询优化方法 | |
CN102521406B (zh) | 海量结构化数据复杂查询任务的分布式查询方法和系统 | |
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
Raju et al. | Pebblesdb: Building key-value stores using fragmented log-structured merge trees | |
CN103366015B (zh) | 一种基于Hadoop的OLAP数据存储与查询方法 | |
US9135280B2 (en) | Grouping interdependent fields | |
CN104317800A (zh) | 一种海量智能用电数据混合存储系统及方法 | |
US20150356137A1 (en) | Systems and Methods for Optimizing Data Analysis | |
US10963839B2 (en) | Nested hierarchical rollups by level using a normalized table | |
EP2263180A2 (en) | Indexing large-scale gps tracks | |
CN107220285A (zh) | 面向海量轨迹点数据的时空索引构建方法 | |
CN103425772A (zh) | 一种具有多维信息的海量数据查询方法 | |
CN105631003A (zh) | 支持海量数据分组统计的智能索引构建、查询及维护方法 | |
CA3068333C (en) | Systems and methods for intelligently grouping financial product users into cohesive cohorts | |
CN105843842A (zh) | 一种大数据环境下多维聚集查询与展示系统及方法 | |
CN110795614A (zh) | 一种索引自动优化方法及装置 | |
Ceci et al. | Big data techniques for supporting accurate predictions of energy production from renewable sources | |
CN105405069A (zh) | 一种购电经营决策分析与数据处理方法 | |
CN102867066A (zh) | 数据汇总装置和数据汇总方法 | |
Correia et al. | Fast online analytical processing for big data warehousing | |
CN110781210A (zh) | 一种应对大规模数据多维聚合实时查询的数据处理平台 | |
CN111639060A (zh) | 一种火电厂时序数据处理方法、装置、设备及介质 | |
CN103455556A (zh) | 智能存储单元数据裁剪方法 | |
CN112667859A (zh) | 基于内存的数据处理方法及装置 | |
CN112685444A (zh) | 数据查询方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP02 | Change in the address of a patent holder |
Address after: Hangzhou City, Zhejiang Province, Binjiang District Puyan street 310053 Albert Road No. 1 Building 2 Zhejiang Hongcheng computer system Co. Ltd. Patentee after: Zhejiang Hongcheng Computer Systems Co., Ltd. Address before: 1, building 11, building 1, No. 310013, staff Road, Hangzhou, Zhejiang Patentee before: Zhejiang Hongcheng Computer Systems Co., Ltd. |