数据仓库模型评估的标准

面试中,肯定有数仓同学被问到:数据模型如何去评估、如何优化,那今天就聊一聊这个话题。

基本概念

模型:表达的是某一个主题、某一个业务过程,赋值业务价值,最终落地还是一个建表的过程

数仓模型:表赋予业务含义,简单来说还是表,可以理解成圆和球的关系

算法模型:输入数据集和样本集、训练超参,输出一系列参数,本质上就是数学公式

数据分析模型:通过看待业务不同角度去分析业务数据,本质上封装的是某个角度分析的策略

表:一个数字字典的结构体,比如:字段A、B、C没有实际业务含义,但是当表中字段是sku_id,sku_name以及相关维度信息,具备业务含义后就可以理解成一个sku的相关模型

ER模型:对三范式要求较高,强调的是实体关系,对数据冗余不太包容。需要基于整个业务梳理出所有的实体之间关系,这种方式好处就是没有数据冗余,但是成本较高,周期长

维度模型:对数据冗余相对宽容,基于事实和维度构建模型。基于需要分析的业务过程或者业务事实去划分事实和维度,根据看待的不同角度去划分维度

模型评估标准

高内聚,低耦合

在dwd层划划分主题域的过程中,可能一些业务过程比较复杂,层层抽离出实体对象到最细粒度的一个动作,比如:下单、支付等等,这样做主要是建设一个细粒度模型,降低业务过程之间的耦合度,模型更加灵活 ,减少不同模型之间对相同业务的依赖,尽量把这种细粒度的业务流程汇聚到一个模型中,减少依赖。

核心模型和扩展模型分离

一些重要的数据作为核心模型产出(典型的就是一些大宽表)

一些不是很边缘的业务数据在不影响核心模型的情况下其实可以合并到核心模型,保证核心模型不会太重,不影响产出时效

公共逻辑下沉

出现相同逻辑的时候可以在dwd或者做个中间层收口,万一口径发生变化,只需要在最底层修改逻辑,上层只需要回溯验证数据即可,而不是说到处修改用到的地方

成本和性能平衡

成本:宽表不能过大,存储成本

性能:产出时效性

提倡建设公共层,减少逻辑的重复加工(将数据武装到每个人都可以兼容装备)

数据可回滚

确保一些经常变化的维度可以回滚,比如:当下游每天产出指标的时候,突然今天的指标值和昨天的差异性很大,这个时候我们就要去回滚昨天的数据,看今天数据是否异常还是逻辑错误等等

规范

主要是一些数仓的研发规范,如表命名规则:dwd_部门_一级主题域_最小业务流程_业务流程缩写_全量/增量缩写(数仓笔记语雀中详细记载)

枚举值的一致性

优化:主要分为两个方面合并和拆

合并

为什么合并:可能存在相似的业务流程,有一些小模型,彼此之间还存在对相同业务过程的依赖

合并原则:在不破坏核心模型的简洁性和产出时效方面,可以进行合并,减少对这些不是很边缘业务的关联

拆分

影响到核心模型的产出时效、维护难,可读性差,比如:用户购物这个业务流程,显然不可能把订单和商品的一些信息放在一起的

相关推荐
RestCloud6 小时前
Informatica迁移国产ETL完整实施指南:ETLCloud自动化平滑替换方案
数据仓库·etl·etlcloud·数据传输·数据集成工具·informatica·国产化替代
Database_Cool_2 天前
云数据仓库开通指南:阿里云 AnalyticDB MySQL 10 分钟从 0 到分析实战教程
数据仓库·mysql·阿里云
罗政3 天前
基于AI工作流的多渠道销售数据仓库清洗统计实践
数据仓库
华盈生物4 天前
从空间表达到蛋白观察:单细胞组织原位空间蛋白组如何补充空间转录组?
模型·pcf·空间单细胞蛋白组·超多重蛋白成像技术·组织原位空间蛋白组·单细胞组织原位空间蛋白组
迈巴赫车主5 天前
湖仓一体(Data Lakehouse)简介
大数据·数据仓库·数据湖·湖仓一体
RestCloud7 天前
ETL是什么?全域数据集成平台核心能力解析
数据仓库·etl·数据清洗·数据处理·etlcloud·数据集成工具
Gent_倪7 天前
万字详解:数据库、数据仓库、数据湖、湖仓一体
数据库·数据仓库·spark
新AI佬8 天前
端侧 AI 模型选型指南 2026:从 230M 到 20B 的路由策略
参数·模型·端侧
国际学术会议-杨老师8 天前
2026年网络安全、智能体与模型国际会议(CSIAI 2026)
模型·智能体·网络安全、