文章
主题域模型与数仓建模中根据业务过程建模划分的业务域差异
在企业数据架构中,主题域模型(Subject Area Model)与数仓业务过程建模中的业务域(Business Domain)虽然都涉及数据分类,但两者的设计目标、划分依据和应用场景存在本质差异。以下是详细对比分析:
1. 核心区别对比表
维度 | 主题域模型(DCMM) | 数仓业务过程建模的业务域(Kimball维度建模) |
---|---|---|
设计目标 | 构建企业级数据语义统一视图,支撑数据治理 | 支持分析场景,优化查询性能 |
划分依据 | 基于业务概念的本质抽象(静态实体) | 基于业务过程的行为流(动态事件) |
数据粒度 | 面向实体对象(如"客户""产品") | 面向业务事件(如"订单创建""支付完成") |
时间视角 | 当前状态(快照型数据) | 历史变化(事务型数据) |
典型输出 | 企业级主题域清单+概念关系图 | 事实表与维度矩阵 |
2. 典型场景示例
(1) 主题域模型视角(DCMM)
- 企业工商信息:归入
企业主体
主题域 - 专利/软著:归入
知识产权
主题域 - 关联关系:通过信用代码静态关联
(2) 数仓业务域视角(维度建模)
- 专利申请流程:归入
研发管理
业务域- 事实表:
fact_patent_apply
(申请日期、审查阶段) - 维度表:
dim_enterprise
(关联企业)、dim_ip_type
(专利分类)
- 事实表:
- 企业合作签约:归入
销售管理
业务域- 事实表:
fact_contract_sign
(签约金额、生效日期)
- 事实表:
3. 关键差异解析
(1) 抽象层次不同
- 主题域模型:
关注"数据是什么",例如将"联系人电话"归类为企业联系
主题域,强调其作为沟通渠道的本质属性。 - 业务过程建模:
关注"数据怎么用",例如在"客户服务分析"业务域中,电话号码可能作为dim_service_channel
的维度属性,用于统计热线呼叫量。
(2) 关系定义方式不同
- 主题域关系:
静态的"拥有/属于"关系(如"企业拥有专利"),通过主外键约束实现。 - 业务过程关系:
动态的"参与/触发"关系(如"客户触发订单事件"),通过事实表的外键关联维度表体现。
(3) 变更频率不同
- 主题域:
相对稳定(企业核心实体很少变化),如企业主体
主题域结构可能多年不变。 - 业务域:
随分析需求调整,例如新增"碳中和监测"业务域需快速响应。
4. 实际项目中的协作关系
(1) 自上而下设计流程

(2) 协同应用案例
- 场景:构建企业知识产权分析平台
- 主题域模型:确保
知识产权
与企业主体
的定义与工商系统一致 - 业务域建模:在
研发分析
业务域中设计fact_patent_apply
事实表,关联dim_enterprise
维度表
- 主题域模型:确保
5. 为什么需要两种划分?
- 主题域模型的价值:
- 解决系统间数据语义冲突(如CRM和ERP对"客户"的定义差异)
- 满足DCMM等标准对数据资产目录的管理要求
- 业务域建模的价值:
- 支持高频分析查询(如按行业统计专利数量)
- 符合维度建模的"总线架构"最佳实践
总结:
主题域模型是企业数据的"地图",解决"数据在哪、是什么"的问题;业务域建模是分析的"路线图",解决"怎么用数据回答业务问题"。两者互补而非互斥,在DCMM高成熟度(四级以上)要求中需实现双向追溯。