第五章联机分析处理(OLAP)-Read
- 格式:doc
- 大小:102.50 KB
- 文档页数:14
数据仓库设计与建模的OLAP与OLTP系统差异在现代信息化的背景下,数据处理和数据存储成为了企业发展的重要环节。
为了满足不同层次的需求,数据仓库的设计与建模变得至关重要。
在这个过程中,OLAP(Online Analytical Processing)与OLTP(Online Transaction Processing)系统的差异起到了关键的作用。
本文将探讨数据仓库设计与建模中OLAP与OLTP系统之间的差异,并分析其对企业的影响。
一、OLAP与OLTP系统的定义和特点OLAP系统是面向分析和决策支持的系统,用于处理大量复杂的数据。
它通过多维数据分析和交互式查询等功能,帮助用户发现数据中隐藏的模式和趋势,从而进行有效的决策。
OLAP系统支持多维数据模型,以及灵活的查询和报表功能。
相比之下,OLTP系统主要用于处理企业日常的事务数据,如订单处理、库存管理等。
它注重事务的快速处理和数据的准确性,对数据库的读写负载要求较高。
二、系统架构的差异OLTP系统一般采用联机事务处理(OLTP)架构,通过将数据存储在关系型数据库中,提供高并发的事务处理能力。
OLAP系统则倾向于采用联机分析处理(OLAP)架构,通过将数据存储在多维数据模型中,提供更高效的数据分析和决策支持功能。
在OLTP系统中,数据经常发生更新、插入和删除操作,而在OLAP系统中,数据主要用于查询和分析。
三、数据模型的差异对于OLTP系统而言,常用的数据模型是关系模型,通过实体关系图对数据进行描述。
这种模型适合存储和处理大量的交易数据,实现高效的事务处理。
而在OLAP系统中,常用的数据模型是星型模型和雪花型模型。
这种模型以事实表和维度表为核心,通过维度属性和度量指标的关联,实现高效的多维数据分析。
四、数据处理的差异OLTP系统注重对数据的实时处理和快速响应,要求高并发的读写能力。
为了满足这种需求,OLTP系统采用了细粒度的事务控制和索引优化等技术。
OLAP技术在数据分析中的应用摘要:首先介绍了olap的概念、功能特征,然后通过实例对多维数据库的概念、层次关系和多维数据分析的主要操作进行了详细描述。
最后,以oracle公司的hyperion产品作为多维数据库分析的平台,通过对一大型能源集团公司的财务预算系统中的预算数据进行分析,介绍了olap技术方法的实际应用,总结了olap技术在数据分析工作中的优势。
关键词:联机分析处理;多维数据库;数据分析;甲骨文产品;财务预算系统中图分类号:tp392 文献标识码:a 文章编号:1007-9599 (2013) 02-0000-03olap(on-line analytical processing,即联机分析处理)是一种多维数据库技术。
这种技术的设计目的是针对特定问题的实时数据访问和分析,并且提供直观易懂的查询结果。
还有一种处理技术oltp(on-line transaction processing,即联机事务处理),与olap不同,oltp是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理。
1 olap技术介绍1.1 olap技术的发展背景60年代,关系数据库之父e.f.codd提出了关系模型,促进了联机事务处理(oltp)的发展(数据以表格的形式而非文件方式存储)。
1993年,e.f.codd提出了olap概念,认为oltp已不能满足终端用户对数据库查询分析的需要,sql对大型数据库进行的简单查询也不能满足终端用户分析的要求。
用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。
因此,e.f.codd提出了多维数据库和多维分析的概念,即olap。
olap技术正是为了满足决策管理的需求而产生的。
1.2 olap特征olap的技术核心是”维”(dimension)这个概念。
“维”是指一种视角,是一个判断、说明、评价和确定一个事物的多方位、多角度、多层次的条件和概念。
OLAP和OLTP的区别是什么
数据库分类
OLAP(On-Line Analytical Processing)联机分析处理,也称为⾯向交易的处理过程,其基本特征是前台接收的⽤户数据可以⽴即传送到计算中⼼进⾏处理,并在很短的时间内给出处理结果,是对⽤户操作快速响应的⽅式之⼀。
应⽤在数据仓库,使⽤对象是决策者。
OLAP系统强调的是数据分析,响应速度要求没那么⾼。
专门⽤于从⼤量数据中发现决策的辅助数据库
OLTP(On-Line Transaction Processing)联机事务处理,代指⼀类专门⽤于⽇常事务的数据库,如银⾏交易⽤的增删改查数据库。
它使分析⼈员能够迅速、⼀致、交互地从各个⽅⾯观察信息,以达到深⼊理解数据的⽬的。
它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。
主要应⽤是传统关系型数据库。
OLTP系统强调的是内存效率,实时性⽐较⾼。
olap和oltp的区别:
1、OLAP⽤在数据仓库,使⽤对象是决策者,OLAP系统强调的是数据分析,响应速度要求没那么⾼;
2、OLTP主要应⽤是传统关系型数据库,OLTP系统强调的是内存效率,实时性⽐较⾼。
架构⽅向的⽐较
业务的⽐较。
⼤数据导论(4)——OLTP与OLAP、数据库与数据仓库公司内部的数据⾃下⽽上流动,同时完成数据到信息、知识、洞察的转化过程。
⽽企业内部数据,从⽇常OLTP流程中产⽣,实时存储进不同的数据库中。
同时定期被提取、经格式转化、清洗和加载(ETL),以统⼀的格式存储进数据仓库,以供决策者进⾏OLAP处理,并将处理结果可视化。
OLTP & OLAP企业的数据处理可以分成两⼤类:联机事务处理OLTP、联机分析处理OLAP。
OLTP(On-Line Transaction Processing,联机事务处理)——数据库的增删查改。
是⾯向“事务”类型的操作。
有⼏个显著的特点:要求速度快/操作涉及的数据量不⼤/要求精准操作。
事物型数据⼤多都具有⾼度规范化。
因此OLTP系统是结构化数据的主要数据源。
OLAP(On-Line Analytical Processing,联机分析处理)——⽀持复杂的分析、查询操作,侧重决策⽀持,并且提供直观易懂的查询结果。
解决了涉及多维度数据的问题(传统数据库⽆法满⾜OLAP所需要的数据信息)。
数据库 & 数据仓库数据库的主要应⽤场景为联机事务处理(OLTP),数据仓库的主要应⽤场景为联机分析处理(OLAP)。
数据库(Database)——⽤于存储电⼦⽂件,⽤户可以对⽂件中的数据运⾏新增、截取、更新、删除等操作。
为对数据库进⾏管理,开发设计出数据库管理系统(Database Management System)。
数据仓库(DataWarehouse)——⽤于存储数据的中央、企业级系统,存储的数据多为历史数据。
特点:数据仓库中的数据围绕企业主题(Subject-Oriented )、经过集成(Integrated)、定期更新(Time-Variant)、具有⾮易失性(Non-Volatile,不可修改,多以只读格式返回给⽤户);结构:暂存层、集成层、访问层与OLAP的关系:数据仓库为OLAP解决了数据来源问题,并与OLAP互相促进发展,进⼀步驱动了商务智能的成熟。
olap类型数据透视表案例OLAP(联机分析处理)类型的数据透视表案例可以涉及多个领域和行业,以下是一个虚构的零售业销售数据的OLAP数据透视表案例:背景:某大型零售商在多个地区拥有门店,销售各种商品。
为了更好地了解销售情况,该零售商决定使用OLAP数据透视表来分析销售数据。
数据源:销售数据来自多个数据库表,包括订单表、商品表、客户表和地区表等。
这些表通过关系键(如订单ID、客户ID、商品ID 和地区ID)相关联。
OLAP数据透视表设计:1.维度:使用地区、商品分类、商品子分类和商品作为维度。
2.度量:计算每个维度的销售总额、平均单价和数量。
3.层级结构:建立地区> 商品分类> 商品子分类> 商品的层级结构,以便进行上钻和下钻分析。
分析结果:1.按地区分析:可以查看每个地区的销售总额、平均单价和数量,以及与上一个季度相比的增长率。
2.按商品分类分析:可以查看每个商品分类的销售总额、平均单价和数量,以及与上一个季度相比的增长率。
3.按商品子分类分析:可以查看每个商品子分类的销售总额、平均单价和数量,以及与上一个季度相比的增长率。
4.按商品分析:可以查看每个商品的销售总额、平均单价和数量,以及与上一个季度相比的增长率。
关键指标:1.销售额:衡量销售效果的关键指标,可以帮助企业了解总收入和销售规模。
2.平均单价:衡量商品价格竞争力的指标,可以帮助企业调整价格策略。
3.数量:衡量销售量的指标,可以帮助企业了解市场需求和消费者购买习惯。
深入分析:通过OLAP数据透视表,企业可以进行更深入的分析,例如:1.客户分析:分析不同客户群体的购买行为和偏好,以便制定更有针对性的营销策略。
2.促销活动分析:分析促销活动对销售的影响,以及哪些促销活动更有效。
3.供应链分析:分析库存情况和供应商表现,以便优化供应链管理。
可视化呈现:将OLAP数据透视表结果以各种可视化形式呈现出来,例如表格、图表和仪表板等,方便决策者进行数据驱动的决策和分析。
OLAP介绍OLAP介绍⼀、发展背景⼆、什么是OLAP?三、相关基本概念四、OLAP特性五、OLAP多维数据结构六、OLAP多维数据分析七、OLAP分类⼋、OLAP评价准则九、流⾏的OLAP⼯具⼗、OLAP发展⼗⼀、OLAP展望⼀、发展背景60年代,关系数据库之⽗E.F.Codd提出了关系模型,促进了联机事务处理(OLTP)的发展(数据以表格的形式⽽⾮⽂件⽅式存储)。
1993年,E.F.Codd提出了OLAP概念,认为OLTP已不能满⾜终端⽤户对数据库查询分析的需要,SQL对⼤型数据库进⾏的简单查询也不能满⾜终端⽤户分析的要求。
⽤户的决策分析需要对关系数据库进⾏⼤量计算才能得到结果,⽽查询的结果并不能满⾜决策者提出的需求。
因此,E.F.Codd提出了多维数据库和多维分析的概念,即OLAP。
OLTP数据 OLAP数据原始数据导出数据细节性数据综合性和提炼性数据当前值数据历史数据可更新不可更新,但周期性刷新⼀次处理的数据量⼩⼀次处理的数据量⼤⾯向应⽤,事务驱动⾯向分析,分析驱动⾯向操作⼈员,⽀持⽇常操作⾯向决策⼈员,⽀持管理需要⼆、什么是OLAP?定义1 :OLAP(联机分析处理)是针对特定问题的联机数据访问和分析。
通过对信息(维数据)的多种可能的观察形式进⾏快速、稳定⼀致和交互性的存取,允许管理决策⼈员对数据进⾏深⼊观察。
定义2 :OLAP(联机分析处理) 是使分析⼈员、管理⼈员或执⾏⼈员能够从多种⾓度对从原始数据中转化出来的、能够真正为⽤户所理解的、并真实反映企业维特性的信息进⾏快速、⼀致、交互地存取,从⽽获得对数据的更深⼊了解的⼀类软件技术。
(OLAP委员会的定义) OLAP的⽬标是满⾜决策⽀持或多维环境特定的查询和报表需求,它的技术核⼼是“维”这个概念,因此OLAP也可以说是多维数据分析⼯具的集合。
三、相关基本概念1.维:是⼈们观察数据的特定⾓度,是考虑问题时的⼀类属性,属性集合构成⼀个维(时间维、地理维等)。
OLAP开发指南目录介绍..................................................................................OLAP系统的基本原理....................................................................微软数据仓储策略 .......................................................................微软数据仓储框架(Microsoft Data Warehousing Framework) .................................数据复杂性 .............................................................................组织的价值 .............................................................................OLAP术语和概念........................................................................ OLAP 数据模型 ..........................................................................总和及存储模型 .........................................................................OLAP 服务体系结构.....................................................................实现OLAP的挑战........................................................................创建OLAP数据模型 .......................................................................直观的用户界面 .........................................................................利用总和来管理数据爆炸(Data Explosion) .................................................灵活的存储选择 .........................................................................智能型预先求和功能 .....................................................................性能和可伸缩性 .........................................................................向用户提交OLAP信息 .....................................................................行业标准 ...............................................................................脱线和基于Web的信息提交 ................................................................微软数据透视表服务(Microsoft PivotTable Service ) ......................................提供OLAP工具 ........................................................................... Microsoft Office 集成 ..................................................................第三方客户工具 .........................................................................结论..................................................................................介绍OLAP(Online analytical processing:联机分析处理)是一个日益普及的技术,它可以显著地改善商业分析,但历史上它却具有价格昂贵、难于实现,且不能进行灵活部署的特征。
olap的基本概念-回复1. 什么是OLAP?OLAP(Online Analytical Processing,联机分析处理)是一种多维数据分析方法,旨在快速、动态地从大规模、复杂的数据中获得有益的信息。
OLAP提供了强大的数据分析和查询功能,支持各种查询操作,如切片(Slice)、钻取(Drill Down)、旋转(Pivot)等,可以帮助用户深入了解数据、发现潜在关联和趋势,为业务决策提供支持。
2. 多维数据模型多维数据模型是OLAP分析的基础。
它利用维度(Dimension)和度量(Measure)构建多维数据空间。
维度是可用于描述分析对象的属性,如时间、地点、产品等,而度量是可以被度量的指标,如销售额、利润等。
多维数据模型以立方体(Cube)为基本结构,通过维度和度量组织数据。
立方体由多个维度构成,每个维度由多个层次(Hierarchy)组成。
层次描述了维度的不同级别,如时间维度可以包含年、季度、月份等层次。
3. OLAP操作OLAP提供了多种操作方式来探索数据。
切片(Slice)是通过选择一个或多个维度的一个或多个层次上的成员,将立方体划分为一个子立方体。
例如,通过选择特定的时间范围和产品类别,可以获得特定时间段内不同产品类别的销售情况。
钻取(Drill Down)是将数据从一个层次细分到更低级别的操作。
例如,从年份层次的销售额钻取到季度层次,可以获得每个季度的销售额。
旋转(Pivot)是交换维度和度量的位置,以便更好地分析。
例如,将时间维度从列转换到行,可以更清楚地展示各个时间点的度量指标。
4. OLAP架构OLAP系统的架构通常包括数据源、ETL过程、多维数据模型、查询分析工具和前端报表展示。
数据源可以是关系型数据库、数据仓库或其他数据集,通过ETL过程(Extract, Transform and Load)将数据转化成多维数据模型所需的格式。
多维数据模型构建了立方体,关联维度和度量,以提供多维数据分析的功能。
OLTP、OLAP介绍⼀、什么是OLTP OLTP,即联机事务处理(Online Transaction Processing),表⽰事务性⾮常⾼的系统,⼀般都是⾼可⽤的在线系统,以⼩的事务以及⼩的查询为主,评估其系统的时候,⼀般看其每秒执⾏的Transaction以及Execute SQL的数量。
在这样的系统中,单个数据库每秒处理的Transaction往往超过⼏百个,或者是⼏千个,Select 语句的执⾏量每秒⼏千甚⾄⼏万个。
OLTP主要⽤来记录某类业务事件的发⽣,如购买⾏为,当⾏为产⽣后,系统会记录是谁在何时何地做了何事,这样的⼀⾏(或多⾏)数据会以增删改的⽅式在数据库中进⾏数据的更新处理操作,要求实时性⾼、稳定性强、确保数据及时更新成功,像公司常见的业务系统如ERP,CRM,OA等系统都属于OLTP。
OLTP系统最容易出现瓶颈的地⽅就是CPU与磁盘⼦系统。
CPU出现瓶颈常表现在逻辑读总量与计算性函数或者是过程上,逻辑读总量等于单个语句的逻辑读乘以执⾏次数,如果单个语句执⾏速度虽然很快,但是执⾏次数⾮常多,那么,也可能会导致很⼤的逻辑读总量。
设计的⽅法与优化的⽅法就是减少单个语句的逻辑读,或者是减少它们的执⾏次数。
另外,⼀些计算型的函数,如⾃定义函数、decode等的频繁使⽤,也会消耗⼤量的CPU时间,造成系统的负载升⾼,正确的设计⽅法或者是优化⽅法,需要尽量避免计算过程,如保存计算结果到统计表就是⼀个好的⽅法。
磁盘⼦系统在OLTP环境中,它的承载能⼒⼀般取决于它的IOPS处理能⼒。
因为在OLTP环境中,磁盘物理读⼀般都是db file sequential read,也就是单块读,但是这个读的次数⾮常频繁。
如果频繁到磁盘⼦系统都不能承载其IOPS的时候,就会出现⼤的性能问题。
OLTP⽐较常⽤的设计与优化⽅式为Cache技术与B-tree索引技术。
Cache决定了很多语句不需要从磁盘⼦系统获得数据,所以,Web cache与Oracle data buffer对OLTP系统是很重要的。
OLTP与OLAP数据库的设计与应用随着信息技术的迅猛发展,数据库已成为现代社会中存储、管理和处理数据的关键工具。
在数据库领域中,OLTP(联机事务处理)和OLAP(联机分析处理)数据库是常见的两种类型。
它们在数据处理的方式和应用场景上存在明显的区别。
OLTP数据库主要用于支持日常的业务运营,如订单管理、库存管理和客户服务等。
它的设计目标是快速地处理大量的交易型数据,并保持数据的一致性和可靠性。
OLTP数据库通常采用关系型数据库管理系统(RDBMS)来实现,使用标准化的数据模型和事务处理机制来确保数据的完整性和可恢复性。
它具有以下特点:一、事务处理能力:OLTP数据库能够高效地执行事务,保证数据的一致性和完整性。
它支持并发事务处理,并提供ACID属性(原子性、一致性、隔离性和持久性)来确保数据的可靠性。
二、即时性要求:OLTP数据库处理的是即时的交易数据,要求系统能够快速地响应用户的请求,实现高性能的数据插入、更新和删除操作。
三、简单数据模型:OLTP数据库使用简单的关系型数据模型来存储和管理数据,数据之间的关系通常是一对多或多对多的关系。
四、数据一致性:OLTP数据库支持ACID操作,确保数据在多个并发事务执行时保持一致,避免数据冲突和丢失。
它通过锁定机制、并发控制和回滚操作来实现数据的一致性。
与之相对应的是OLAP数据库,它主要用于支持在线分析处理和决策支持系统。
OLAP数据库的设计目标是为用户提供快速、灵活和复杂的数据分析功能。
它使用面向主题(subject-oriented)的数据模型,将数据按照维度(dimension)和度量(measure)进行组织和存储。
OLAP数据库的特点包括:一、多维数据模型:OLAP数据库采用多维数据模型,将数据组织为多维数据立方体(data cube)。
用户可以根据不同的维度和度量在立方体中进行灵活的数据切片(slice)、钻取(drill-down)和旋转(pivot)操作,以便进行深入的数据分析。
OLAP是一个赋予动态的、企业分析的名词,这些分析是注释的、熟悉的、公式化数据分析模型的生成、操作、激活和信息合成。
能够在变量间分辨新的或不相关的关系,能够区分对处理大量数据必要的参数,而生成一个不限数量的维和指明跨维的条件表达式。
OLAP是针对特定问题的联机数据访问和分析。
通过信息(维数据)的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理决策人员对数据进行深入观察。
OLAP特点:1.假定性:需要初始的假设来给出导航数据分析的方向,最终用分析的结果来验证初始的假设。
2.快速性:用户对OLAP的快速反映能力有很高的要求。
3.可分析性:能处理与应用有关的任何逻辑分析和统计分析。
用户可以在OLAP平台上进行分析,也可以连接到其他外部分析工具上。
4.多维性:是OLAP的关键属性,系统提供对数据分析的多维视图和分析,如对层次维和多重层次维完全支持。
5.信息性:系统能及时获取信息,并能管理大容量的信息。
OLAP分类:1.关系OLAP(ROLAP)结构:使用关系或扩充关系DBMS存放并管理数据仓库,采用基于稀疏矩阵表示方法的星形结构或雪花结构存储多维数据,数据检索比MOLAP低效。
2.多维OLAP(MOLAP)结构:核心是其数据存储采用矩阵(可能是多维方阵)方式,数据检索高效。
3.混合OLAP(HOLAP)结构:结合ROLAP和MOLAP技术,在MOLAP立方体中存储高级别的聚集,在ROLAP中存储低级别的聚集。
4.桌面OLAP结构:没有自己的数据存储库,把用户的查询翻译为对数据源的查询,然后再把结果合成返回给用户。
5.客户OLAP:相对与Server OLAP,把部分数据下载到本地,为用户提供本地的多维分析。
OLAP常用分析方法:1.数据切片(Slicing)和数据切块(Dicing)2.钻取:数据上钻(Drilling-up)、数据下钻(Drilling-down)、数据上卷(Rolling-up)3.数据旋转(Pivoting/Rotating)-概括来说,数据仓库系统是指具有综合企业数据的能力,能够对大量企业数据进行快速和准确分析,辅助做出更好的商业决策的系统。
第五章联机分析处理(OLAP)DW是管理决策分析的基础,若要有效地利用DW中的信息资源,必须有强大的工具对信息进行分析、决策,OLAP就是一个得到广泛用的DW技术。
OLAP专门用于支持复杂的决策分析,是支持信息管理和业务管理人员决策活动的一种决策分析工具。
它可以根据分析人员的要求,迅速、灵活地对大量数据进行复杂的查询处理,并且以直观的、容易理解的形式将查询结果提供给各种决策人员,使他们迅速、准确地掌握企业的运营情况,了解市场的需求。
OLAP技术主要有两个特点:一是在线(On-Line),表现为对用户请求的快速响应和交互操作,它的实现是由客户机/服务器体系结构完成的;二是多维分析(Multi-Analysis),这也是OLAP技术的核心所在。
§ 5.1 OLAP技术基本概念一、OLAP的定义OLAP是E.F.Codd于1993年提出的。
OLAP理事会的定义:OLAP是一种软件技术,他使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的,这些信息是从原始数据直接转换过来的,他们以用户容易理解的方式反映企业的真实情况。
OLAP大部分策略都是将关系型的或普通的数据进行多维数据存贮,以便于进行分析,从而达到联机分析处理的目的。
这种多维DB也被看作一个超立方体,沿着各个维方向存贮数据,它允许用户沿事物的轴线方便地分析数据,与主流业务型用户相关的分析形式一般有切片和切块以及下钻、挖掘等操作。
共享多维信息的快速分析。
二、OLAP的功能特征:OLAP是一种数据分析技术,其功能特征是:1、快速性用户对OLAP的快速反映有很高的要求,一般要求能在5秒内对分析要求有反映。
设计时应考虑:专门的数据存贮格式,大量的事先运算,特别的硬件设计。
2、可分析性OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。
因为事先编程并不能定义所有的应用,所以,在OLAP分析的过程中,用户无需编程就可以定义新的计算,将成为分析的一部分,且以用户希望的方式给出报告。
实现功能:(1)用户可以在OLAP平台上分析;(2)可连接到其他外部分析工具上,如时间序列分析工具,成本分析工具,意外报警,数据挖掘等。
3、多维性多维性是OLAP的关键属性,系统能够提供对数据分析的多维视图和分析,包括对层次维和多重层次维的支持。
多维分析是分析企业数据的最有效的方法,是OLAP的灵魂。
4、信息性不论数据量有多大,也不管数据存贮在何处,OLAP系统应能及时获得信息,并且管理大容量信息。
5、共享性在大量用户间实现潜在地共享秘密数据所必需的安全性需求。
三、几个基本概念1、维——维是人们观察问题的特定角度,例如:时间维、地理维、产品维。
2、维层次——人们在观察数据的某个特定角度(即某个维)还可以存在细节程度不同的多个描述方面,我们称这多个描述方面为维的层次。
例时间维:日期,月份,季度,年不同层次。
3、维成员——维的一个取值成为该维的一个维成员。
如果维已经分成了多层次的,则维成员就是不同维层次取值的组合。
例如:某公司销售数据在省、市、县,地理维有三个层次,则“山东省潍坊市昌邑县”就构成地理维的一个维成员。
维成员并不一定要在维的每一个层次上都取值,例如:山东省,山东省潍坊市,潍坊市昌邑县都是地理维的维成员。
4、多维数据集——数据立方体或超立方多维数据集是决策支持的支柱,也是OLAP的核心。
多维数据集可以用一个多维数组表示。
多维数据集的形式化表示:(维1,维2,...,维n,观察变量)。
对于三维数据集可用图5-1表示:5、数据单元多维数据集的取值称为数据单元。
当在多维数据集的每个维都选中一个维成员以后,这些维成员的组合就惟一确定了观察变量的值。
数据单元也就可以表示为:(维1维成员,维2维成员,维3维成员,观察变量)例如:在图5-1中,在时间、销售地区、产品维度上分别取‘2002-10-12’、‘上海’、‘服装’,则可以唯一确定观察变量的值10000,因此该数据单元应该为(2002-10-12,上海,服装,10000)。
图5-1 数据立方体6、多维数据集的度量值(测量值)多维数据集的度量值是基于多维数据集中事实表的一列或多列,数值型数字。
多维数据集的度量值是OLAP分析的核心值,是用户在DW中需要查看的数据,一般是销售量、成本、费用等。
四、OLAP与DW的关系1、OLAP与DW的关系如图5-2所示。
在DW中,OLAP和DW是密不可分的,但是两者具有不同的概念。
DW是一个包含企业历史数据的大规模数据库,这些历史数据主要用于对企业的经营决策提供分析和支持。
DW中的数据是不能用于连机事务处理系统(OLTP)的。
OLAP技术则是利用DW的数据进行连机分析,将复杂的分析查询结果快速地返回给用户。
OLAP用多维数据集和数据聚集技术对DW中的数据进行组织和汇总,用连机分析和可视化工具对这些数据迅速进行评价。
图5-2 数据仓库与OLAP关系图数据仓库的结构将直接影响立方体的设计和构造,也就影响OLAP的工作效率。
2.在设计DW时应考虑的一些因素:(从OLAP使用的效率角度考虑)(I)、尽可能使用星型架构,如果采用雪花模型,就要最小化事实表底层维度表以后的维度表数量;(II)、为用户设计包含事实表的维度表,这些维度表应该包含有意义的,用户希望了解的信息;(III)、维度表的设计应符合通常意义上的范式约束,维度表中不要出现无关的数据;(IV)、事实表中不要包含汇总数据。
事实表中所包含的用户需要访问的数据应该具有必要的粒度,这些数据应该是同一层次的数据;(V)、对事实表和维度表中的关键字必须创建索引,同一种数据尽可能是用一个事实表。
(VI)、保证数据的参照完整性,使事实表中的所有数据都出现在所有的维度表中,避免事实表中的某些数据行在立方体进行聚集运算时没有参加进来。
§5.2 OLAP的基本分析操作一、切片(slice)定义1:在多维数据集的某一维上选定某一维成员的动作称为切片。
定义2:选定多维数据集的一个二维子集的动作叫做切片。
例:多维数据集S(地区,时间,产品,销售渠道,销售额)。
选定地区维与产品维,另外的维取一个维成员(如时间维取1999年,销售渠道维取批发),就可以得到多维数据集S在地区和产品维上的一个切片:(地区、产品、销售额)。
此切片表示1999年各地区、各产品的批发销售情况。
切片的结果一定是一个二维的平面。
切片的实质:1、切片的作用或结果就是舍弃一些观察角度,使人们能在两个维上集中观察数据;2、一个切片最终是由除切片所在平面两个维之外的其他维的成员值确定的。
二、切块(Dice)定义1、在多维数据集的某一维上选定某一区间的维成员的动作称为切块。
定义2、选定多维数据集的一个三维子集的动作称为切块。
实际上,切块操作也可以看成进行多次切片以后,将每次切片操作所得的切片重叠在一起而形成的三、旋转(rotate)旋转即改变一个报告或页面显示的维方向。
例如:旋转可能包含交换行和列,或是把某一个行维移到列维中去,或把叶面显示中的一个维和页面外的维进行交换。
如图5-3所示。
产品维时间维产品维产品维维图5-3 旋转操作示意图四、下钻(down drill)使用户在DW的多层数据中能通过导航信息而获得更多的细节性数据。
大多数OLAP工具可让用户下钻到一个数据集中有更好细节描述的数据层,更完整的工具则可让用户随处钻探:上翻、交叉钻探(让用户从同一个层次的一个数据集横向地移到另一个数据集进行查看和分析),数据分析主要是帮助用户回答“为什么”的问题。
五、其他操作统计表中最高值和最低值的项数,计算平均值、增长率、利润、投资回报率等统计计算。
§5.3 基于多维的OLAPOLAP系统在具体实现时,需要解决采用多维数据库还是采用关系数据系统存贮数据的问题,如果采用多维数据库(MDDB—Muoti Dimensional DataBase)存贮、显示数据,则这种OLAP系统就是基于多维的OLAP,即MOLAP;否则,如果在OLAP的实现中采用关系数据库(RDBMS),这种OLAP就是基于关系的OLAP,称为ROLAP。
本节讲MOLAP。
一、多维数据库1、多维数据库的概念多维数据库可在OLAP系统中直观地表达现实世界中的多对多关系。
例:要反映两种产品在三个地区的销售情况,用关系数据库存贮数据如表5-1所示:表5-1产品名称销售地区销售数量电器江苏940..上海450..北京340服装江苏830..上海350..北京270如果用多维数据库存贮这些数据,所的结果如表5-2所示:表5-2江苏上海北京电器940 450 340服装830 350 270比较发现多维数据比关系数据库表达的关系更加清晰明了,而且所消耗的存贮容量更少,查询处理也格外简单,若要查某地区的销售量,只要按列统计一下即可,若要查某个产品的销售量,则只要按行统计即可。
2、多维数据库的汇总具有汇总值的多维数据库如表5-3 所示:表5-3江苏上海北京汇总电器940 450 340 1730服装830 350 270 1450汇总1170 800 610 3180在MDDB中没有重复出现的冗余数据,其统计速度远快于关系型数据库,将汇总数据也存贮在数据库中,只要在原数据库中增加一行、一列就可以了。
3、多维数据库的数据存贮在多维数据库中二维数据容易理解,但当维数扩展到三维或更高的维数时,多维数据库MDDB就成了一种“超立方”体的结构。
实际上,多维数据库是由许多经过压缩的类似于数组的对象构成。
这种对象通常带有高度压缩的索引及指针结构。
每个对象由聚集成组的单元块组成,每个单元块都按类似于多维数组的结构存贮,并通过直接偏移计算进行存取。
由于索引只需一个较小的数来表示单元块,因此多维数据库的索引一般较小,只占数据空间的一小部分,正因为它们如此之小,以至于可以很容易地将整个索引装入内存,这将极大地提高性能。
在实际的多维分析中,可能需要将任一维与其他维进行组合,因而需要能够旋转数据立方体及切片的视图,即用多维方式显示数据。
在MDDB中,并非维之间的任何组合都会产生实际的值。
实际上,许多组合没有值,是空的或者为0。
另外,许多值重复存贮,如一年中的价格可能一直不变。
因此,多维数据库必须具有高效的稀疏矩阵处理能力,能略过零元、缺失和重复数据。
4、多维数据库与数据仓库多维数据库为终端用户提供一种可对数据进行灵活访问的信息结构,利用MDDB可以对数据进行切片、切块、动态地观察汇总数据与细节数据的关系。
数据仓库中的细节数据则为MDDB提供非常健全和便捷的数据源,数据需要定图5-4 MDDB与DW的关系由于业务处理数据在导入DW时就被集成了,MDDB不必再从业务处理系统抽取与集成。
(I)、MDDB与DW的区别:(1)、数据量:DW中存贮了大量的数据;MDDB只存贮某些类型用户需要的集成数据,在数量上比DW少得多。