首页/数据/数仓建模速查/总线矩阵 Bus Matrix
建模基础69 条

总线矩阵 Bus Matrix

总线矩阵行为业务过程、列为一致性维度,交叉标记使用关系;它是数仓全局规划看板,保证不同事实表可以按同一套维度下钻。

数仓建模速查数据更新于 2026-10-13

总线矩阵是什么

总线矩阵是一张二维表:每一行是一个业务过程(对应一张事实表),每一列是一个一致性维度,交叉格标记该过程是否使用这个维度。它把「仓库里应该有哪些事实表、共享哪些维度」这件事在一页纸上说清,是避免烟囱式建设的主要手段。

基本信息

行业务过程,对应事实表的主题
列一致性维度,跨过程共享
交叉格标记该过程使用哪些维度,可区分强依赖与可选
维护节奏立项时建立,每次新增过程或维度时同步更新
主要作用全局规划、口径对齐与影响分析

典型使用场景

  • 平台立项:先画矩阵,明确先做哪些业务过程、需要哪些公共维度
  • 新增业务过程:接入前先确认能复用哪些已有维度,避免另起一套口径
  • 维度口径评审:某个维度被多个过程引用,变更前用矩阵识别影响范围
  • 新人熟悉仓库:一张矩阵就能看清仓库覆盖了哪些过程、彼此如何关联
  • 跨过程分析:判断两个过程能否在同一维度上对齐汇总

矩阵示意

矩阵示意
# 行:业务过程  列:一致性维度  格:是否使用
# 过程        日期  用户  商品  门店  渠道
# 下单         是    是    是    是    是
# 支付         是    是    -     是    是
# 发货         是    -     是    是    -

# 新增过程时的固定动作:
# 1) 先对齐已有维度列,能复用就复用,不新建同义维度
# 2) 确实需要新列时,先评审它是否该升为一致性维度

矩阵三种读法

读法看什么能得出的结论
按行读某个业务过程用到哪些维度这张事实表需要哪些外键
按列读某个维度被哪些过程引用变更该维度会影响哪些下游
整体读哪些格子长期为空是否存在未被覆盖的分析需求或冗余维度
矩阵先行是有顺序意义的:先确定业务过程与共享维度,再开始建表。反过来先零散建表、事后再补矩阵,结果通常只是把现状画成一张图,无法起到规划作用。
矩阵必须当作活文档维护。新过程上线、维度口径调整、过程下线都要同步更新,否则半年后就没人再查它,规划功能随之失效。

易错点

  • 不维护矩阵直接散建表,同一个用户维度在不同过程口径不同,跨过程汇总时数据打架
  • 矩阵只在立项时画一次,后续变更不同步,使用者按过期矩阵评估影响面而漏改下游
  • 所有交叉格都标为使用,矩阵失去区分度,无法判断哪些维度是真正的共享维度
  • 把矩阵做成一次性的汇报材料,没有落到可查询的文档或平台,实际建设时无人参照

数据来源与参考

  • Kimball 方法论:企业数据仓库总线架构
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌