CN102360379B - 一种多维数据立方体增量聚合及查询优化方法 - Google Patents

一种多维数据立方体增量聚合及查询优化方法 Download PDF

Info

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
Application number
CN201110308285.1A
Other languages
English (en)
Other versions
CN102360379A (zh
Inventor
王璐华
肖敏
周伟强
徐精忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Hongcheng Computer Systems Co Ltd
Original Assignee
Zhejiang Hongcheng Computer Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Hongcheng Computer Systems Co Ltd filed Critical Zhejiang Hongcheng Computer Systems Co Ltd
Priority to CN201110308285.1A priority Critical patent/CN102360379B/zh
Publication of CN102360379A publication Critical patent/CN102360379A/zh
Application granted granted Critical
Publication of CN102360379B publication Critical patent/CN102360379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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行);最小值类似最大值;计数则类似求和。
Figure BSA00000589954700071
Figure BSA00000589954700081
表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)所述的生成的增量数据立方体表及增量聚合数据上传至服务器,与原增量聚合数据合并后的增量聚合表以合并时的时间后缀命名。
CN201110308285.1A 2011-10-10 2011-10-10 一种多维数据立方体增量聚合及查询优化方法 Active CN102360379B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 浪潮(山东)电子信息有限公司 一种历史数据管理的增量定义、处理方法

Cited By (4)

* Cited by examiner, † Cited by third party
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.