在线分析处理(OLAP)全面解析
立即解锁
发布时间: 2025-08-23 01:29:47 阅读量: 8 订阅数: 33 

# 在线分析处理(OLAP)全面解析
## 1. 什么是在线分析处理(OLAP)
在线分析处理(OLAP)是一种决策支持方法,旨在从数据仓库或数据集市中提取知识。它主要为非专业用户提供数据导航功能,使他们能够在无需 IT 专业人员干预的情况下交互式地生成即席查询。这个概念与在线事务处理(OLTP)相对,反映了这两类应用的不同需求和特点,属于商业智能领域。
### 1.1 历史背景
从计算机化数据管理之初,企业就意识到利用计算机进行数据分析的可能性。早期的分析工具需要 IT 部门协助决策者查询数据,缺乏交互性,且要求具备特定的计算机科学知识。到 20 世纪 80 年代中期,执行信息系统引入了新的图形化、无键盘界面(如触摸屏),但决策者在定义即席查询时仍依赖 IT 专业人员,且软硬件成本对小公司来说过高。后来,便宜且易用的电子表格在决策者中流行起来,但很快人们发现它们不适合处理和共享大量数据。1993 年,Codd 等人提出了 OLAP 这个术语,并定义了 12 条规则,但这些规则引发了争议,不如 Codd 早期对关系数据库管理系统(RDBMS)的提议成功。不过,OLAP 这个名称变得非常流行并被广泛使用。
虽然 OLAP 名称始于 1993 年,其背后的思想可追溯到 20 世纪 80 年代,但目前尚无该概念的正式定义。Nigel Pendse 提出,OLAP 工具应通过 FASMI(共享多维信息的快速分析)测试,即具备快速响应交互式查询、灵活使用统计工具和进行假设分析、提供数据安全机制、提供多维视图以及管理大量数据和元数据的能力。然而,对于这些特性没有明确的衡量标准和阈值,因此很难确定一个工具是否满足这些要求。但一般认为,OLAP 工具必须提供数据的多维视图。
随着时间的推移,OLAP 工具变得更轻便、价格更低,同时提供了更多功能、更好的用户界面和更便捷的管理方式。小公司现在有能力且愿意在决策过程中使用 OLAP。曾经部分 OLAP 行业成立了 OLAP 理事会(1995 年 1 月成立),旨在推广和标准化 OLAP 术语和技术,但一些主要供应商未加入,该理事会最终于 1999 年消失。如今,没有专门针对 OLAP 的标准化机构,短期内难以有标准的数据模型和查询语言。
### 1.2 OLAP 与 OLTP 的区别
| 比较项目 | OLTP | OLAP |
| ---- | ---- | ---- |
| 用途 | 解决具体问题,用于公司日常工作 | 用于决策支持 |
| 工作量 | 由于问题可完全明确,系统工作量预定义清晰 | 旨在每天解决新问题,执行即席查询 |
| 数据操作 | 读写数据 | 通常为只读,决策者不直接修改数据 |
| 查询复杂度 | 通常涉及的数据量较小,涉及的表、分组和计算较少,操作记录数最多为几十或几百 | 通常涉及大量信息,需要连接多个表、分组数据和计算函数,查询涉及数千甚至数百万条记录 |
| 用户数量 | 可能有数千或数百万用户(如 ATM 机) | 有几十或几百个用户 |
### 1.3 多维性
OLAP 的主要特点是多维性,使用数据立方体隐喻使用户交互更简单,更符合决策者的思维方式。决策者可能觉得 SQL 或其他基于文本的查询语言难以理解且容易出错,而多维模型更容易理解。在多维模型中,事实(Fact)是分析的主题,维度(Dimensions)是分析师研究事实的不同视角。事实的实例显示在通常称为立方体或超立方体的 n 维空间中。
为了在二维界面中展示 n 维立方体,会使用交叉表或统计表。与关系表不同,交叉表的列和行都是固定且可互换的。例如,一个表示 OLAP 工具市场的交叉表可能有产品、地点和年份三个维度。
多维性基于事实 - 维度二分法。维度包含代表不同粒度(或详细程度)的聚合层次结构,聚合级别包含描述性属性。事实包含称为度量的定量属性。分析维度构成了描述研究事实的多维空间,每个数据实例通过其分析维度中的一个点在多维空间中定位,相同点不会有两个不同的数据实例。并且,数据汇总必须正确,即聚合类别必须是互补且不相交的,度量、聚合函数和聚合维度必须兼容。例如,库存、总和和时间不兼容,因为库存度量不能按时间维度相加。
### 1.4 OLAP 操作
虽然对于多维操作的集合及其命名没有共识,但有一些常见的操作,这些操作可以将一个起始查询转换为新查询。以下是主要的操作:
1. **选择或切块(Selection or dice)**:通过对维度属性的逻辑谓词,用户可以从整个 n 维空间中选择感兴趣的点的子集。
2. **上卷(Roll - up)**:也称为“Drill - up”,根据聚合层次结构对立方体中的单元格进行分组,通过同一维度中两个聚合级别实例之间的多对一关系(部分 - 整体关系)修改数据粒度。例如,将月度销售数据上卷为年度销售数据。
3. **下钻(Drill - down)**:是上卷
0
0
复制全文
相关推荐










