数仓建模理论与规范
作者:渠振方,大数据售前专家服务团队
摘要:本文主要介绍数据仓库模型架构设计的目标、核心思想和核心步骤。
一、 模型架构设计目标
1. 数据仓库的定义
数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
从上面的定义可用看到数据仓库主要有四个特点:
• 面向主题:面向分析主题,如商家全域分析、交易环节分析等。
• 集成的:将业务系统进行集成组装,并整合到数据仓库中。
• 相对稳定:不同于OLTP 需要进行很多事务性操作(如:插入、删除、修改,等),
OLAP 是一次性载入后进行多次查询访问。
• 反映历史变化:不同于OLTP 仅反映当下数据状态,OLAP 可以反映数据历史的
变化情况。
2. 范式建模VS 维度建模
建模的两大核心思想是:范式建模和维度建模。
1) 范式建模法(3NF)——Inmon
数据仓库建模中最常用的方法,在技术上可以解决关系型数据库的数据存储,减少大量的数据冗余;在业务上可以使模型更加简洁易懂,数据的出口唯一。
• 优点:从关系型数据库的角度出发,结合了业务系统的数据模型,能很方便的
实现数据仓库建模,同时逻辑清晰,避免了数据冗余。
• 缺点:从底层数据向数据集市的数据进行汇总时需要进行一定变通,经常需要
多表关联才能满足相应的需求。
2) 维度建模——Kimball
按照事实表、维表来构建数据仓库、数据集市。
• 优点:事实表事先针对各个维度做了大量的预处理,比如进行预先的聚集、排序、分类等,后续基于其上的应用在访问速度很快;维度非常直观,紧紧围绕着业务模型,能快捷完成维度建模。
• 缺点:当业务发生变化,需要重新进行维度的定义,往往需要重新进行维度数据的预处理,并导致大量的数据冗余,无法保证数据来源的一致性与完整性。
本次分享主要介绍维度建模。
3. 模型架构设计目标
模型架构设计的总体目标是清晰的层次架构、合理稳定的数据分域和高效易用的数据模型。具体体现在以下四个方面:
1) 易使用
• 一致性
• 规范性
• 完整性
2) 高质量
• 稳定产出
• 口径一致
• 准确性
3) 低成本
• 计算成本
• 存储成本
• 研发成本
4) 好运维
• 可扩展
• 可回刷
• 易维护
《全链路数据治理-智能数据建模 》——数仓建模理论与规范(2) https://developer.aliyun.com/article/1231084?groupCode=tech_library