数据仓库
数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出的定义一直被广泛接受:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
数据架构的原则
1、底层业务的数据驱动为导向同时结合业务需求驱动
2、便于数据分析,屏蔽底层复杂业务,简单、完整、集成的将数据暴露给分析层
3、底层业务变动与上层需求变动对模型冲击最小化业务系统变化影响削弱在基础数据层(资金订单改造)结合自上而下的建设方法削弱需求变动对模型的影响数据水平层次清晰化
4、高内聚松耦合
主题之内或各个完整意义的系统内数据的高内聚
主题之间或各个完整意义的系统间数据的松耦合
5、构建仓库基础数据层
使得底层业务数据整合工作与上层应用开发工作相隔离,为仓库大规模开发奠定基础
仓库层次更加清晰,对外暴露数据更加统一
如何搭建一个好的数据仓库
稳定(数据源稳定的数据)=》可信(数据干净、质量高)=》丰富(业务广泛)=》透明(数据构成体系足够透明)
功能架构(结构清晰)+数据架构(数据质量有保障)+技术架构(易扩展、易用)
主流的建模方法:
ER模型:
ER模型常用于OLTP数据库建模,应用到构建数仓时更偏重数据整合, 站在企业整体考虑,将各个系统的数据按相似性一致性、合并处理,为数据分析、决策服务,但并不便于直接用来支持分析。
维度模型:
维度建模是面向分析场景而生,针对分析场景构建数仓模型;重点关注快速、灵活的解决分析需求,同时能够提供大规模数据的快速响应性能。针对性强,主要应用于数据仓库构建和OLAP引擎低层数据模型。
痛点:
海量数据不知道如何ETL
异构数据源
如何方便业务人员快速获取数据
如何定义重要的指标
如何确保数据准确性
如何支持决策
EDW/BI架构
数据源=》ETL=》DW=》BI应用
维度建模
用于度量的事实表,事实表一般会有两个或者多个外健与维度表的主键进行关联。事实表的主键一般是组合健,表达多对多的关系。
维度表的属性是所有查询约束和报表标示的来源。维度提供数据的入口点,提供所有DW/BI分析的最终标识和分组。
所以维度建模表示每个业务过程包含的事实表,事实表里面存储事件的数值化度量,围绕事实表的是多个维度表,维度表包含事件发生的实际存在的文本环境。
事实表+多个维度表
主要策略:
选择业务过程
业务执行过程、某个操作系统支持、一系列过程产生一系列事实表
声明粒度
精准定义某个事实表的每一行代表什么
确认维度
健壮的维度集合修饰事实表
维度表承担每个度量环境中所有可能的单值描述符
确认事实
不同粒度的事实必须放在不同的事实表中
事实表的设计完全依赖物理活动
事实表通过外键关联与之相关的维度
查询操作主要基于事实表开展计算和聚合
常见维度模型:
星型模型
雪花模型
星座模型