一、数据仓库概述
-
定义:数据仓库(Data Warehouse,简称DW或DWH)是一个为企业所有级别的决策制定过程提供所有类型数据支持的战略集合。它是单个数据存储,主要用于分析性报告和决策支持目的。
-
目的:为企业决策分析提供数据支持,包括业务流程改进、时间、成本、质量的监视与控制等。
-
特点:
- 面向主题:数据按照主题域进行组织,如销售、库存等。
- 集成性:数据来源于多个操作型数据库,经过ETL(Extract, Transform, Load)过程整合。
- 稳定性:数据仓库中的数据主要是只读的,用于查询分析。
- 时变性:包含历史数据,支持对过去的分析和对未来的预测。
二、数据仓库架构
-
数据源:数据仓库的数据来源于多个操作型数据库、文件或其他数据源。
-
ETL过程:
- 抽取(Extract):从数据源中抽取所需数据。
- 转换(Transform):对抽取的数据进行清洗、转换和整合。
- 加载(Load):将转换后的数据加载到数据仓库中。
-
数据存储:数据仓库采用星型模型、雪花模型等多维数据模型进行数据存储。
-
OLAP服务器:提供联机分析处理功能,支持用户进行多角度、多层次的分析。
-
前端工具:如报表工具、查询工具、数据挖掘工具等,用于数据的展示和分析。
三、数据仓库与数据库的区别
-
面向类型:数据库是面向事务的设计,而数据仓库是面向主题设计的。
-
数据类型:数据库一般存储业务数据,数据仓库存储的一般是历史数据。
-
冗余性:数据库设计尽量避免冗余,而数据仓库中可能存在一定程度的冗余以提高查询性能。
四、OLTP与OLAP
- OLTP(联机事务处理):
- 主要用于管理事务,如INSERT、UPDATE、DELETE等操作。
- 高并发,数据量级不大。
- OLAP(联机分析处理):
- 用于数据分析,支持管理决策。
- 查询频率较OLTP更低,但通常会涉及到复杂的聚合计算。
五、数据仓库建模
- 范式模型(实体关系模型):
- 数据仓库之父Bill Inmon推崇的方法,符合3NF(第三范式)。
- 设计思路自上而下,适合上游基础数据存储。
- 维度模型:
- 由Ralph Kimball倡导,以分析决策的需求出发构建模型。
- 强调一致性维度和事实,更直接面向业务。
六、数据仓库的应用场景
-
企业决策分析:整合和分析企业数据,支持管理决策。
-
市场营销分析:分析市场数据,优化营销策略。
-
客户关系管理:了解客户需求和购买行为,提升客户满意度。
-
供应链管理:实现供应链的全面可视化和管控。