OLAP的学习与实例搭建
理论准备工作:
一. OLAP
1.什么是OLAP
OLAP(On-LineAnalysis Processing)在线分析处理是一种共享多维信息的快速分析技术;OLAP利用多维数据库技术使用户从不同角度观察数据;OLAP用于支持复杂的分析操作,侧重于对管理人员的决策支持,可以满足分析人员快速、灵活地进行大数据复量的复杂查询的要求,并且以一种直观、易懂的形式呈现查询结果,辅助决策。
2.相关概念
(1)维
是人们观察数据的特定角度,是考虑问题时的一类属性集合构成一个维(如时间维、地理维等)。
(2)级别(Level)
人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(如时间维:日期、月份、季度、年)。即维的级别。
(3)成员(Member)
维的一个取值,是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)。
(4)度量(Measure)
多维数组的取值,如“某年某月某日的工资”。
(5)钻取(Drill-up和Drill-down)
改变维的层次,变化分析的粒度。Drill-up是将低层次的数据概括到高层次的汇总数据或者说是减少维度;drill-up则是相反,是将汇总的数据深入到细节,或说是增加新维。
(6)切片和切面
是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。
(7)旋转
是变换维的方向,即在表格中重新安排维的放置(例如行列互换)
(8)星型模式
由事实表和维表组成,事实表包括所有分析维度的外键和一个度量,维表对应于各个分析的角度,它除了主键以外还包含描述和分类信息。
(9)雪花模式
有时候,维表的定义会变得复杂,例如对产品维,既要按产品种类进行划分,对某些特殊商品,又要另外进行品牌划分,商品品牌和产品种类划分方法并不一样。因此,单张维表不是理想的解决方案,可以采用以下方式,这种数据模型称为雪花模型。
二. Mondrian的学习
2.1 Mondrian的架构
1) 底层数据库
2) 存储层 数据库部分(数据仓库)的建立
将原有的底层数据库转化为一个星型模型或雪花模型的过程
3) 维度层 schema文件 (关键部分)
将存储层的数据仓库转化为一个schema文件,通过schema-workbench或者手写完成,至此就可以通过MDX来对多维数据库进行访问。
4) 展示层 编写jsp文件用于展示 它位于展示层由Jpivot提供展示
JPivot 是Mondrian的表现层TagLib,
Jpivot完全基于JSP+TagLib;
JPivot另外一个可能使人不惯的地方是它完全基于taglib而不是大家熟悉的MVC模式。
但它可以很方便的将多维数据展示给最终用户。