数据仓库理论篇
数据仓库Data Warehouse - 数仓是一种思想,数仓是一种规范,数仓是一种解决方案
数据处理方式
数据处理大致可以分为两大类:
联机事务处理OLTP(On-Line Transaction processing)
联机分析处理OLAP(On-Line Analytical Processing)
OLTP(联机事物处理)
面向于业务(事务)的,主要用于捕获数 据,主要对数据进行CURD操作,存储最近业务 使用数据,交互性强,存储数据量较小。并且满足三范式。
OLAP(联机分析处理)
面向于主题的,主要用于数据分析,对数据进行查询操作,存储过去既定发生过 的数据(历史数据),交互性弱但存储数据量比较 大 可以进行复杂的聚合计算
数据建模
数据建模指的是对现实世界各类数据的抽象组织(就是对数据的一种抽象管理方式),确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。
将经过系统分析后抽象出来的概念模型转化为物理模型
ER模型(关系)
用实体加关系描述的数据模型
特点:规范性较好,冗余度小,但不适合分析数据
遵循三范式: - 列不可再分 - 所有的列必须依赖于主键 - 如果有部分列不依赖于主键,就将这些列重新构建一张表
维度建模
以分析决策的需求构建模型,主要完成用户如何快速完成分析需求 冗余度比较高
维度建模中的重要概念: 事实表 表中的每行数据代表一个业务事件 数据非常大定时更新,不保留历史数据 事实表中的每行:具有可加性的数值型的度量值 与维表相连接的外键 通常有两个或两个以上外键 事务型事实表 周期型快照事实表 累积型快照事实表 维度表 一般是对事实的描述信息,一张表对应世界中一个对象或概念 选择业务 > 定义粒度 > 选择维度 > 确定事实 度量值 度量值是对一次行为的度量(如一个事件的个数,金额等)
维度建模表分类
在维度建模中,将度量称为“事实” , 将环境描述为“维度”。
例:今天张三买了一瓶两块的矿泉水 在这里:”今天“、“张三”、“买”、”矿泉水“是维度,“一瓶”,“两块”是事实
维度表
维度表概念
维度建模四部曲:
选择业务处理过程 > 定义粒度 > 选择维度 > 确定事实
辅助我们分析事实数据,维度的列成为维度的属性,这些也是将要分析数据的重点特征
维度表的范围很宽,有可能将多维的数据叠加到一起。方便计算
和事实表相比行数比较少–商品
内容相对固定
维度表设计原则
1.维度属性尽量丰富,为数据使用打下基础
上游维度丰富,下游计算才会灵活2.给出详实的、有意义的文字描述
3.区分数值型属性和事实
4.沉淀出通用的维度属性,为建立一致性维度做好铺垫
5