《在线分析处理OLAP》由会员分享,可在线阅读,更多相关《在线分析处理OLAP(33页珍藏版)》请在金锄头文库上搜索。
1、在线分析处理在线分析处理Online Analytical Processing赵卫东 博士复旦大学软件学院OLAP发展背景发展背景n60年代,关系数据库之父年代,关系数据库之父E.F.Codd提出了关系模型,促进了提出了关系模型,促进了联机事务处理联机事务处理(OLTP)的发展的发展(数据以表格的形式而非文件方式数据以表格的形式而非文件方式存储存储)。1993年,年,E.F.Codd提出了提出了OLAP概念,认为概念,认为OLTP已已不能满足终端用户对数据库查询分析的需要,不能满足终端用户对数据库查询分析的需要,SQL对大型数对大型数据库进行的简单查询也不能满足终端用户分析的要求。用户据库进
2、行的简单查询也不能满足终端用户分析的要求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,而查询的结果并不能满足决策者提出的需求。因此,E.F.Codd提出了多维数据库和多维分析的概念,即提出了多维数据库和多维分析的概念,即OLAP。n OLAP是目前是目前RDBMS不可缺少的功能,可以作为一个独立的不可缺少的功能,可以作为一个独立的OLAP服务器实现,也可以集成在服务器实现,也可以集成在RDBMS中。中。什么是什么是OLAPOLAP?n定定义义1 :OLAP(联联机机分分析析处处理理)是
3、是针针对对特特定定问问题题的的联联机机数数据据访访问问和和分分析析。通通过过对对信信息息(维维数数据据)的的多多种种可可能能的的观观察察形形式式进进行行快快速速、稳稳定定一一致致和和交交互互性性的的存存取取,允允许许管管理理决决策策人人员员对对数数据据进进行行深入观察。深入观察。n定定义义2 :OLAP(联联机机分分析析处处理理) 是是使使分分析析人人员员、管管理理人人员员或或执执行行人人员员能能够够从从多多种种角角度度对对从从原原始始数数据据中中转转化化出出来来的的、能能够够真真正正为为用用户户所所理理解解的的、并并真真实实反反映映企企业业维维特特性性的的信信息息进进行行快快速速、一一致致、
4、交交互互地地存存取取,从从而而获获得得对对数数据据的的更更深深入入了了解解的的一一类类软软件件技技术。术。(OLAP委员会的定义委员会的定义)nOLAP的的目目标标是是满满足足决决策策支支持持或或多多维维环环境境特特定定的的查查询询和和报报表表需需求求,它它的的技技术术核核心心是是“维维”这这个个概概念念,因因此此OLAP也也可可以以说说是是多维数据分析工具的集合。多维数据分析工具的集合。OLAPOLAP决策分析决策分析nOLAPOLAP分析属于验证驱动型发现:用户首先提出分析属于验证驱动型发现:用户首先提出自己的假设,然后利用自己的假设,然后利用OLAPOLAP工具检索查询以验工具检索查询以
5、验证或否定假设。证或否定假设。OLAPOLAP的数据源的数据源OLTP & LegacyERPFlat FilesData Warehouses,Data Marts, ODSSpreadsheetsOLAPOLAP基本概念基本概念n维维:是是人人们们观观察察数数据据的的特特定定角角度度,是是考考虑虑问问题题时时的的一一类类属属性性 ( (时时间间维维、地地理维等理维等) )。n维维的的层层次次:人人们们观观察察数数据据的的某某个个特特定定角角度度( (即即某某个个维维) )还还可可以以存存在在细细节节程程度度不不同同的的各各个个描描述述方方面面( (时时间间维维:日日期期、月份、季度、年月份
6、、季度、年) )。n维维的的成成员员:维维的的一一个个取取值值。是是数数据据项项在在某某维维中中位位置置的的描描述述。(“(“某某年年某某月月某某日日”是在时间维上位置的描述是在时间维上位置的描述) )n多多维维数数组组:维维和和变变量量的的组组合合表表示示。一一个个多多维维数数组组可可以以表表示示为为:( (维维1 1,维维2 2,维维n n,变变量量) )。( (时时间间,地地区区,产产品品,销售额销售额) )n数数据据单单元元( (单单元元格格) ):多多维维数数组组的的取取值值。(2000(2000年年1 1月月,上上海海,笔笔记记本本电电脑脑,$100000)$100000)OLAP
7、OLAP特性特性n快速性:用户对OLAP的快速反应能力有很高的要求。系统应能在5秒内对用户的大部分分析要求做出反应。客户/服务器体系结构两层或三层C/S结构。n可分析性:OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。n多维性:多维性是OLAP的关键属性。系统必须提供对数据的多维视图和分析,包括对层次维和多重层次维的完全支持。n信息性:不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量信息。OLAPOLAP工具的分类标准工具的分类标准n分成多维数据库工具(MOLAP)、关系型数据库工具(ROLAP)和桌面型数据库工具。n支持多维数据库工具的是多维数据库
8、,而不是传统上的关系型数据库,数据存储不采用传统关系模型所使用的记录及表等方式,而采用矩阵(多维矩阵)方式来存储数据。n与多维数据库工具相比,关系型OLAP工具在数据库层次上有标准的关系模型和标准的数据访问方式及其编程接口,工具与数据库的互联性较好。n桌面型OLAP工具是指在微机环境下开发的支持简单多维分析的用户工具,这些工具没有自己的数据存储,而把用户提交的查询翻译成对数据源的查询,然后从数据源中提取结果数据,并将这些结果数据合成最终的结果返回给客户。OLAP多维数据结构多维数据结构n超立方结构超立方结构(Hypercube)(Hypercube) 多维数据集多维数据集n立立方方体体或或超超
9、立立方方结结构构指指用用三三维维或或更更多多的的维维数数来来描述一个对象描述一个对象, ,每个维彼此垂直。每个维彼此垂直。n数数据据的的测测量量值值发发生生在在维维的的交交叉叉点点上上, ,数数据据空空间间的的各各个个部部分分都都有有相相同同的的维维属属性性 ( (收收缩缩超超立立方方结结构构,这这种种结结构构的的数数据据密密度度更更大大, ,数数据据的的维维数数更更少少, ,并并可加入额外的分析维可加入额外的分析维) )。 客户种类数量分布多维立方客户种类数量分布多维立方 OLAP操作操作nCoddCodd从可视化角度提出,主要基于统计的方法:从可视化角度提出,主要基于统计的方法:n切片和切
10、块切片和切块( (Slice and DiceSlice and Dice) )n在多维数据结构中,按二维进行切片,按三维进行切块,可得到所需要的数据。如在“城市、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。n钻取钻取(Drill) (Drill) n钻取包含向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)操作,钻取的深度与维所划分的层次相对应。 n旋转旋转(Rotate)/(Rotate)/旋转旋转(Pivot)(Pivot)n通过旋转可以得到不同视角的数据。n辅之于各种图形展示分析结果辅之于各种图形展示分析结果 切片、切块切
11、片、切块销售数据的销售数据的4-D表示表示 Dicing ExampleDicing:FilteringbyAUS1+AUS2andWholesaleSlicing ExampleSlicing:FilteringbyAUS2Web数据的多维分析数据的多维分析钻取钻取数据聚集旋转旋转时间产品财务指标财务指标产品时间pivotDrill-across:Distributionfirst,SalesOrg.second按按城市的销售数据城市的销售数据按按产品的销售数据产品的销售数据国际体育用品公司的数据分析(国际体育用品公司的数据分析(1)IBM Visual Warehouse V3.1 Lot
12、us Approach或或Microsoft Access Intelligent Miner for data/text 国际体育用品公司的数据分析(国际体育用品公司的数据分析(2)按地区划分的按地区划分的头盔盔销售数据售数据按地区和国家划分的按地区和国家划分的头盔盔销售数据售数据 国际体育用品公司的数据分析(国际体育用品公司的数据分析(3)按地区、国家和城市划分的按地区、国家和城市划分的头盔盔销售数据售数据 山地山地车和和头盔盔销售的比售的比较Brio Enterprise丰富的钻取功能丰富的钻取功能 图4.5Cognos的钻取操作IBM Cognos的钻取操作 OLAPOLAP分类分类按
13、照存储方式按照存储方式OLAPMOLAPHOLAPROLAP按照处理地点按照处理地点Client OLAPServer OLAPRelational databaseCubeMicrosoft SQL Server OLAP ServiceROLAPMOLAPHOLAP基于关系数据库的基于关系数据库的OLAPROLAPn用关系表达式描述多维概念大量的关系表。用关系表达式描述多维概念大量的关系表。n用星型模型、雪花模型构造维模型。用星型模型、雪花模型构造维模型。DBDW基础数据基础数据元数据元数据计算结果计算结果多维综合引多维综合引擎擎多维多维视图视图SQL存取存取多维多维存取存取RDBMS服务
14、器服务器关系型关系型OLAP 服务器服务器 客户客户MOLAPMOLAP的多维立方体的多维立方体(Multicube)(Multicube)DBDW多维视图多维视图 基础数据基础数据 计算结果计算结果多维数据多维数据库引擎库引擎客户客户多维多维存取存取基于多维数据库基于多维数据库(MDDB)的的OLAPMOLAPOLAP服务器:存储服务器:存储OLAP服务软件和多维数据库服务软件和多维数据库MDDB存储:采用存储:采用“超立方超立方体体”形式形式MDDB存取存取:多维操作:多维操作数据组织形式数据组织形式nRDB数据组织 - MDDB数据组织 - 关系表中综合数据的存放 n多维数据库中综合数据
15、的存放 产品名称地区销售量冰箱东北50冰箱西北60冰箱华北100彩电东北40彩电西北70彩电华北80空调东北90空调西北120空调华北140东北西北华北冰箱5060100彩电407080空调90120140产品名称地区销售量冰箱东北50冰箱西北60冰箱华北100冰箱总和210彩电东北40彩电西北70彩电华北80彩电总和190空调东北90空调西北120空调华北140空调总和350总和东北180总和西北250总和华北320总和总和750东北西北华北总和冰箱5060100210彩电407080190空调90120140350总和180250320750ROLAP与与MOLAP比较比较n在MOLAP中
16、,不但把多维实视图在概念上看成一个超立方体,而且在物理上把多维实视图组成一个多维数组,而不象ROLAP以表的形式存储实视图。n在MOLAP中,维的属性值被映射成多维数组的下标值或下标的范围,而总数据作为多维数组的值存储在数据的单元中。nROLAP在节省存储空间、灵活性、与关系数据库保持一致性等方面有明显的优势; MOLAP则在性能和管理的简便性方面有其优点。nMOLAP的查询速度比较快,但有下面限制:n用多维数组实现多维实视图,需要很大的存储空间。在实际的数据仓库中,每维的属性值个数可能数万。例如几万种产品、几万个连锁店等。而实际的维数可能多达几十乃至几百。耗费的存储空间相当可观,由此带来加载
17、、维护等问题。n在多维数组中,很可能有些单元是空白的,如节假日商店不营业;某些产品在某些地区不销售等。nMOLAP与关系数据库系统从存储结构到查询语言都有相当大的差别,不可能在RDBMS的基础上实现。ROLAP与与MOLAP比较(续)比较(续)MOLAP与ROLAPHOLAPHOLAP的特点的特点n以HOLAP格式存储的立方体,要比以OLAP格式存储的立方体小,在查询总结数据时,又比ROLAP快。nHOLAP存储格式一般比较适合于需要总结数据的查询有较快的响应时间,同时基数据的量又比较大的场合。推荐资料(推荐资料(IBMIBM红皮书)红皮书)nDB2 OLAP ServernIBM BI certification guide