总线矩阵是什么
总线矩阵是一张二维表:每一行是一个业务过程(对应一张事实表),每一列是一个一致性维度,交叉格标记该过程是否使用这个维度。它把「仓库里应该有哪些事实表、共享哪些维度」这件事在一页纸上说清,是避免烟囱式建设的主要手段。
基本信息
| 行 | 业务过程,对应事实表的主题 |
|---|---|
| 列 | 一致性维度,跨过程共享 |
| 交叉格 | 标记该过程使用哪些维度,可区分强依赖与可选 |
| 维护节奏 | 立项时建立,每次新增过程或维度时同步更新 |
| 主要作用 | 全局规划、口径对齐与影响分析 |
典型使用场景
- 平台立项:先画矩阵,明确先做哪些业务过程、需要哪些公共维度
- 新增业务过程:接入前先确认能复用哪些已有维度,避免另起一套口径
- 维度口径评审:某个维度被多个过程引用,变更前用矩阵识别影响范围
- 新人熟悉仓库:一张矩阵就能看清仓库覆盖了哪些过程、彼此如何关联
- 跨过程分析:判断两个过程能否在同一维度上对齐汇总
矩阵示意
矩阵示意
# 行:业务过程 列:一致性维度 格:是否使用
# 过程 日期 用户 商品 门店 渠道
# 下单 是 是 是 是 是
# 支付 是 是 - 是 是
# 发货 是 - 是 是 -
# 新增过程时的固定动作:
# 1) 先对齐已有维度列,能复用就复用,不新建同义维度
# 2) 确实需要新列时,先评审它是否该升为一致性维度矩阵三种读法
| 读法 | 看什么 | 能得出的结论 |
|---|---|---|
| 按行读 | 某个业务过程用到哪些维度 | 这张事实表需要哪些外键 |
| 按列读 | 某个维度被哪些过程引用 | 变更该维度会影响哪些下游 |
| 整体读 | 哪些格子长期为空 | 是否存在未被覆盖的分析需求或冗余维度 |
矩阵先行是有顺序意义的:先确定业务过程与共享维度,再开始建表。反过来先零散建表、事后再补矩阵,结果通常只是把现状画成一张图,无法起到规划作用。
矩阵必须当作活文档维护。新过程上线、维度口径调整、过程下线都要同步更新,否则半年后就没人再查它,规划功能随之失效。