数据模型最佳实践 data-model-best-practices

本文档概述了设计Adobe Campaign数据模型时的主要建议。

NOTE
要创建和修改资源以扩展Adobe Campaign预定义的数据模型,请参阅此部分
您可以在此页面中找到内置资源的数据模型表示形式。

概述 overview

Adobe Campaign系统非常灵活,可以在初始实施之后扩展。 但是,尽管可能性是无限的,但做出明智决策并奠定坚实的基础来开始设计数据模型至关重要。

本文档提供了常见用例和最佳实践,以了解如何正确构建Adobe Campaign工具。

数据模型架构 data-model-architecture

Adobe Campaign Standard是一款功能强大的跨渠道活动管理系统,可帮助您调整线上和线下策略以创建个性化的客户体验。

以客户为中心的做法 customer-centric-approach

虽然大多数电子邮件服务提供商都通过以列表为中心的方法与客户通信,但Adobe Campaign依靠关系数据库以更广泛地了解客户及其属性。

此以客户为中心的方法如下图所示。 灰色的​ Profile ​资源表示正在生成所有内容的主客户表:

部分中提供了Adobe Campaign默认数据模型。

Adobe Campaign的数据 data-for-campaign

应将哪些数据发送到Adobe Campaign? 确定营销活动所需的数据至关重要。

NOTE
Adobe Campaign不是数据仓库。 因此,请勿尝试将所有可能的客户及其关联信息导入Adobe Campaign。

要决定是否需要在Adobe Campaign中使用某个属性,请确定它是否属于以下类别之一:

  • 用于​ 分段 ​的属性
  • 用于​ 数据管理进程 ​的属性(例如,聚合计算)
  • 用于​ 个性化 ​的属性
  • 用于​ 报告 ​的属性(可根据自定义配置文件数据创建报告)

如果不属于上述任何一种,您很可能不会在Adobe Campaign中需要此属性。

数据类型 data-types

要确保良好的体系结构和系统性能,请遵循以下最佳实践在Adobe Campaign中设置数据:

  • 字符串字段的长度应始终使用列进行定义。 默认情况下,Adobe Campaign中的最大长度为255个字符,但是Adobe建议,如果您已经知道大小不会超过更短的长度,则保持字段更短。
  • 如果您确定源系统中的字段大小被高估而无法达到,则可以接受Adobe Campaign中的字段比源系统中的字段更短。 这可能意味着Adobe Campaign中的字符串长度更短,整数更小。

配置数据结构 configuring-data-structure

本节概述了配置资源的数据结构时的最佳实践。

标识符 identifiers

Adobe Campaign资源具有三个标识符,可以添加额外的标识符。

下表描述了这些标识符及其用途。

NOTE
显示名称是通过Adobe Campaign用户界面向用户显示的字段的名称。 技术名称是资源定义中的实际字段名称(以及表列名)。
显示名称
技术名称
说明
最佳实践
PKey
  • PKey是Adobe Campaign表的物理主键。
  • 此标识符通常特定于特定的Adobe Campaign实例。
  • 在Adobe Campaign Standard中,该值对最终用户不可见(在URL中除外)。
  • 通过API系统,可以检索PKey值(这是生成/散列值,而不是物理密钥)。
  • 除通过API检索、更新或删除记录外,建议不要将其用于其他目的。
ID
name或internalName
  • 此信息是表中记录的唯一标识符。 此值可手动更新。
  • 当部署在Adobe Campaign的其他实例中时,此标识符保持其值。 其名称必须与生成的值不同,才能通过包导出。
  • 这不是表的实际主键。
  • 请勿使用空格“ ”、半列“:”或连字符“ — ”等特殊字符。
  • 所有这些字符都将替换为下划线“_”(允许的字符)。 例如,“abc-def”和“abc:def”将存储为“abc_def”并相互覆盖。
标签
标签
  • 标签是Adobe Campaign中对象或记录的业务标识符。
  • 此对象允许使用空格和特殊字符。
  • 它不能保证记录的唯一性。
  • 建议确定对象标签的结构。
  • 这是用于为Adobe Campaign用户标识记录或对象的最用户友好的解决方案。
ACS ID
acsId
  • 可以生成附加标识符: ACS ID
  • 由于PKey无法在Adobe Campaign用户界面中使用,因此这是一种解决方案,可用于获取在插入个人资料记录期间生成的唯一值。
  • 只有在将记录插入Adobe Campaign之前在资源中启用了该选项,才能自动生成该值。
  • 此UUID可用作协调密钥。
  • 自动生成的ACS ID不能用作工作流或包定义中的引用。
  • 此值特定于Adobe Campaign实例。

标识键 keys

在Adobe Campaign中创建的每个资源都必须至少具有一个唯一的标识键

创建自定义资源时,您有两个选项:

  • 自动生成的键和内部自定义键的组合。 如果系统键是复合键或不是整数,则此选项很有趣。 整数将在大表中提供更高的性能,并可与其他表连接。
  • 使用主键作为外部系统主键。 此解决方案通常是首选的,因为它简化了导入和导出数据的方法,在不同的系统之间使用了一致的密钥。

标识键不应用作工作流中的引用。

索引 indexes

Adobe Campaign自动将索引添加到资源中定义的所有主键和内部键。

  • Adobe建议定义其他索引,因为它可能会提高性能。
  • 但是,不要添加太多索引,因为它们会占用数据库的空间。 大量索引也可能对性能产生负面影响。
  • 仔细选择需要定义的索引。

此部分中介绍了如何定义与其他资源的链接。

  • 虽然可以在工作流中连接任何表,但Adobe建议直接在数据结构定义中定义资源之间的通用链接。
  • 应根据表中的实际数据来定义链接。 错误定义可能会影响通过链接检索的数据,例如意外地重复记录。
  • 使用与资源名称一致的名称命名您的链接:链接名称应该有助于了解远程表是什么。
  • 请勿将具有“id”的链接命名为后缀。 例如,将其命名为“transaction”,而不是“transactionId”。

性能 performance

为了确保随时获得更好的性能,请遵循以下最佳实践。

一般建议 general-recommendations

  • 避免在查询中使用“CONTAINS”等操作。 如果您知道应该过滤哪些内容,并且希望对其进行过滤,请使用“EQUAL TO”或其他特定的过滤器运算符应用相同的条件。
  • 在工作流中构建数据时,避免加入未编制索引的字段。
  • 请尝试确保导入和导出等流程在工作时间之外执行。
  • 确保所有日常活动都有一个时间表,并遵守时间表。
  • 如果有一个或几个每日进程失败,并且如果必须在同一天运行它,请确保在启动手动进程时没有冲突进程在运行,因为这会影响系统性能。
  • 确保在导入流程期间或执行任何手动流程时,不会运行任何每日营销活动。
  • 使用一个或多个引用表,而不是在每行中复制字段。 使用键/值对时,最好选择数字键。
  • 短字符串仍可接受。 如果引用表已在外部系统中,则重用它有助于将数据与Adobe Campaign集成。

一对多关系 one-to-many-relationships

  • 数据设计会影响可用性和功能。 如果您设计的数据模型具有大量一对多关系,则会使用户更难以在应用程序中构建有意义的逻辑。 对于非技术性营销人员,可能很难正确构建和理解一对多过滤器逻辑。
  • 将所有重要字段放在一个表中很好,因为这样用户更容易构建查询。 有时,如果可以避免联接,则跨表复制某些字段对性能也有好处。
  • 某些内置功能无法引用一对多关系,例如优惠权重公式和投放。

大型表 large-tables

以下是使用大型表和复杂连接设计数据模型时应遵循的一些最佳实践。

  • 减少列数,特别是通过标识未使用的列。
  • 通过避免复杂连接(如多个条件和/或多个列上的连接)优化数据模型关系。
  • 对于联接键,请始终使用数字数据,而不是字符串。
  • 尽可能减少日志保留的深度。 如果需要更深入的历史记录,可以聚合计算和/或处理自定义日志表以存储更大的历史记录。
recommendation-more-help
3ef63344-7f3d-48f9-85ed-02bf569c4fff