0期 第34卷 第lVoL34 ・计算机工程 2008年5月 May 2008 No.10 Computer Engineering 软件技术与数据库・ 文章编号:10o0-__3428(2008)10___o067—03 文献标识码:A 中图分类号:TP391 基于Caching重用的复杂数据立方体聚集方法 唐培和,王日凤,刘浩 (广西工学院计算机工程系,柳州545006) 摘要:基于数字立方体的复杂查询是立方体技术的发展方向。该文针对复杂立方体查询中可能存在的3种聚集依赖,分别给出3种基于 Caching重用技术的解决方法。在模拟数据集和真实数据集上的实验结果验证了该方法的有效性和正确性。 关健诃:立方体查询;复杂查询;粒度计算 Aggregation Approaches for Complex Data Cube Based on Caching Reusing TANGPei-he,WANGRi-feng,LIUHao (Dept.of Computer Engineering,Guangxi University of Technology,Liuzhou 545006) [Abstract】Complex query based on data cube is the development direction of cube technique.This paper detects three types of the dependent—relationships in complex data cube query,and proposes three methods based on cache reusing accordingly.The experiments on synthetical and real datasets illustrate the approaches proposed are eficifent and promising [Key words]data cube query;complex query;granulr computiang 数据立方体是空间数据的一个有效模型。用立方体 征立方体方,简称多特征方。 复杂立方体查询除了具有立方体查询的典型特征,即多 个粒度聚集计算外,还有一个独有的主要特征,即聚集依赖。 这种聚集依赖特征和复杂立方体查询的提出有关,本文研究 表示数据直观且有利于计算聚集值。随着信息处理技术 的发展,从简单立方体查询的实现(含1个子查询)到复杂立 方体查询的快速响应是决策支持系统的必然趋势和发展目 标。基于数字立方体的复杂查询是立方体技术的发展方向, 聚集依赖性是复杂立方体查询的主要特性 j。基于立方体的 查询是OLAP(On—Line Analysis Processing)技术的核心功 能 。本文研究了复杂立方体查询的3种聚集依赖关系(完全 依赖,部分依赖和互斥依赖)并给出相应算法(完全Caching 重用、部分Caching重用和反Caching重用机制)。 的复杂查询是由用户连续提出的、在时间上具有同时性或连 续性、其中含多个子任务且它们之间具有一定内在逻辑性的 查询。这与不同用户间断提出的查询流不同,后者只是一种 按时问顺序排列的查询序列,内容上可以毫不相关,可以不 存在内在逻辑性特征,因此,能随意交换。而立方体查询的 多个子查询任务的执行顺序一般不能任意交换。 由上述分析可知,复杂立方体查询中的聚集依赖性是指 构成查询的多个子任务问的逻辑依赖关系,例如后一子查询 的聚集依赖于前一子查询的聚集结果。 l相关工作 立方体查询技术始于l996年,由于立方体中数据聚 集计算复杂且难度较大,因此多数研究集中于简单立方体查 询。复杂立方体查询研究目前处于起步阶段,相关文献较少。 l998年文献【2】首次提出复杂立方体查询,并用扩展的SQL 语言对其进行描述;文献【l】将复杂立方体查询分为分布型、 代数型和整体型3类,并提出了分布型和代数型复杂立方体 查询的计算方法;文献【3】针对计算难度较大的整体型复杂立 方体查询提出解决方法,利用部分分布聚集特性优化计算整 体型复杂查询;文献【4】在文献【3】的基础上增加了冰山查询重 用技术,提高了整体型复杂立方体查询的效率;文献【5】根据 整体型复杂立方体查询的特点,提出基于Cache重用的方法, 初步分析了复杂立方体查询中可能存在的3种聚集依赖关 2.2复杂查询中的聚集依赣 设数据库为销售数据库Selling,取其4个维ftime, customer,price,sale}。设R ,R自分别表示在同一粒度层的不同 子查询的查询数据集/结果集,则3种子查询问的聚集依赖关 系分别如下: (1)完全重叠 若R c ,则聚集结果为完全重叠依赖。完全重叠可分 为2种情况:1)前一个子查询的数据集/结果集包含后一个子 查询的数据集/结果集;2)后一个子查询的数据集/结果集包含 前一个子查询的数据集/结果集。例如: 查询Q1:按fmonth,customer,item}的所有分组,求出2006年 系,但没有给出具体解决方法或相应算法。 2复杂立方体查询及其聚集依赖 2.1复杂立方体查询及其特征 简单立方体查询是在多个粒度上计算且仅含一个子查询 的查询;复杂立方体查询是在多个粒度上计算且含有2个或 2个以上子查询的查询。计算复杂查询的立方体也称为多特 的最低价格,并求出各分组中最低价格商品的总销售量。 基金项目:广西自然科学基金资助项目(0481016) 作者筒介:唐培和(1964--),男,副教授,主研方向:软件工程,人 工智能;王日凤,博士研究生;刘浩,讲师、硕士 收稿日期:2008—02—27 E—mail:tangpeihe@163.com 维普资讯 http://www.cqvip.com 查询02:按{month,customer,item)的所有分组,求出2006年 所有分组的最低价格,并求出各分组中商品价格在最低价格的125% 150%,175%以内的商品的总销售量。 Q1和Q2属于完全重叠情形。在查询Q1中,第1个子 查询先求出2006年的最小价格,第2个子查询在第1个子查 询的结果集(即价格为最低价格的元组)中求出总销售量。查 询Q2的第2~第4个子查询,都存在后一个子查询的数据和 结果包含了前一个子查询的数据和结果的情况。 (2)部分重叠 若尺 =尺 n 且 ≠ ,R ≠R ,R ≠R自,则聚集结果为 部分重叠依赖,即前后结果中有部分结果相同,而其余的不 相同。例如: 查询03:按{month,customer,item)的所有分组,求出第1个月~ 第2个月所有商品的销售变化量及第2个月~第3个月所有商品的 销售变化量。 Q3的第1个子查询需要查找第1个月~第2个月的商品 销售变化量,第2个子查询需要查找第2个月~第3个月的 销售商品变化量,因此,2个子查询中均要用到第2个月的 销售数据。 (3)互斥重叠 若尺 nR自= ,则聚集结果为互斥重叠依赖。这种情况表 明一个子查询的数据集/结果集不包含另一个子查询的数据 集/结果集,并且一个子查询的数据集/结果集需要在剔除另一 个子查询的数据集/结果集基础上进行。例如: 查询04:按{month,customer,item)的所有分组,求出2004年 的总销售量,并求出各分组中占总销售量第1个10%的最高销售量 商品和占第2个1O%的次高销售量商品。 Q4的第2个子查询查找占销售量10%的最高销售量商 品,而第3个子查询则查找占销售量第2个10%的次高销售 量商品。具体做法是将商品按销售量排序后,先选取最高的 占总销售量10%的商品,然后再在余下商品中找满足第2个 子查询的商品。 3种查询任务间的聚集依赖关系如图1所示。 (c)Anti—overlap 图1 3类聚集依犊 3基于CACHE重用的聚集技术 针对上述3种立方体聚集依赖关系,本文提出基于Cache 重用的聚集技术。 3.1 Cache重用技术 Cache本义是高速缓冲存储器,是解决CPU计算速度与 外存读取速度不匹配而使用的一种特殊存储器子系统。Cache 重用技术指存储当前data以供后续计算重复使用,从而节约 重新处理和载入的时间,提高效率。Cache重用技术广泛用 于查询处理,包括查询流和传统的数据库查询。 3.2 3种基于Cache重用的依赖聚集技术 复杂立方体查询中可能存在的3种依赖聚集有一个共同 特点,即存在于前后子查询任务的聚集结果集中。因此,本 文提出了基于Cache重用的依赖聚集方法。 (1)使用完全Cache重用机制解决完全重叠依赖。对于复 杂立方体查询中的完全重叠,由于前后子查询的结果集是完 全包含的关系,因此在计算前一子查询任务后,不清除当前 Cache中的data,为后续子查询完全重用。 例如,在查询 中,实现了子查询任务】后,已经保 存了所有粒度所有分组的最小值(可能达几万个甚至更多), 因此,在实现子查询任务2时,可以直接使用这部分聚集结 果,无须重新计算,对查询Q2可做相同处理。图2描述了 此实现过程:将子查询任务1的聚集结果Resultl及子方cl 都完全重用到子查询任务2中去,后续做相同处理。 图2完全重叠型Caching重用示意图 (2)使用部分Cache重用机制解决部分重叠依赖。因为子 查询结果集是部分重叠,所以只须部分重用结果集。而且, 由于已经聚集的子查询任务的结果可以被后续子查询任务重 用,因此不必重新使用已经计算过的方体数据,只须对其余 数据继续后面的聚集过程。称这样的部分结果和方体重用为 部分方体和结果集Cache重用。例如,在查询Q3中,实现 了查询任务1,输出聚集结果后,只须保留第2个月各个分 组的Sum(Sales),用于子查询3的聚集过程。 (3)使用反Cache重用机制来解决互斥重叠依赖。在互斥 依赖中,由于不同子查询中的结果集之间是不重叠的,且后 续子查询需要在剔除前一个子查询任务的聚集结果集的基础 上进行,因此在实现了当前子查询任务后,必须清除这部分 结果和数据,以便后续子查询任务能顺利实现。这种清除机 制相应地称为反Cache重用。例如,查询Q4,在实现了子查 询1和子查询2后,必须把子查询2中满足第1个 10%Sum(Sales)的商品从当前Cache中剔除,这样子查询3的 第2组商品才能被顺利找出。 4实验和分析 为验证方法的可行性及执行效率,本文在模拟数据和 Weather真实数据集上进行了效率对比实验。对于基本算法, 分布型和代数型复杂立方体查询采用来源于计算分布型和代 数型简单立方体查询的BUC算法的Partitioned—Cube实现 ; 整体型复杂立方体查询采用以Partitioned—Cube为基础的算 法” 。对于改进的比较算法,前2类采用在Partition—Cube基 础上增加Caching技术的改进算法;而整体型则采用在PDIC 算法 基础上修改的算法。为提高效率,本文同时对3种类 型的复杂立方体查询均采用了冰山查询技术(iceberg query) 。l,该技术的目的是解决大数据集的选择物化问题, 采用一定的冰山条件,只物化部分立方体。基本数据集是冰 山,筛选出的数据集为冰山顶。由于是有条件的选择数据, 维普资讯 http://www.cqvip.com 因此能将搜索的范围尽可能缩小到用户感兴趣的部分,从而 提高查询效率。 均高于基本算法,且真实数据集中效率的提高程度低于模拟 数据集,原因是模拟数据集的数据量远大于真实数据集,数 据量越大,Caching重用技术的优势越明显。 4.1数据集 为验证本文方法的有效性,笔者在模拟数据集和真实数 据集上进行了试验。模拟数据采用数据生成器产生,数据量 为5x 10。条记录,分稠密型和稀疏型2类;真实数据集采用 Weather数据集,数据量为0.98X 10 条记录,如表1所示。 表1真实的weather数据及晨性选取 通过对分布型和代数型复杂立方体查询的实验比较发 现,其效率提高程度明显低于整体型复杂立方体查询,原因 是整体型复杂立方体查询除了采用Caching重用技术外,还 采用了部分分布聚集性质及冰山查询技术。 匝o B—asicAlg ̄—一lmproveAlg]300 —o BasicAlg ̄—lmproveAlg[ 壶 主200 e 100 Ql Q2 Q3 Q4 Q1 Q2 Q3 Q4 测试属性 hangeC。d。 Cl。n2lIudel0 (a)稠密数据集 (bJ稀疏数据集 【0,36 000 4.2基本算法 对于分布型和代数型复杂立方体查询,采用Partitioned— Cube算法实现。Partitioned—cube算法思想主要有以下2点: (1)将大的基本数据集分化为多个适合内存大小的子方 (Partitioned—Cube到Memory—cube); U1 Q2 3‘ (c)真实数据集 (2)在每个子方上执行各个复杂操作(independent operation)。 图3实验结果 4.3复杂立方体查诲优化算法 优化算法也相应分2类:(1)分布型和代数型优化算法; (2)整体型优化算法。第(1)类优化算法是在Partitioned—Cube 算法基础上增加Caching重用技术,即在计算粒度的聚集函 数时,增加如下判断: if TypeAggreQuery(qi,qJ)=Entire—Caching then call AggreQuery(qi,qJ.o): else if TypeAggreQuery(qi,qP=Part—Caching then call AggreQuery(qi,qJ 1); else if TypeAggreQuery(qi,qJ)=Anti—Caching then call AggreQuery(qi,qJ、2); 5结束语 本文分析了复杂立方体查询不同于简单立方体查询的多 个优势,并针对已有研究的不足,对复杂立方体查询进行了 深入研究,提出基于Cache重用的聚类依赖解决方法。 参考文献 [1]Ross K A,Srivastava D,Chatziantoniou D.Complex Aggregation at Multiple Granularities[C]//Processings of the 6th Int’l Conference on Extending Database Technology.Valencia,Spain:Springer Verlag,1 998:263—277. 【2]Chatziantoniou D,Ross K A.Querying Multiple Features of Groups in Relational Databases[C]//Proceedings of the 22nd International Conference on Very Large Data Bases.IS.1.]:Morgan Kaufmann Publishers Inc.,1996. 其中,AggreQuery(sub—queryl,Sub—query2,Caching—type)中 的0,l,2分别代表Entire—Caching,Part—Caching,Anti— Caching。第(2)类优化算法可以通过将文献[7IPDIC算法中的 相应语句用该if语句替换来实现。 【3]曾德胜,覃【4】覃泽,王日凤.一种基于立方体的复杂查询的高效算 法[J】_计算机应用研究,2007,24(3):30—33. 泽,王日凤,张师超,等.多特征方查询优化策略[J1.计算 机应用,2006,26(7):l655—1658. [51 Zhang Shichao,Wang Rifeng,Guo Yanping.Efficient Computation of Multi—feature Data Cubes[C]//Proceedings of the l st International Conference on Knowledge Science,Engineering and Mangement. 4.4实验结果 实验II的主要是测试采用了Caching技术后算法的效率 情况。在稀疏、稠密和真实数据集下的实验结果如图3所示 (共5 X 10。条记录)。在实验结果图中,BasicAlg代表基本算 法;ImproAlg代表改进算法。 由实验结果可以看出,在3种数据集下改进算法的效率 Guilin,China:Is n.],2006. (上接第66页) 参考文献 【1]McGregor C,Schiefer J.A Web Service Based Framework for Analyzing and Measuring Business Performance[J].Information Systems and E—business Management,2004,2(1):89一I 10. [2]Fu S,Chieu L Yih J,et a1.An Intelligent Event Adaptation Mechanism for Business Performance Monitoring[C]//Proc.of 【3]Felber Chan C,Garofalakis M,et a1.Scalable Filtering of XML DataforWeb Services[J].InternetComputing,2003,7(1):49—57. 【4]Bebawy R,Sabry H,Kassas S,et a1.Nedgty:Web Services Firewall[C]//Proc.of ICWS’05.Orlando,Florida,USA:【s.n.], 2o05. [5]Diao Yanlei,Fischer只Franklin M,et a1.YFilter:Eficifent and Scalable Filtering of XML Documents[C]//Proc.of ICDE’02.San Jose,CA,USA:【s.n.],2002. ICEBE’05.Bering,China:【s.n.],2005.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务