数
数仓数据建模工作流
作者:鹿Sir开发工具v1
深度数据建模工作流:业务问题与粒度声明、一致性维度、事实与度量可加性、缓慢变化维(SCD)类型选择、代理键与引用完整性、分区与模型演进。当用户设计数仓/湖仓/BI 分析模型,或审查星型/雪花型架构时触发。触发词:数据建模、数仓、维度建模、星型模型、事实表、缓慢变化维。
下载量
404
点赞
97
价格
免费
技能文档
--- name: data-model title: 数仓数据建模工作流 category: 开发工具 description: "深度数据建模工作流:业务问题与粒度声明、一致性维度、事实与度量可加性、缓慢变化维(SCD)类型选择、代理键与引用完整性、分区与模型演进。当用户设计数仓/湖仓/BI 分析模型,或审查星型/雪花型架构时触发。触发词:数据建模、数仓、维度建模、星型模型、事实表、缓慢变化维。" --- # 数仓数据建模工作流 分析模型成功的条件:**粒度明确**、**键稳定**、**缓慢变化维经过权衡**——而不是无脑「默认星型模型」。 ## 技能工作流 按以下六个阶段推进,每个阶段有明确的目标与退出条件;开工前先确认工具链(dbt、维度化数仓、BigQuery 等)。 ### 步骤1:业务问题与粒度 **目标**:明确**粒度**——事实表的原子行是什么。例如「每个订单每天一行明细」,而不是「大概按订单」。 **做法**: - 列出模型必须回答的**业务问题**,从所需的**最小**细节粒度**推导**粒度 **退出条件**:每张事实表用一句话说清粒度。 ### 步骤2:一致性维度 **目标**:客户/产品等定义在所有事实表间**保持一致**——共享维度表,或对齐 SCD 策略。 ### 步骤3:事实与度量 **目标**:记录每个度量的**可加性**——可加、半可加(如余额)、不可加(如去重计数)。 **做法**: - 权衡退化维度与垃圾维度——没有理由就不要让事实表无限变宽 ### 步骤4:维度与 SCD 类型 **目标**:为关键维度选择变化策略——SCD1 覆盖更新、SCD2 用 `valid_from`/`valid_to` 保留全历史、SCD3 有限历史——与**合规**及**报表**需求匹配。 ### 步骤5:键与完整性 **目标**:事实表使用**代理键**;自然键保留为属性;在数仓层制定**引用完整性**策略。 ### 步骤6:性能与演进 **目标**:为大事实表设计**分区**与**聚簇**键;制定**迟到数据**处理策略;模式演进时对维度做**版本管理**。 ## 最终审查清单 - [ ] 每张事实表粒度明确 - [ ] 一致性维度已规划 - [ ] 度量可加性已记录 - [ ] 关键维度有 SCD 策略 - [ ] 键设计与迟到数据已处理 ## 有效指导的要点 - BI 中的**扇形陷阱**与**深壑陷阱**——跨事实表 join 不当时要指出。 - 时点余额用**快照**事实表,交易明细用**事务**事实表。 ## 处理偏差 - 纯事件流管道:仍要为分析建**整理过的维度**,而不是只有原始 JSON。
使用说明
# 数仓数据建模工作流 六阶段走完粒度、维度、事实、SCD、键与性能设计,产出可审查的维度模型。 ## 使用 ```text 我们要建一个订单分析数仓,按建模工作流帮我设计 ``` ```text 帮我审查这个星型模型的问题 ``` ## 工作原理 按「业务问题与粒度 → 一致性维度 → 事实与度量 → SCD 类型 → 键与完整性 → 性能与演进」六阶段推进,每阶段有退出条件,最后按内置清单审查交付。
支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手