首页/数据/数仓建模速查/多源属性优先级与冲突消解
维度与事实设计149 条

多源属性优先级与冲突消解

同一属性多来源冲突时按优先级链取值(权威系统 > 业务系统 > 外部数据),并记录取值来源;时间戳新并不一定更可信。

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

多源冲突怎么取值

同一属性来自多个源系统时经常冲突:CRM 里的手机号与订单系统的不一致。做法是建立优先级链(权威系统高于业务系统,业务系统高于外部数据),同级再按更新时间取新值,并同时记录取值来源。要特别注意时间戳新并不代表更可信,低质量源的高频写入会覆盖权威数据。

基本信息

优先级链权威系统、业务系统、外部数据的固定顺序
同级处理按更新时间或版本号取最新
留痕要求写入取值来源列,便于追溯
例外情况人工锁定值优先级最高,需记录锁定人与原因
落地方式优先级配置化,变更走评审

典型使用场景

  • 客户主数据:多系统融合时决定手机号与地址的取值来源
  • 商品信息:商品中心与渠道提供的名称、规格冲突
  • 供应商档案:工商登记数据与内部录入不一致
  • 人工修正:锁定值优先于所有自动来源
  • 冲突监控:统计各来源被采纳的比例,评估数据源质量

按优先级取值

按优先级取值
-- 优先级取值:按来源等级从高到低依次兜底
SELECT customer_id,
       coalesce(
         max(CASE WHEN src_rank = 1 THEN name END),
         max(CASE WHEN src_rank = 2 THEN name END),
         max(CASE WHEN src_rank = 3 THEN name END)
       ) AS name
FROM stg_customer_attr
GROUP BY customer_id;

来源等级与信任度

来源等级典型来源信任度
1 权威主数据系统、工商登记最高,冲突时优先采纳
2 业务订单、CRM、客服系统较高,权威缺失时采用
3 外部第三方数据、公开渠道最低,仅作补充
4 人工人工锁定与修正覆盖所有自动来源
优先级链是业务决策而不只是技术配置:要写进维度规范并随数据源变化评审,否则新增数据源时无人知道该插在哪一级。
不留取值来源就无法追溯:出现争议时只能逐表人工比对,留下来源列后一处即可定位,代价只是多一列存储。

易错点

  • 按更新时间简单取最新:低质量源的高频写入覆盖权威源
  • 不留来源标记:冲突无法追溯,排查只能靠人工比对
  • 优先级硬编码在 SQL 里:新增数据源要改代码,容易漏改
  • 不同属性共用一条优先级链:手机号与地址的权威源可能不同
  • 人工锁定值被自动任务覆盖:人工修正失效,问题反复出现

数据来源与参考

  • 数仓建模实践:多源属性融合
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌