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

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

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

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


数仓建模理论与规范


四、数据分层架构设计

关于数据分层,目前占大多数的比较传统的经典的三层模型架构设计以及台内外的分层设计方式都是按照从 ODS 贴原,中间系列的公共层进行一些设计,CDM 层在梳理业务完成后,ADS 层会进行数据整合,针对每一部分业务过程进行分域,并进行中间层明细的事实设计。事实包括两部分,即事实的明细和汇总。在 CDM 之上,会做做很多面向产品、面向业务场景等的应用,即进行偏向业务的应用设计应用层的模型。

以淘宝为例,其包括三个核心的 project,即 tbods、tbcdm 和 tbads。图中的数字更多说明的是存储的大小,而不是表的数量,因为表的数量一定是倒三角的,但是在存储方面,30%的用于 ods,更多的则期望于的收藏在中间层,当中间层足够后,一般占到60%,而最终应用层的存储则相对小很多,因为数据都变成了一些高度聚合的指标。

image.png 

五、数据分域架构设计

在分层完成后,再进行相应的数据的分域。不论接触的是新业务,或者已有的业务,在建设数仓时,首先要进行数据的收集、提炼与归纳。

image.png

1、收集

收集的主要目的是对现有的业务数据以及核心的业务诉求进行合并。因为接触的可能是新业务,数仓不存在,其建设完全是从零开始,而对于已有业务,其可能已经建设好了一些数仓数据,当然也有一些已经建设了过程、步骤、阶段,因此要对现有的数仓数据以及现有的业务数据进行梳理。同时,还会调研一些核心的业务诉求,如面向业务时,在台内会向数据分析师、核心的业务运营人员调研其业务诉求,以及他们观测数据的方法以及待解决的问题等,再根据调研数据进行了解组织,合并出来一份数据建设范围和内容的全集。此时即可输出一些数据,如粒度以及维度等,所谓的维度是指观测数据的视角。

2、提炼

在数据收集阶段完成后,再对业务过程进行总结提炼,业务过程泛化的概念指的是企业的业务活动的行为,聚焦在具体的实例中,如说在淘宝下单,首先在某宝贝曝光的基础上,用户直接或搜过搜索点击某个宝贝,进入详情页之后用户进行浏览以及下单、支付,以上每个环节都是业务过程。但所有的过程都是一个不可拆的行为事件,如下单、支付等,其无法再往下进行拆解。

3、归纳

针对这些业务过程,数据模型就会对整个业务数据全集去做业务过程的拆解、梳理,最终归纳出整个数据域。数据域可以对以上过程中拆解数的业务过程进行分类,如对于以上浏览、下单、支付业务过程,数据域可以将这些业务过程分类在交易环节,而对于用户的退货以及评价则分类在逆向域中。此外还有一些其他的情况,如用户作为该业务过程中的实体,除了作为普通用户,还可以选择成为特殊的个体,如淘宝会员,在交易过程中,买家与卖家均可以抽提出一个会员域等。也就是相当于前面的业务过程划分了不同的数据域,最终输出数据域大图,其中包括了业务过程以及业务过程状态,哪些元素构成了相应的业务数据。

4、案例

以下图片展示了一个数据分域的的例子:

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

热门文章

最新文章