您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > 3 OLAP联机分析处理
在线分析处理OnlineAnalyticalProcessingOLAP发展背景60年代,关系数据库之父E.F.Codd提出了关系模型,促进了联机事务处理(OLTP)的发展(数据以表格的形式而非文件方式存储)。1993年,E.F.Codd提出了OLAP概念,认为OLTP已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进行的简单查询也不能满足终端用户分析的要求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,E.F.Codd提出了多维数据库和多维分析的概念,即OLAP。OLAP是目前RDBMS不可缺少的功能,可以作为一个独立的OLAP服务器实现,也可以集成在RDBMS中。什么是OLAP?定义1:OLAP(联机分析处理)是针对特定问题的联机数据访问和分析。通过对信息(维数据)的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理决策人员对数据进行深入观察。定义2:OLAP(联机分析处理)是使分析人员、管理人员或执行人员能够从多种角度对从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业维特性的信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。(OLAP委员会的定义)OLAP的目标是满足决策支持或多维环境特定的查询和报表需求,它的技术核心是“维”这个概念,因此OLAP也可以说是多维数据分析工具的集合。OLAP决策分析OLAP分析属于验证驱动型发现:用户首先提出自己的假设,然后利用OLAP工具检索查询以验证或否定假设。OLAP技术主要有两个特点:在线(On-Line):表现为对用户请求的快速响应和交互操作,它的实现是由客户机/服务器体系结构完成的;多维分析(Multi-Analysis):这也是OLAP技术的核心所在。OLAP的数据源OLTP&LegacyERPFlatFilesDataWarehouses,DataMarts,ODSSpreadsheetsOLAP基本概念维:是人们观察数据的特定角度,是考虑问题时的一类属性(时间维、地理维等)。维的层次:人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。维的成员:维的一个取值。是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)多维数组:维和变量的组合表示。一个多维数组可以表示为:(维1,维2,…,维n,变量)。(时间,地区,产品,销售额)数据单元(单元格):多维数组的取值。(2000年1月,上海,笔记本电脑,$100000)产品时间财务指标进口烟国产烟收入开销Q1Q2Q3Q4卷烟销售分析OLAP特性快速性:用户对OLAP的快速反应能力有很高的要求。系统应能在5秒内对用户的大部分分析要求做出反应。客户/服务器体系结构-两层或三层C/S结构。可分析性:OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。多维性:多维性是OLAP的关键属性。系统必须提供对数据的多维视图和分析,包括对层次维和多重层次维的完全支持。信息性:不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量信息。OLAP多维数据结构超立方结构(Hypercube)多维数据集立方体或超立方结构指用三维或更多的维数来描述一个对象,每个维彼此垂直。数据的测量值发生在维的交叉点上,数据空间的各个部分都有相同的维属性(收缩超立方结构,这种结构的数据密度更大,数据的维数更少,并可加入额外的分析维)。客户种类数量分布多维立方OLAP操作Codd从可视化角度提出,主要基于统计的方法:切片和切块(SliceandDice)在多维数据结构中,按二维进行切片,按三维进行切块,可得到所需要的数据。如在“城市、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。钻取(Drill)钻取包含向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)操作,钻取的深度与维所划分的层次相对应。旋转(Rotate)/旋转(Pivot)通过旋转可以得到不同视角的数据。辅之于各种图形展示分析结果切片、切块销售数据的4-D表示DicingExampleDicing:FilteringbyAUS1+AUS2andWholesaleSlicingExampleSlicing:FilteringbyAUS2Web数据的多维分析钻取数据聚集旋转时间产品财务指标产品pivotDrill-across:Distributionfirst,SalesOrg.secondOLAP分类按照存储方式OLAPMOLAPHOLAPROLAP按照处理地点ClientOLAPServerOLAPRelationaldatabaseCubeMicrosoftSQLServerOLAPServiceROLAPMOLAPHOLAPMOLAP的多维立方体(Multicube)DBDW多维视图基础数据计算结果多维数据库引擎客户多维存取基于多维数据库(MDDB)的OLAP-MOLAP•OLAP服务器:存储OLAP服务软件和多维数据库•MDDB存储:采用“超立方体”形式•MDDB存取:多维操作MOLAP服务器MOLAP服务器由于多维表是按照维度组织数据的,在进行多层次数据统计上具有优越性,能够极大节约OLAP进行数据统计的时间,提高系统的响应速度。MOLAP服务器“空间换时间”技术如果系统进行的预运算结果能够覆盖用户80%的请求,则可以认为系统设计的结果令人满意。MOLAP服务器SAS公司的MDDB产品实例MOLAP服务器MOLAP服务器由于OLAP要满足最终用户从各个维度和各个维度层次观察的需要,MDDB将进行大量的预运算,并将结果保存。如下图所示:MOLAP服务器MOLAP产品的结构MOLAP是在多维数据库的基础上进行OLAP分析的实现方法。基于关系数据库的OLAP-ROLAP用关系表达式描述多维概念-大量的关系表。用星型模型、雪花模型构造维模型。DBDW基础数据元数据计算结果多维综合引擎多维视图SQL存取多维存取RDBMS服务器关系型OLAP服务器客户ROLAP服务器定义:表示基于关系数据库的OLAP实现(RelationalOLAP)。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:事实表:存储数据和维关键字维表:每个维至少使用一个表存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起。ROLAP服务器维表是将多维模型映射到关系型模型中,用于记录多维数据库中维度信息,将多维数据立方体的坐标轴上的各个取值记录在一张维表中。这样,对于一个n维数据ROLAP中就存在n张维表。ROLAP服务器事实表是将多维模型映射到关系模型中,用于记录维度交点处的度量信息的关系表。事实表中除了度量变量外,其余的列都是各个维表的主键,它们都不能为空。这种结构大大的节省存储空间,尤其是涉及多个维且维中具有多个层次时尤为有效。ROLAP服务器ROLAP服务器星型结构ROLAP服务器雪花模式:是星型模式的变种,有些表是规范化形式,减少冗余,便于维护,节省存储空间,但降低浏览的性能。ROLAP服务器事实星座:多个事实表共享维表(数据仓库通常采用事实星座模式)ROLAP服务器ROLAP服务器的结构注:在ROLAP中,多维数据立方体并没有真正存在,通常需要在接受客户OLAP请求后,ROLAP服务器需要将SQL语句转化为多维存取语句,并利用连接运算拼合出多维数据立方体,因此ROLAP的响应时间较长。ROLAP服务器ROLAP的特点数据结构和组织模式需要预先设计和建立;数据查询需要进行表连接,在查询性能测试中往往是影响速度的关键;数据汇总查询(例如查询某个品牌的所有产品销售额),需要进行Groupby操作,虽然实际得出的数据量很少,但查询时间变得更长;为了改善数据汇总查询的性能,可以建立汇总表,但汇总表的数量与用户分析的角度数目和每个角度的层次数目密切相关。例如,用户从8个角度进行分析,每个角度有3个汇总层次,则汇总表的数目高达3的8次方。ROLAP和MOLAP的比较星型结构的关系数据库表:时间维(YEAR,QUARTER,MONTH,WEEK)地理维(COUNTRY,PROVINCE,CITY)产品维(PRO_CLASS,PRO_SUBCLASS)假设每个维表都有50条记录,只有一个度量(SALES),假设所有的字段为8个字节长度。则:维表空间:50*5*8+50*4*8+50*3*8=4800事实表空间:50*50*50*4*8=4000000总空间:4800+4000000=3.8MB如果用多维数据库存储,多维数据表(YEAR,QUARTER,MONTH,WEEK,COUNTRY,PROVINCE,CITY,PRO_CLASS,PRO_SUBCLASS,SALES)共10个字段,所需空间:50*50*50*10*8=9.54MB3.8MBROLAP服务器ROLAP和MOLAP的比较查询性能MOLAP查询能力较好;MDDB中事先做好了许多计算,是MOLAP的查询能力可以预测,并且较为理想;ROLAP速度较MOLAP慢,且不易预测。数据加载性能MOLAP加载数据时间较长,每月一次;ROLAP加载数据时间较短,每天刷新。分析能力MOLAP在分析过程中的精度较高,具有分析的优势;ROLAP分析效果不如MOLAP,受SQL语言限制。因为对于现实中的许多问题的解决很难用一条SQL语句来实现。ROLAP服务器ROLAP和MOLAP的比较维度变化的适应性ROLAP增加一个维度只是增加一张维表并修改事实表,系统中其他维表不需要修改,具有较好的适应性。MOLAP需要在建立MDDB前确定各个维度以及维度的层次关系。如果要增加新的维度,则MDDB通常需要重新建立。数据变化的适应性由于多维数据通过预综合处理来提高速度,当数据频繁变化时,MOLAP需要进行大量的重新计算,甚至重新建立索引,乃至重构MDDB.在ROLAP中预综合处理通常由设计者根据需求制定,灵活性较好,对于数据变化的适应性高。ROLAP服务器ROLAP和MOLAP比较的结论ROLAP在大数据量的存储上有绝对的优势,如果需要建立一个大型的、功能复杂的企业级数据仓库,就要选择ROLAP。如果希望建立一个目标单一、维数不是很多的分析型数据集市,则MOLAP可能是一个较佳的选择。HOLAP服务器HOLAP服务器结合ROLAP和MOLAP技术对于常用的维度和维层次,在HOLAP中使用多维数据表来记录。对于不常用的维度和数据,采用类似于ROLAP星型结构来存储。允许将大量详细数据存放在关系数据库中,而聚集保持在分离的MOLAP存储中。HOLAP在主要性能上都介于MOLAP和ROLAP之间,其技术复杂度高于MOLAP和ROLAP。MOLAP与ROLAP
本文标题:3 OLAP联机分析处理
链接地址:https://www.777doc.com/doc-4296269 .html