上篇:数据可靠性
系列前篇:业务判断|数据证据|建设取舍
咖啡豆活动分析稳定后,业务希望接入杯子和新渠道。复制一套会增加维护,强行共用又可能掩盖不同购买周期和费用规则。
复用与演进要在稳定共性和必要差异之间确定边界,并使变化可验证、可迁移、可恢复。本篇沿着“识别差异 → 选择设计 → 评估影响 → 验证迁移 → 调整边界与退役”展开,方案为教学设计,未执行真实系统迁移。
一、识别差异:先判断新需求改变了什么
将新需求与现有模型的对象、事件、粒度、身份、时间和指标逐项比较,再区分新增成员、新属性、新过程和新语义,才能避免因为字段同名就认定可以复用。
例如,杯子可作为商品新成员进入已有销售模型,但不能因此直接沿用咖啡豆的30天复购窗口;新渠道有配送费,也不代表可以无条件沿用旧渠道的费用范围。
| 差异 | 需要核实 |
|---|---|
| 商品、门店新增 | 编码、身份及成员映射 |
| 分析属性新增 | 粒度、覆盖与历史要求 |
| 新业务事件 | 与原事实的关系及唯一身份 |
| 新指标口径 | 对象、时间、成本和使用用途 |
本步产出差异清单和来源缺口;身份或规则未确认时,标记待确认,不把未知差异藏进默认值。
二、选择设计:共享共性,并保留有意义的差别
根据差异判断直接接入、兼容扩展、独立事实或新指标版本,再比较正确性、复用收益和维护成本,才能让设计选择有依据,而不是一律复制或一律合表。
| 条件 | 候选处理 |
|---|---|
| 同事件、同粒度、同含义 | 复用事实结构和一致性维度 |
| 同粒度新增度量 | 核实覆盖和历史后扩展 |
| 不同粒度或不同业务过程 | 独立事实,按兼容分析范围整合 |
| 指标含义变化 | 新指标或新版本,明确适用范围 |
历史规则也要单独决定。商品分类变更若需保留销售发生时视角,就记录属性版本并按业务时间匹配;若明确按当前分类回看历史,则说明重分类会改变历史分组及汇总。Kimball历史属性说明
属性历史与公式版本不能互相替代:把活动贡献改为扣广告费,需要管理指标定义,单靠SCD并不能解决。
本步形成选定方案、备选方案及取舍;仍存在语义冲突时保留独立边界,不用复杂条件强行统一。
三、评估影响:先找使用者,再确定迁移与恢复条件
沿来源、加工、汇总、报表和接口追踪依赖,并结合实际使用和负责人核实结果,再约定兼容期、历史重算、切换及恢复路径,才能避免局部改动无声改变其他人的判断。
例如,渠道归属调整可能改变贡献排名和预算依据,变更说明就需要解释新旧差别、影响期间和使用方动作;新增字段也要检查固定列读取、空值和默认值假设,不默认天然兼容。
恢复准备应覆盖旧代码、输入、数据版本和服务读取方式;无法恢复的覆盖操作需要在实施前识别,不能等出错后才发现旧结果已丢失。
本步产出经核实的依赖清单、迁移责任及恢复边界;关键消费者或恢复条件不清时,先补齐方案,不进入全量切换。
四、验证迁移:解释差异,并确认消费者实际切换
在固定输入和观察截止点下比较新旧结果,将预期语义差异与实现错误分开,完成边界样例、历史范围和代表性负载检查后,再逐步迁移并核实消费者实际读取版本,才能证明新设计既正确又能投入使用。
例如,新版本新增2元费用,贡献相应减少2元,应能追溯到费用记录;如果同时补入迟到退款,就分别计算数据变化和规则变化,避免把所有差异归给新口径。
| 检查 | 通过依据 |
|---|---|
| 正确性 | 集合、关联、金额及历史匹配符合定义 |
| 差异 | 有完整解释,不能只看总额接近 |
| 运行 | 时效、资源和重算范围满足约定 |
| 切换 | 实际使用方读取正确版本并确认用途 |
未通过时停止扩展切换,按预案恢复已验证读取,再修正重验;回退代码不能自动撤销被覆盖的数据或已导出的报表,需要分别处理。
本步结束时,新版本在确认范围内可用,迁移状态可追踪,旧版在兼容期仍有清楚的用途和责任。
五、调整边界:让复用产生价值,也允许安全退出
上线后观察使用、接入成本、例外数量和维护负担,判断共享是否仍划算,再选择继续复用、收缩拆分或退役,并核实替代、依赖和历史保留要求,才能避免公共模型无限膨胀或旧服务长期无人负责。
共享模型持续增加相互冲突的门店例外,可能需要拆分上下文;长期无人使用的汇总,可以在确认替代与迁移后停止服务。
退役先通知并迁移消费者,再核实实际读取已结束,按约定停止服务;停止服务不等于删除需要保留的历史和审计证据。
如果经营动作已经依据新结果发生,技术恢复也不能自动撤销,需要负责人评估后果。保留版本、发布和使用记录,才能解释发生了什么。
本步完成的标志是边界调整有证据、消费者已有去向、保留与停用责任明确;发现遗漏依赖时先处理迁移,不用强制断供代替确认。
快速复习
先识别差异,再选择共享;先查依赖和恢复条件,再实施变化;先解释结果差异,再迁移读取;最后依据价值和成本调整边界。
复习时区分三类变化:成员或属性变化、业务过程变化、指标语义变化。它们可能同时影响结果,但需要不同设计和验证。
阅读入口
《数据仓库工具箱》第3章模型扩展、第4章总线架构、第5章缓慢变化维度提供相关入口;本文兼容、迁移、恢复和退役安排为工程教学扩展。