
在 Adobe Experience Platform(AEP)里,Schema一旦被“使用过”(创建Datasets),就不能删除,这其实是一个“设计上的限制”,不是Bug。核心原因可以从几个层面理解:
1、数据一致性(最关键)
Schema本质上是数据结构的“合同(Contract)”,一旦你用它创建了 Dataset,就意味着后续所有数据都必须按这个结构写入,下游系统(查询、分群、激活)都依赖这个结构
如果允许删除,会出现:
所以 AEP 选择:一旦绑定Dataset → Schema就锁结构
2、数据依赖关系
在 AEP 里,一个字段可能被多个地方使用:
如果你删除字段:依赖它的Segment直接失效,Journey逻辑可能报错,已经激活的数据无法回溯
所以平台必须保证:字段只能“存在或弃用”,不能直接消失
3、实时 Profile & 合并策略限制
AEP 的核心是Real-time Customer Profile,多个Dataset会merge成一个用户画像,字段是merge的“键”之一
如果删除字段:
4、为什么可以 Deprecate(弃用)?
这是一个“折中方案”: 不影响历史数据,不破坏已有依赖, 告诉开发者“这个字段不要再用了”,但不会真正删除
本质上:Deprecate = 逻辑删除(soft delete)
所以,Schema设计要前置,不要边用边改,尽量先设计完整再创建 Dataset。