这一节我们来系统讲解XDM数据模型(Experience Data Model)与Schema(模式),这是理解Adobe CDP数据架构的核心基础。
无论使用哪一种方式导入数据,都绕不开一个关键步骤:将源数据字段映射(Mapping)到XDM/Schema字段
在Adobe的官方语境中,这一步更准确的叫法是数据摄取(Ingestion):即将外部系统中的原始数据,按照XDM的结构规范,写入到Schema中。
什么是 XDM(Experience Data Model)
XDM的全称是 Experience Data Model(体验数据模型)。
Adobe官方对XDM的定义是:XDM是一个公开存档的规范,用于将所有体验数据整合到一种通用的表示形式中。它对摄取数据的内容及其结构方式提供了统一约束。
换一种更好理解的说法:XDM是Adobe CDP内部的数据框架和数据语言,所有进入CDP的数据,最终都必须“讲XDM这种语言”。
XDM中的两大数据类型
从逻辑层面看,XDM 中的数据默认分为两大类数据类型::
- 记录数据(Record data):提供有关主题属性(Attributes)的信息。主题可以是组织或个人。对应的就是用户属性数据。
- 时间序列数据(Time Series data):提供记录主体直接或间接采取操作时系统的快照。对应的就是事件数据。
这些数据将用于后续Segment的创建,其中记录数据在Segment里是Attribute,事件序列数据在Segments是Events
什么是Schema(模式)
Schema是模式的意思,它是创建和管理数据结构的地方,可以理解Schema是一张数据表。
Schema的创建方式
Schema可以通过两种方式创建和管理:
- Adobe UI(可视化界面)
- RESTful API(程序化方式)
Class(类):Schema 的起点
要将源数据整合到XDM,是需要创建Schema,这个也叫做XDM架构,它由类和零个或多个架构字段组构成,它的关系是:
- 类+架构字段(组)=XDM架构
- Class+Field Group =XDM架构
这里的类,可以理解为数据分类,便于对数据做管理。XDM默认的数据类型分为两种:记录数据和事件序列数据,但类却可以有多种,所有的类都属于这两个数据类型。
一般来说记录数据首选类是XDM Individual Profile,事件序列数据的首选类是XDM Experience Event,这两个是标准核心类,它的关系可以用下图表示:
除了上述两个最常用的类,还有其他的一些内置类,你也可以自己创类。类是创建Schema的起点,在首次创建的时候就要分配好类,可以没有字段组,但不能够没有类。
Field & Field Group(字段与字段组)
架构字段就是XDM具体类里面的字段,它的作用是实现外部数据映射Mapping到XDM里面,就是将外部数据提取放到这个字段里面,对架构字段是有数据类型的要求的,数据类型可以作为数据验证,还可以用命名空间防止字段冲突。如包含多个字段就叫架构字段组,字段组可以被重复使用,如不同模式Schema可以使用同一个字段组,字段组还可以嵌套使用。
XDM框架,就是创建Schema,其实就是一张表。
Identities:Schema中不可忽略的关键角色
需要注意:在上述关系里面,还有一个默认字段,但没体现在上述关系里面,就是ID,对应的是Identities(XDM里那么多Schema,需要关联起来就需要Identities服务,可以说XDM里有三类数据:记录数据、事件序列数据和Identities数据),创建Schema,默认一定会有ID的,你需要要导入的数据里的标识设置成ID,实现数据的关联。
XDM和Schema的关系
一个非常经典、也最容易理解的比喻是:如果将XDM理解为数据库,那么Schema就是一张表。
-
XDM:定义规则和能力
-
Schema:具体的数据结构实现
-
XDM 包含多个 Schema
XDM 的整体数据逻辑
综合来看,XDM 的数据逻辑可以总结为:
XDM的数据类型分为两种类型,通过数据类型和类实现数据的分类管理,数据类型只有两种,但类可以有多种。
通过类和字段组构成的模式实现数据结构的管理,字段组包含字段,可以用类层级下进一步分类,如XDM Individual Profile下面可以有不同的字段组数据描述个体的信息,使得整个数据结构更清晰:
同时字段组可以重复的利用,还可以嵌套使用。
XDM建得好,后续定位受众就简单很多。




