OLAP
- OLAP的主要特点是直接仿照用户的多角度思考模式,预先为用户组建多维的数据模型。
- 维指的是用户的分析角度,例如对销售数据的分析,时间周期是一个维度,产品类别、分销渠道、地理分布、客户群类也分别是不同的维度。
- 一旦多维数据模型建立完成,用户可以快速地从各个分析角度获取数据,也能动态地在各个角度之间切换数据或者进行多角度综合分析,具有极大的分析灵活性。
主要名词
- 维(Dimension):是用户观察数据的特定角度,是问题的一类属性,属性集合构成一个维(时间维、地理维等)。
- 维的层次(Level):用户观察数据的某个特定角度(即某个维)还可能存在细节程度不同的各个描述方面(时间维包括日期、月份、季度、年)。
- 维的成员(Member):即维的一个取值,是数据项在某个维中位置的描述,如“某年某月某日”是在时间维上的位置描述。
- 度量(Measure):多维数组的取值。
多维分析操作
- 钻取(Drill-up和Drill-down):改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上滚(Roll-up)。向上钻取是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而向下钻取则相反,从汇总数据深入到细节数据进行观察或增加新维。
- 切片和切块(Slice&Dice):在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。
- 旋转(Pivot):变换维的方向,即在表格中重新安排维的放置(如行列互换)。
与OLTP区别
- 联机事务处理OLTP(on-line transaction processing):
传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 - 联机分析处理OLAP(On-Line Analytical Processing):
数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
| 比较 | OLTP | OLAP |
|---|---|---|
| 用户 | 操作人员,低层管理人员 | 决策人员,高级管理人员 |
| 功能 | 日常操作处理 | 分析决策 |
| DB设计 | 面向应用 | 面向主题 |
| 数据 | 当前的, 最新的细节的,二维的分立的 | 历史的, 聚集的, 多维的集成的, 统一的 |
| 存 | 简单快速的insert和update | 定期批量任务更新 |
| 取 | 简单的读取少量结果 | 读取大量结果并做聚合操作 |
| 工作单位 | 简单的事务 | 复杂的查询 |
| 用户数 | 上千个 | 上百个 |
| DB 大小 | 100MB-GB | 100GB-TB |
| 主要应用 | 数据库 | 数据仓库 |
参考
http://datawarehouse4u.info/OLTP-vs-OLAP.html
http://www.voidcn.com/blog/nisjlvhudy/article/p-3330989.html