第四章 数据仓库
4.1 数据仓库
4.1.1 数据仓库的定义
- 数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理者的决策过程。
- 主要进行分析决策,不太关注数据的操作
4.1.2 数据仓库和数据库的关系
- 数据仓库是从历史的角度提供信息,而数据库保存当前数据。数据仓库中的数据时间期限要远远长于操作型数据库中的 数据时间期限。
- 演变过程:关系数据库高级数据库数据仓库技术和数据挖掘技术
- 数据库的局限性:传统数据库所能做到的只是对已有的数据进行存取以及简单的查询统计。人们无法根据数据发现数据当中存在的关系和规则,无法根据现有数据预测未来的发展趋势。
- 为什么需要一个分离的数据仓库?
- 提高两个系统的性能
- 数据库是为OLTP设计的:存储方式, 索引, 并发控制, 恢复
- 数据仓库是为OLAP设计:复杂的OLAP查询, 多维视图,汇总
- 不同的功能和不同的数据:
- 历史数据:决策支持需要历史数据,而这些数据在操作数据库中一般不会去维护
- 数据汇总:决策支持需要将来自异种源的数据统一(如聚集和汇总)
- 数据质量:不同的源使用不一致的数据表示、编码和格式,对这些数据进行有效的分析需要将他们转化后进行集成
- 操作数据库系统的主要任务是联机事务处理OLTP
- 数据仓库的主要任务是联机分析处理OLAP
数据库 | 数据仓库 | |
主要内容 | 事务处理 | 决策分析 |
内容 | 与事务相关的数据 | 与决策相关的数据 |
数据 | 当前数据 | 时变的数据 |
访问 | 经常是随机的读写操作 | 经常是只读操作 |
负载 | 事务处理量大、但每个事务涉及的记录数较少 | 查询量少,但每次要查询大量的记录 |
事务输出量 | 一般很少 | 可能非常大 |
停机时间 | 可能意味着灾难性错误 | 可能意味着延迟决策 |
- 数据库、 数据仓库相辅相成、各有千秋。
4.2 联机分析处理
4.2.1 联机事务处理(OLTP)
- 联机事务处理(On Line Transaction Processing,OLTP)是在网络环境下的事务处理工作,以快速的响应和频繁的数据修改为特征,使用户利用数据库能够快速地处理具体的业务。
- OLTP的特点在于事务处理量大,但事务处理内容比较简单且重复率高。
- OLTP处理的数据是高度结构化的。
4.2.2联机分析处理(OLAP)
- OLAP(On-Line Analysis Processing)定义
- 是数据仓库上的分析展示工具,它建立在数据多维视图的基础上。
- OLAP的主要特点:多维分析
- 决策分析需要对多个关系数据库共同进行大量的综合计算才能得到结果。
4.2.3 OLTP与OLAP的对比
OLTP | OLAP | |
用户 | 办事员、数据库人员 | 知识工作(主管、分析人员)者 |
功能 | 日常操作 | 决策支持 |
数据库设计 | 面向应用的,事务驱动 | 面向主题的 |
数据特点 | 当前的, 更新的 详细的,关系型 孤立的 | 历史的, 汇总的, 多维的 集成的, consolidated |
特性 | 操作处理 | 信息处理 |
存取方式 | 读/写 索引 | 大量的扫描 |
工作单元 | 简单的事务处理 | 复杂的查询 |
记录 访问量 | 数十 | 数百万 |
用户数量 | 数以千计 | 数以百计 |
数据库规模 | 100MB-GB | 100GB-TB |
4.2.4 OLAP主要操作
- 切片和切块
- 转轴
- 上卷
- 下钻
4.3 数据仓库的体系结构
- 三层数据仓库架构
- 数据仓库的体系架构
- 底层:数据仓库的数据库服务器
- 中间层:OLAP服务器
- 前端客户工具层
- 数据仓库的三种应用
- 信息处理
- 分析处理
- 数据挖掘
- OLAP vs 数据挖掘
- 一个观点是认为两个功能不相交,OLAP是数据汇总、聚集工具,帮助简化数据分析;数据挖掘自动地发现隐藏在大量数据中的隐含模式和有趣知识。数据挖掘比传统的OLAP处理前进了一步。
- 更广泛的观点:数据挖掘包含数据描述和数据建模,而OLAP可以提供对数据仓库中数据的一般描述,基本功能是用户指导的汇总和比较,这些都是数据挖掘功能。也就是说数据挖掘的涵盖面比简单的OLAP操作宽很多。
4.4 云原生数据仓库
第四章完