联机分析处理
多维分析是以多维的形式组织数据,并且采用切片、切块、钻取、旋转等多种分析方式探查数据,使分析人员或者管理人员能够从多方面、多角度去查询数据,从而得到有价值的信息。
维度(Demention):指人们观察事物的角度,如时间维度、地区维度、产品维度等等。
层(Level):根据维度细节程度的不同,划分数据在逻辑上的等级关系,用来描述维度的各个方面。
维度的成员(Members): 即维度的取值,即维度各个数据元素的取值。
度量(Measure):多维数据的取值。
钻取/穿透(Drill Through):是对详细信息的钻取。包括上钻和下钻。
上钻(Drill-Up):在维度中从细到粗展示数据,从而变换分析的粒度。如,从“月”可以上钻到“年”维度。
下钻(Drill-Down):在维度中从粗到细展示数据,从而变换分析的维度。
切片(Slice):在维上选定值后,列出这个范围内的数据。如产品类别维度(车险、企财险等),在时间维度(1月)上的度量维度值(利润、成本等)。
切块(Dice):切块是在切片的基础上,在维上选择的值是一个区间,然后列出这个范围内的所有值。如如产品类别维度(车险、企财险等),在时间维度(1月,2月,3月)上的度量维度值(利润、成本等)。
旋转(Pivot):类似于行转列,通过改变维度的方向重新安排表格的摆放方式。
1 OLAP实施的一般过程
1.1 需求阶段
包括调研得出的业务需求、性能需求、技术需求、安全性需求和需求的优先级等内容。
1.2 规划阶段
按照整个项目的一般规则和方法来规划整个项目的过程。如确定项目需要的资源、人力、需要做哪些培训等等。
1.3 设计阶段
是OLAP项目最重要的阶段,包括对模型的分析、OLAP维度的分析和设计、事实表的设计等内容。
1.4 构建模型阶段
根据业务的需求确定需要分析的主题,根据分析的主题确定分析的粒度和度量值,包括分析的维度。
1.5 报表展现阶段
可以利用成熟的报表展示工具(Cognos),在模型的基础上对主题进行多角度的分析,最后进入报表的测试阶段和验收阶段。
2 OLAP系统设计的一般步骤
2.1 对OLAP系统环境的描述
包括OLAP系统的数据库环境(eg:Oracle 10g),OLAP系统使用的应用服务器平台(eg:Cognos 8.3),运行环境(eg:Java JDK 1.4以上),操作系统(eg:Win XP),应用系统开发环境(eg:Eclipse 8),开发语言(eg:JAVA)。
2.2 维度和度量的设计
包括维度名称、层次、成员和属性等要素,一般需要描述维度各自的特性。度量设计一般包括度量名称、属性和粒度等。
2.3 维度模型的设计
维度模型包含两种不同性质的表:维度表和事实表。其中,事实表是模型的核心表,包含两个及以上外键关键字,它连接到相应的维度表主键上。维度表包含关键字、属性列,它提供了数据分析的角度。
3 OLAP与OLTP系统的区别
OLTP系统 |
OLAP系统 |
· 细节性数据 · 当前数据 · 可更新的 · 数据处理量较小 · 面向事务处理 · 面向业务操作人员 |
· 综合和经过提炼的数据 · 历史数据 · 不可修改的 · 数据处理量较大 · 面向决策分析处理 · 面向决策管理层人员 |
4 OLAP的实现方式
4.1 ROLAP
(Relational OLAP)基于关系型数据库的OLAP实现。一般有星型模式和雪花型模式两种。
星型模式主要是维表和事实表通过主外键关联。
而雪花型模式侧重通过最大限度地减少数据存储量以及关联较小的维表来改善数据查询的性能。
4.2 MOLAP
(Multidimentional OLAP) 是基于多维的OLAP实现,主要采用“切片”和“切块”技术,数据检索速度快,但生成立方体的速度很慢,多维数据都存储在立方体中。
4.3 HOLAP
(Hybrid OLAP)是混合型的OLAP实现。它集合了ROLAP和MOLAP的主要技术。