一. 什么是数据仓库
数据仓库是面向主题的、集成的、时变的和非易失性的数据集合,以支持管理的决策过程。
数据仓库的四个主要特征:
1.数据仓库是面向主题的
2.数据仓库是集成的
不是对这些数据源中某些数据的复制,而是对这些数据源中数据的进一步抽象。
它需要按照统一的结构、一致的格式、一致的度量单位、一致的语义、从不同的数据源提取数据并进行清洗、转换、综合、抽象,最后集成为面向主题的数据
集合,确保数据的综合性、宏观性和一致性。
3.数据仓库是随时间不断变化的
4.数据仓库是非易失的
– 数据查询和联机分析
既然操作数据库中存放了大量的数据,为什么不直接对这种数据库进行联机分析处理,而是另外花费时间和资源去构建分离的数据仓库?
DBMS DWMS
具有功能 OLTP OLAP
数据视图 当前的 历史的
细粒度的 综合的
局部的 集成的
设计目的 面向应用 面向分析
查询 90%事先知道 90%是后知道的
update read-only but complex queries
一次操作所涉及 一次操作所涉及的数据量大
的数据量小
开发周期 需求驱动 数据驱动
二. 多维数据模型
1. 一个数据仓库由若干多维数据集合组成,一个多维数据集合对应一个分析主题
2. 一个多维数据集合包含两类数据:
度量属性:描述决策者进行分析计算用的数值型数据,是分析、统计的对象,如销售额。
维属性:描述度量属性的数据,如销售时间。表示决策分析者对主题数据考察的角度。维可以有复杂的层次关系。
3. 多维数据集合的表示:星型结构,雪花型结构
三. 数据仓库的实现技术
1. 基于关系的实现方法
以关系数据库作为管理系统,数据以“关系表”的形式存储
- 维表
- 事实表
用一个元组来表示多维空间中的一个点,元组中的某些属性值用来表示点在多维空间中的位置,其他属性值用来表示点的数据值。
2. 基于多维数组的实现方法
使用多维数组来存储多维数据集合。多维数据集合的维属性值被用做数组的维索引,确定多维数据集合中每个点在多维数组中的位置。
维属性值不需要被存储。多维数据集合的度量属性值表示点的数据值。
3. 混合方式
同时提供关系型和多维数组
扬长避短
– 利用关系表解决数据稀疏问题
– 利用多维数组解决元组中数值重复问题
选择某些维存储在关系表中,起到索引的作用