数仓数据建模工作流

作者:鹿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 类型 → 键与完整性 → 性能与演进」六阶段推进,每阶段有退出条件,最后按内置清单审查交付。

如何安装此技能?

访问技能市场,点击「安装」按钮,按提示将技能包放入 AI 编程助手的 skills 目录即可。

浏览技能市场

支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手