数仓建模理论与规范(一)| 学习笔记

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 快速学习数仓建模理论与规范。

开发者学堂课程【智能数据建模训课程 :数仓建模理论与规范(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1223/detail/18308


数仓建模理论与规范

 

内容介绍:

一、数仓模型简介

二、数仓模型架构设计目标

三、数仓模型架构设计核心思想

四、数据分层架构设计

五、数据分域架构设计

六、数据模型设计的流程

 

数仓建模的内容主要分为两部分内容,第一部分是理论方面的介绍,即最佳实践的过程,第二部分是针对 DataWorks 数据建模功能的演示。

本节课主要学习理论介绍部分,该部分主要分为五部分内容:首先介绍数仓模型架构的设计目标,接下来说明模型制架构设计所秉承的核心思想,其次介绍数据分层的架构设计,然后学习在分层之后所要做的数据模型的分域,最后介绍在分域之后做具体的模型设计的流程,即模型设计的实操过程。

 

一、数仓模型简介

1、数仓(OLAP)的概念

从字面意义上,可以结合90年代就有的英文介绍进行理解:数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)

的数据集合,用于支持管理决策(Decision Making Support)。根据以上解释,可以提取其关键字概括其特点:

(1)面向主题

即数仓与线上的一些 OLTP 系统不同,而是更多地面向分析主题,如面向商家的全域的分析,或者面向交易环节的分析。

(2)集成

指把各个原业务系统的数据做集成的组装,整合到数据仓库中。

(3)相对稳定

OLTP 系统会执行很多事务型的操作,如插入、更新式删除等频繁的操作,而数仓与之不同,它会一次性地载入,多次地执行相应的查询访问,相对而言,数仓是一种较为稳定的结构。

(4)反映历史状况

在组件数据的存储粒度上,如对于订单,OLTP 系统只保存现在当下的状态,而 OLAP 系统则会反映历史的变化情况。

image.png

2、建模方法论

关于数据仓库建模的方法有很多种,最核心的两大流派(两大思想)是范式建模和维度建模。范式建模(inmon)主张的是从底层到上层建模的思路,而 Kimball 的维度建模更多的是基于集市向上进行做相应的数据的加工,每种建模方法具体的优点和缺点如下:

image.png

今天主要学习维度建模。

 

二、数仓模型架构设计目标

无论做怎样的模型架构设计,其目标其实是一定的,即希望数仓的架构具有清晰的层次划分,具有合理的、相对稳定的数据分域,并且最终设计的模型是高效易用的。简言之包括以下几方面:

(1)易使用,其主要体现在一致性,规范性和完整性;

(2)高质量,即稳定产出的模型指标口径是一致的,否则无法获知不同厂商产出的模型间的差异,就更谈不上所谓的质量了,这是数仓模型设计的初衷,非常关键的目标;

(3)好的模型设计也体现在运维方面,如业务在发生变化时,模型是否可以灵活地拓展,以及回刷历史数据时,任务是否能保证直接进行数据回刷去,而不会改变业务本身的数据,出现指标计算错误等;

(4)低成本,出去之前提到的跟中需求之外,还有一个很朴素的诉求,即希望成本是可控的,包括进行计算、存储,以及本身进行研发的成本。

image.png

 

三、数仓模型架构设计核心思想

在设定目标之下,我们应该秉承怎样的思想?

1、核心原则

其核心原则实际上与软件设计的思路相同,即高内聚和低耦合,也就是指域内的高内聚和域与域之间的以及业务和数据模型之间的低耦合。在此之上,在考虑稳定性、扩展性,以及各种效率,包括建设效率、产出效率和使用效率。

2、核心过程

核心的过程在于,在我们接触到新业务时,应先做相应的分层分域,分层分域完成后,在分层分域的结果上做相应的模式设计。在后面我们将按照核心过程具体了解整个数仓模型建设的路径。

image.png

相关实践学习
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
相关文章
|
1月前
|
2月前
|
SQL
数仓规范之sql编写规范
编写SQL时,应遵循以下规范:所有关键字小写,表别名按a, b, c...顺序使用,复杂逻辑多行书写,提高可读性。SELECT字段需逐行列出,避免使用*,GROUP BY字段同样处理。WHERE条件多于一个时,每条件一行。JOIN子表推荐使用嵌套查询方式1,明确关联条件,避免笛卡尔积。关键逻辑需注释,INSERT SELECT后最外层字段加注释说明用途。示例中展示了推荐的JOIN替代子查询的写法,以提高代码的可读性和维护性。
71 1
|
6月前
|
存储 SQL 分布式计算
离线数仓(五)【数据仓库建模】(4)
离线数仓(五)【数据仓库建模】
|
6月前
|
SQL 存储 关系型数据库
离线数仓(五)【数据仓库建模】(1)
离线数仓(五)【数据仓库建模】
离线数仓(五)【数据仓库建模】(1)
|
7月前
|
存储 数据挖掘 大数据
大数据数仓建模基础理论【维度表、事实表、数仓分层及示例】
数据仓库建模是组织和设计数据以支持数据分析的过程,包括ER模型和维度建模。ER模型通过实体和关系描述数据结构,遵循三范式减少冗余。维度建模,特别是Kimball方法,用于数据仓库设计,便于分析和报告。事实表存储业务度量,如销售数据,分为累积、快照、事务和周期性快照类型。维度表提供描述性信息,如时间、产品、地点和客户详情。数仓通常分层为ODS(源数据)、DWD(明细数据)、DIM(公共维度)、DWS(数据汇总)和ADS(应用数据),以优化数据管理、质量、查询性能和适应性。
1865 3
|
6月前
|
SQL 存储 关系型数据库
技术心得记录:数仓建模方法之范式建模、ER实体建模、维度建模
技术心得记录:数仓建模方法之范式建模、ER实体建模、维度建模
123 0
离线数仓(五)【数据仓库建模】(3)
离线数仓(五)【数据仓库建模】
|
6月前
|
存储 SQL JSON
离线数仓(五)【数据仓库建模】(2)
离线数仓(五)【数据仓库建模】
|
7月前
|
存储 数据可视化 前端开发
数仓常用分层与维度建模
本文介绍了数据仓库的分层结构和维度建模。数仓通常分为ODS、DIM、DWD、DWS和ADS五层,各层负责不同的数据处理阶段。维度建模是数据组织方法,包括星型和雪花模型。星型模型简单直观,查询性能高,适合简单查询;雪花模型则通过规范化减少冗余,提高数据一致性和结构复杂性,但可能影响查询效率。选择模型需根据业务需求和数据复杂性来定。
685 0
|
7月前
|
数据挖掘 数据库
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
301 0

热门文章

最新文章