本文为《数据挖掘:概念与技术》中“数据仓库与联机分析处理”的阅读笔记。
4. 数据仓库与联机分析处理
- ETL:用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
- 数据仓库提供联机分析处理(OLAP)工具,用于各种粒度的多维数据的交互分析,有利于有效的数据泛化和数据挖掘。
- 数据立方体,是一种用于数据和OLAP以及OLAP操作(如上卷、下钻、切片和切块)的多维数据模型。
4.1 数据仓库:基本概念
4.1.1 什么是数据仓库
- 数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理者的决策过程。
- 面向主题的:数据仓库关注决策者的数据建模和分析,而不是单位的日志操作和事务处理。数据仓库通常排除对于决策无用的数据,提供特定主题的简明视图。
- 集成的:通常构造数据仓库是将多个异构数据源,如关系数据库、一般文件和联机事务处理记录集成在一起。
- 时变的:数据仓库的关键结构都隐式或显式地包含时间元素。
- 非易失的:数据仓库总是物理地分离存放数据,不需要事务处理、恢复和并发控制机制,通常只需要数据访问操作:数据的初始化装入和数据访问。
4.1.2 操作数据库系统与数据仓库的区别
- 联机操作数据库系统的主要是执行联机事务和查询处理,称为联机事务处理(Online Transaction Processing,OLTP)系统。
- 数据仓库系统在数据分析和决策方面为用户或“知识工人”提供服务,这种系统可以用不同的格式组织和提供数据,以便满足不同用户的形形色色的需求,称作联机分析处理(Online Analytical Processing,OLAP)系统。
4.1.3 为什么需要分离的数据仓库
- 操作数据库是为已知的任务和负载设计的,检索特定的记录,优化“定制的”查询。数据仓库的查询通常是复杂的,涉及大量数据在汇总级的计算,可能需要特殊的基于多维视图的数据组织、存取方法和实现方法。
- 操作数据库支持多事务的并发处理,需要并发控制和恢复机制,以确保一致性和事务的鲁棒性。OLAP查询只需要对汇总和聚集数据记录进行只读访问。
- 数据仓库与操作数据库分离是由于这两种系统中的数据的结构、内容和用法都不相同。
4.1.4 数据仓库:一种多层体系结构
- 底层是仓库数据库服务器。
- 中间层是OLAP服务器
- 顶层是前段客户层
4.1.5 数据仓库模型:企业仓库、数据集市和虚拟仓库
从结构的角度来看,有三种数据仓库模型
- 企业仓库
- 数据集市
- 虚拟仓库
4.1.6 数据提取、变换和装入
- 数据提取:由多个异构的外部数据源收集数据。
- 数据清理:检测数据中的错误,可能时订正它们。
- 数据变换:将数据由遗产或宿主格式转换层数据仓库格式。
- 装入:排序、汇总、合并、计算视图、检查完整性,并建立索引和划分。
- 刷新:传播由数据源到数据仓库的更新。
4.1.7 元数据库
元数据是关于数据的数据。在数据仓库中,元数据是定义仓库对象的数据。元数据库应当包括以下内容:
- 数据仓库结构的描述
- 操作元数据,包括数据血统、数据流通、管理信息
- 用于汇总的算法
- 由操作环境到数据仓库的映射
- 关于系统