《全链路数据治理-智能数据建模 》——数仓建模理论与规范(1)

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 《全链路数据治理-智能数据建模 》——数仓建模理论与规范(1)

数仓建模理论与规范


作者:渠振方,大数据售前专家服务团队


摘要:本文主要介绍数据仓库模型架构设计的目标、核心思想和核心步骤。


一、 模型架构设计目标


1. 数据仓库的定义


数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。



从上面的定义可用看到数据仓库主要有四个特点:


• 面向主题:面向分析主题,如商家全域分析、交易环节分析等。

• 集成的:将业务系统进行集成组装,并整合到数据仓库中。

• 相对稳定:不同于OLTP 需要进行很多事务性操作(如:插入、删除、修改,等),

OLAP 是一次性载入后进行多次查询访问。

• 反映历史变化:不同于OLTP 仅反映当下数据状态,OLAP 可以反映数据历史的

变化情况。


image.png


2. 范式建模VS 维度建模


建模的两大核心思想是:范式建模和维度建模。


1) 范式建模法(3NF)——Inmon


数据仓库建模中最常用的方法,在技术上可以解决关系型数据库的数据存储,减少大量的数据冗余;在业务上可以使模型更加简洁易懂,数据的出口唯一。


• 优点:从关系型数据库的角度出发,结合了业务系统的数据模型,能很方便的

实现数据仓库建模,同时逻辑清晰,避免了数据冗余。


• 缺点:从底层数据向数据集市的数据进行汇总时需要进行一定变通,经常需要

多表关联才能满足相应的需求。


2) 维度建模——Kimball


按照事实表、维表来构建数据仓库、数据集市。


• 优点:事实表事先针对各个维度做了大量的预处理,比如进行预先的聚集、排序、分类等,后续基于其上的应用在访问速度很快;维度非常直观,紧紧围绕着业务模型,能快捷完成维度建模。

• 缺点:当业务发生变化,需要重新进行维度的定义,往往需要重新进行维度数据的预处理,并导致大量的数据冗余,无法保证数据来源的一致性与完整性。


本次分享主要介绍维度建模。


3. 模型架构设计目标


模型架构设计的总体目标是清晰的层次架构、合理稳定的数据分域和高效易用的数据模型。具体体现在以下四个方面:


1) 易使用

• 一致性

• 规范性

• 完整性

2) 高质量

• 稳定产出

• 口径一致

• 准确性

3) 低成本

• 计算成本

• 存储成本

• 研发成本

4) 好运维

• 可扩展

• 可回刷

• 易维护




《全链路数据治理-智能数据建模 》——数仓建模理论与规范(2) https://developer.aliyun.com/article/1231084?groupCode=tech_library


相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
5月前
|
存储 数据采集 JavaScript
深入理解数仓开发(一)数据技术篇之日志采集
深入理解数仓开发(一)数据技术篇之日志采集
|
15天前
|
30天前
|
SQL
数仓规范之sql编写规范
编写SQL时,应遵循以下规范:所有关键字小写,表别名按a, b, c...顺序使用,复杂逻辑多行书写,提高可读性。SELECT字段需逐行列出,避免使用*,GROUP BY字段同样处理。WHERE条件多于一个时,每条件一行。JOIN子表推荐使用嵌套查询方式1,明确关联条件,避免笛卡尔积。关键逻辑需注释,INSERT SELECT后最外层字段加注释说明用途。示例中展示了推荐的JOIN替代子查询的写法,以提高代码的可读性和维护性。
39 1
|
5月前
|
消息中间件 关系型数据库 Kafka
深入理解数仓开发(二)数据技术篇之数据同步
深入理解数仓开发(二)数据技术篇之数据同步
|
3月前
|
DataWorks 负载均衡 Serverless
实时数仓 Hologres产品使用合集之如何导入大量数据
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
3月前
|
SQL 消息中间件 OLAP
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
53 1
|
3月前
|
SQL DataWorks 数据库连接
实时数仓 Hologres操作报错合集之如何将物理表数据写入临时表
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
3月前
|
SQL 分布式计算 关系型数据库
实时数仓 Hologres操作报错合集之指定主键更新模式报错主键数据重复,该如何处理
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
3月前
|
SQL 分布式计算 MaxCompute
实时数仓 Hologres产品使用合集之如何在插入数据后获取自增的id值
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
实时数仓 Hologres产品使用合集之如何在插入数据后获取自增的id值
|
4月前
|
Cloud Native 关系型数据库 新能源

热门文章

最新文章