什么是数据仓库

范式:数据仓库是面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。

维度:数据仓库是一个将源系统数据抽取、清洗、规格化、提交到维度数据存储的系统,为决策的制定提供查询和分析功能的支持和实现。

什么是OLTP/OLAP?

OLTP:联机事务处理;强调事务:原子性、一致性、独立性、持续性。
OLAP:联机分析处理;强调分析:维度、度量、下转与上卷、切片与切块、旋转。
image.png

模型设计的三个阶段

概念模型 -> 逻辑模型 -> 物理模型

概念模型

概念模型设计主要是通过分析和归纳,将业务划分为几个主题,并确定主题之间的关系。
比如,
出行行业:司机、乘客、订单、支付、车辆等
快消行业:仓储、库存、用户、商品、订单、支付等

逻辑模型

逻辑模型是指在概念模型的基础上,定义数据仓库各种实体、属性、关系,指导后续的数据存储、组织和数据应用的开发。目前比较流行的建模理论为Inmon提出的自上而下(EDW-DM)的范式建模理论和Kimball的从上而下的(DM-DW)的维度建模理论。

范式建模

第一范式(1NF):原子性,数据不可分割。
第二范式(2NF):唯一性,每一行数据都具有唯一性。
第三范式(3NF):独立性,消除传递依赖。

维度建模

星型模型:由一个事实表和一组维度表组成,每个维度表都有一个维度作为主键,事实表居中,多个维度呈辐射状分布其四周,并与事实表连接,形成一个星型结构。
星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维度,是反范式的,所以数据有一定的冗余。
数据仓库 - 图2
雪花模型:雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的「层次 」 区域,这些被分解的表都连接到主维度表而不是事实表。它的优点是 : 通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能。
**数据仓库 - 图3

差异对比

对比维度 星型模型 雪花模型
数据库数据优化 雪花模型使用的是规范化数据,也就是说数据在数据库内部是组织好的,以便消除冗余,因此它能够有效地减少数据量。通过引用完整性,其业务层级和维度都将存储在数据模型之中。