数据仓库与决策支持系统.ppt
《数据仓库与决策支持系统.ppt》由会员分享,可在线阅读,更多相关《数据仓库与决策支持系统.ppt(31页珍藏版)》请在三一办公上搜索。
1、,第4部分 其它高级主题第12章 数据仓库与决策支持系统,高级数据库系统及其应用,2023/6/21,2,第12章 数据仓库与决策支持系统,数据仓库技术概述,12.1,OLAP,12.2,OLAP的实现技术,12.3,视图与决策支持系统,12.4,快速返回部分结果,12.5,2023/6/21,3,12.1 数据仓库技术概述,12.1.1 决策支持查询的新特征,12.1.2 支持决策支持查询的系统类型,12.1.3 数据仓库,2023/6/21,4,12.1.1 决策支持查询的新特征,查询表达的WHERE子句通常是包含很多AND和OR的复杂条件。传统RDBMS针对OR的处理能力很弱。数据分析应
2、用需要广泛使用各种统计函数。SQL-92只内置支持的了min/max/avg/sum/count五个统计函数,不支持象标准差等一些其它基本统计函数。完成高级统计需要由嵌入SQL的应用代码来完成。许多查询包括与时间有关的条件,通常需要基于各种典型时间周期进行分析和汇总。SQL-92缺乏处理时间序列数据方面的功能支持。在数据分析应用中,用户可能需要反复提出同一组类似查询。这不仅枯燥乏味,也使得DBMS无法从中识别或发掘查询优化机会。,2023/6/21,5,12.1.2 决策支持查询的系统类型,1)增强或扩展了OLAP特性的DBMSOLAP:OnLine Analytic Processing这类
3、系统可高性能支持包含GROUP-BY和汇总操作符型式查询,且能对复杂布尔条件、统计函数和时间序列分析提供良好支持。2)专用OLAP系统在已有DBMSs的基础上,面向决策支持进行优化,以增强支持高效OLAP查询的一类专用系统。随时间推移,专用OLAP系统和增强了OLAP特性的RDBMS系统之间区别可能会越来越小。3)数据挖掘(Data Mining,DM)。希望从大数据集中探索发现有趣、意外趋势,探索特别数据模式。,2023/6/21,6,12.1.3 数据仓库系统,2023/6/21,7,12.2 OLAP,12.2.1 多维数据模型,12.2.2 OLAP查询,12.2.3 与SQL操作比较
4、,12.2.4 统计数据库,12.2.5 OLAP设计,2023/6/21,8,12.2.1 多维数据模型,在多维数据模型中,核心数据项是一组事实度量,每个度量依赖于一组维度。例如,在一个关于销售数据管理的应用中,sales(销售数量)是度量属性。维度则包括Product(产品)、Location(地区)和Time(时间)。给定一个产品、一个地区和一个时间点,我们最多只有一个销售值。,图12.2 一个多维数据集的图形化表示,每个小立方体格点(cell)内存储表示一个销售值。,2023/6/21,9,12.2.1 多维数据模型,MOLAP直接用多维数组来存储多维数据集的OLAP专用系统。MOLA
5、P:multidimensional OLAPROLAP直接关系来存储多维数据集的OLAP专用系统。例如对前述销售管理,可被表示为以下一组关系:Sales(pid、timeid、locid,sales)Locations(locid:integer,city:string,state:string,country:string);Products(pid:integer,pname:string,category:string);Times(timeid:integer,date:string,week:integer,month:integer,quarter:integer,year:in
6、teger,holiday_flag:boolean);,2023/6/21,10,12.2.2 OLAP查询,OLAP系统的目标是给最终用户提供一个直观且强有力的查询接口,满足一般的面向商务分析任务。常见的OLAP操作是基于多维数据集,在一个或多个维度上的度量值汇总。一些典型的OLAP操作上卷(roll up)下钻(drill-down)绕轴旋转(pivoting)以下几个查询非常具有典型性,查销售总额;查询每个城市的销售总额;查询每个州的销售总额;查询销售总额排行前五名的产品类(该查询无法用标准SQL语法来表达)。,2023/6/21,11,与SQL操作比较,虽然有些OLAP查询很难用SQ
7、L表达,或根本不能用SQL表达(如TOP n查询)。但大多数的OLAP查询都可用SQL表达。典型地,它们是一些包含分组和聚合操作的SQL语句。单个OLAP操作可能导致几个密切相关的SQL查询。例如,对图12.5的交叉表,是通过绕轴(Time,Locatin)旋转获得。我们也可用下面查询来获得同样的结果:SELECT SUM(S.sales)FROM Sales S,Time T,Locations L WHERE S.timeid=T.timeid AND S.locid=L.locid GROUP BY T.year,L.state这个查询产生图12.5中灰色背景部分的单元。而该图中最下汇总
8、行和最右汇总列则可分别通过下面两个SQL语句获得:,2023/6/21,12,12.2.3 与SQL操作比较,这个交叉表也可被认为是在Location维、时间维、以及同时在Location维和时间维上的上卷。每个上卷对应一个带GROUP BY的SQL查询。一般来说,给定一个带有k个相关维的度量,我们能在任何这k个维的子集维上上卷,故我们有总数大约2k个这样的SQL查询。一个高层次的操作(象pivoting操作),一次可能产生这2k个SQL查询。分析这些查询的共性,有助于我们更有效地协调计算这组查询集。一种关于SQL的建议扩展称为CUBE,它等价于一组GROUP BY语句,每个GROUP BY语
9、句中包含的相关属性,对应k维属性集的一个属性子集。,2023/6/21,13,12.2.3 与SQL操作比较,CUBE使用示例观察下面这个特殊的扩展查询:CUBE pid,locid,timeid BY SUM Sales它将在其所有的八个子集(包括全集pid,locid,timeid和空集)上上卷。它等价于八个以下形式的操作:SELECT SUM(S.sales)FROM Sales SGROUP BY grouping-list这些查询只是在grouping-list上稍有不同,每个grouping-list对应pid,locid,timeid的一个子集。我们可将这八个查询想象为被分别对应
10、图12.6中的一个栅格节点。每个节点上的结构元组可被进一步聚合来计算它的任何子节点结果。在一个CUBE内,这些查询间的关系可被发掘利用来改善赋值性能。,2023/6/21,14,12.2.4 统计数据库,许多OLAP概念已在早期的统计数据库(statistical databases,SDBs)中得到了体现。多维数据模型中关于“度量关联维度”的概念、“维值的分类层次结构”都早已被用在SDBs,上卷和下钻,在SDBs中也都有对应的操作。可能是由于应用领域和使用术语不同,两者的联系并未引起人们足够的注意。但OLAP和SDB之间还是有相当程度的区别。例如,SDBs主要用在社会经济学领域,对属性概念分
11、类层次和便于针对一些个性问题进行处理非常重要。SDBs中分类层次通常比OLAP应用中的分类层次更复杂,且受关注的程度更高。OLAP则主要面向包含大量数据集的商务应用,比SDB更关注高效处理非常大数据集的能力。,2023/6/21,15,12.2.5 OLAP设计,OLAP设计一般建议采用以事实表为中心(本例中,事实表为Sales),并以事实表主键的各分量属性关联各维表的星型模式。数据的主体主要存储在事实表中,要求采用无冗余设计,一般要求满足BCNF规范。维表设计不要求满足很高规范(只要求满足2NF规范即可)。降低维表规范虽然可带来一定的冗余,但可显著减少连接操作,有助于提高查询处理的性能。由于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据仓库 决策 支持系统
链接地址:https://www.31ppt.com/p-5270302.html