- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于立方体复杂查询高效算法
一种基于立方体的复杂查询的高效算法
摘 要:提出一种高效的整体多特征方查询算法。该算法首先将数据立方体水平分块成多个小数据集,然后将各子查询中的聚集函数分类,并对其中的分布和代数聚集函数使用分布聚集特性优化计算,使得整体多特征方查询可以局部使用分布多特征方查询的优化计算方法。实验结果证明该方法可以有效地提高整体多特征方查询的效率。
关键词:复杂查询; 多特征方; 多粒度聚集
中图分类号:TP311文献标志码:A
文章编号:1001-3695(2007)03-0030-04
0 引言
近年来,对多维空间(Multi??Dimensional Space,MDS) 上的数据分析成为研究的热点。多维数据分析有着广泛的应用前景,如可以实现趋势预测、发现异常模式,以及回答What??If问题等。由于多维数据表的数据特点和数据复杂性,需要分析多个属性间的关系以及对多个维属性同时进行操作。多维数据模型采用数据立方体(Data Cube)形式。数据立方体表示多维数据的优势在于它能在多个粒度层上表示数据,同时有利于计算聚集值。基于数据立方体的查询可以方便地进行各种OLAP操作[1],如上卷、下钻、切片、切块等。由于海量数据所带来的问题,完全物化整个数据立方体是不现实的。目前很多研究工作均集中在如何有效减小立方体大小,提高聚集计算速度,从而快速响应查询等方面。这些研究一般针对的都是简单查询。简单查询大多可以直接使用分布聚集函数(如??sum(),????count()??等)或代数聚集函数(average()等)实现。随着数据挖掘技术的发展和商业竞争的需求,多粒度的复杂聚集研究已经成为数据立方体技术进一步发展的方向[2]。多粒度的复杂聚集是基于立方体的复杂查询的基本特征。相对于简单查询,复杂查询能提供更多和更详细的数据信息,对决策分析提供强有力的支持。现有的决策支持系统追求的目标就在于如何有效地回答大型数据库的复杂查询。立方体查询之所以不同于一般的SQL查询,就在于它允许在多个粒度上计算聚集值。复杂查询实例如下:??
查询1 按{month, customer, item}的所有分组, 求出2004年的最低价格,并在最低价格的元组中,找出销售量最大和最小的商品利润总和。??
查询2 按{month,customer,item}的所有分组, 求出2004年所有分组的最低价格,并求出各分组中商品价格在最低价格的125%、150%、175%以内的商品总销售量。??
上述立方体查询将会在八个不同粒度上计算聚集值[3],分别是{month}、{customer}、{item}、{month, customer}、{month, item}、{customer, item}、{month, customer, item}和{*}。其中,“*”表示所有(ALL)。 这里的每个粒度,就对应着SQL中的一个Group By分组。??
根据上述复杂查询的实例,可以归结出基于立方体的复杂查询具有这样一些特点:①查询在所有可能的??2??n (n??为分组维属性的个数)个粒度上进行计算;②复杂查询由多个具有聚集依赖关系的简单查询构成,这些简单查询构成了复杂查询的子查询。文献[4]将这种在所有可能的??2??n??个粒度进行的具有聚集依赖关系的复杂查询称为多特征立方体?┆?(Multi??Feature Cubes,MF??Cubes)查询。多特征方查询依据查询中所使用的聚集函数类型进行分类。在文献[1]中将聚集函数类型分为三类,即分布(Distributive)、代数(Algebraic)和整体(Holistic)。相应地,多特征方也分为分布多特征方、代数多特征方和整体多特征方三类。??
分布多特征方查询有一个明显特征,那就是粗粒度的聚集结果可以由细粒度的聚集结果计算得到,如查询1为分布多特征方查询的典型实例。假设在细粒度{month, custo ̄mer, item}上计算了等于最低价格的各个月份的销售量总和,则粗粒度{customer, item}的销售量总和就等于细粒度{month, custo ̄mer, item}中计算的12个月的销售量相加,不必重新计算。本文称这个特征为分布聚集特性,用于描述两个粗细粒度间的聚集计算依赖关系。代数多特征方通过变化聚集函数也可转换为分布多特征方,也可以使用这种聚集计算特性来实现计算的优化,如count()函数可以由sum()/??n??计算得出。??
整体多特征方就不能直接使用分布聚集特性来优化计算。例如,查询2为整体多特征方查询的实例。细粒度{month, customer,??item}??的查询结果不能用于计算粗粒度{customer, ??
文档评论(0)