本文档概述了设计Adobe Campaign数据模型时的主要建议。
Adobe Campaign系统非常灵活,可以在初始实施之后扩展。 但是,尽管可能性是无限的,但做出明智决策并奠定坚实的基础来开始设计数据模型至关重要。
要更好地了解Campaign内置表以及它们之间的关系,请参阅 本节.
读取 本节 以开始使用Campaign模式。
了解如何配置扩展模式以扩展Adobe Campaign数据库的概念数据模型,请参见 此页面.
Adobe Campaign是一款功能强大的跨渠道活动管理系统,可帮助您调整线上和线下策略以创建个性化的客户体验。
虽然大多数电子邮件服务提供商都通过以列表为中心的方法与客户通信,但Adobe Campaign依靠关系数据库以更广泛地了解客户及其属性。
要访问每个表的说明,请转到 Admin > Configuration > Data schemas,从列表中选择资源,然后单击 Documentation 选项卡。
应将哪些数据发送到Adobe Campaign? 确定营销活动所需的数据至关重要。
Adobe Campaign既不是Data Warehouse也不是报表工具。 因此,请勿尝试将所有可能的客户及其关联信息导入Adobe Campaign,或导入仅用于构建报表的数据。
要决定是否需要在Adobe Campaign中使用某个属性,请问自己该属性是否属于以下类别之一:
如果不属于上述任何一种,您很可能不会在Adobe Campaign中需要此属性。
要确保良好的体系结构和系统性能,请遵循以下最佳实践在Adobe Campaign中设置数据。
如果某个字段具有定位或个性化目的,则需要将其存储在表中。 换言之,如果未使用字段发送个性化电子邮件或在查询中用作标准,则字段将不必要地占用磁盘空间。
除了 autouid 和 autopk 在大多数表中默认定义时,应考虑添加一些逻辑或业务密钥(帐号、客户机号等)。 以后可用于导入/协调或数据包。 有关此内容的更多信息,请参阅 标识符.
高效的密钥对于性能至关重要。 使用Snowflake,您可以将数字或基于字符串的数据类型作为表的键插入。
此 autouid 属性仅适用于 企业(FFDA)部署.
Adobe Campaign资源具有三个标识符,可以添加额外的标识符。
下表描述了这些标识符及其用途。
标识符 | 说明 | 最佳实践 |
---|---|---|
Id |
|
|
名称(或内部名称) |
|
|
标签 |
|
|
在上下文中 企业(FFDA)部署,Adobe Campaign主键是为所有内置表自动生成的UUID。 UUID也可用于自定义表。 了解详情
即使ID的数量是无限的,您也应该注意数据库的大小以确保最佳性能。 要防止出现任何问题,请确保调整实例清除设置。 有关更多信息,请参阅此章节。
在Adobe Campaign中创建的每个表都需要主键。
大多数组织正在从外部系统导入记录。 虽然收件人表的物理键是“id”属性,但也可以确定自定义键。
此自定义键是外部系统中馈送Adobe Campaign的实际记录主键。
创建自定义表时,您有两个选项:
请注意大表上的“自身”完整性。 删除具有“自有”完整性的大表的记录可能会停止实例。 表格被锁定,删除操作逐一进行。 因此,最好在有大卷的子表上使用“中性”完整性。
将链接声明为外部连接对性能不利。 零ID记录模拟外部连接功能。 在上下文中 企业(FFDA)部署,如果链接使用 autouid.
虽然可以在工作流中连接任何表,但Adobe建议直接在数据结构定义中定义资源之间的通用链接。
应根据表中的实际数据来定义链接。 错误定义可能会影响通过链接检索的数据,例如意外地重复记录。
使用与表名称一致的名称命名您的链接:链接名称应当有助于了解远程表是什么。
请勿将具有“id”的链接命名为后缀。 例如,将其命名为“transaction”,而不是“transactionId”。
默认情况下,Adobe Campaign将使用外部表的主键创建链接。 为清楚起见,最好在链接定义中明确定义连接。
设计链接时,请确保在声明了1-1关系时目标记录是唯一的。 否则,当仅需要一条连接时,该连接可能会返回多条记录。 当“查询返回的行数多于预期值”时,这会在投放准备期间导致错误。 将链接名称设置为与目标架构相同的名称。
定义与(N)侧架构中基数(1-N)的链接。 例如,应在事务模式中定义关系收件人(1) - (N)事务。
请注意,默认情况下,链接的反向基数为(N)。 可以通过向链接定义添加属性revCardinality='single'来定义链接(1-1)。
如果用户应该看不到反向链接,您可以使用链接定义revLink='来隐藏它无’。 一个很好的用例是定义从收件人到完成的最后一个事务的链接,例如。 您只需要查看从收件人到最后交易的链接,不需要在交易表中显示反向链接。
执行外部联接(1-0…1)的链接应谨慎使用,因为它会影响系统性能。
Adobe Campaign既不是Data Warehouse也不是报表工具。 因此,要确保Adobe Campaign解决方案具有良好的性能,应控制数据库增长。 要实现这一点,遵循以下一些最佳实践可能会有所帮助。
关于保留时间,Campaign 中的内置日志表具有预设的保留期,通常将其数据存储限制为 6 个月或更短时间。
以下是内置表的默认保留时间值。请注意,保留时间配置由 Adobe 技术管理员在实施期间设置,每项实施的值可能因客户要求而异。
自定义表不会通过标准清理过程清除。 虽然这可能在第一天就不需要了,但请不要忘记为自定义表构建清除流程,因为这可能会导致性能挑战。
有几个解决方案可以最大程度地减少Adobe Campaign中的记录需求:
您可以在架构中声明“deleteStatus”属性。 将记录标记为已删除,然后在清理任务中延迟删除会更有效。
作为托管Cloud Service用户,请联系Adobe顾问或技术管理员,以详细了解保留,或者您是否需要为自定义表设置保留。
为了确保随时获得更好的性能,请遵循以下最佳实践。
Adobe Campaign依赖于第三方数据库引擎。 根据提供商的不同,为较大的表优化性能可能需要特定的设计。
以下是使用大型表和复杂连接设计数据模型时应遵循的一些常见最佳实践。
表大小是记录数和每条记录的列数的组合。 两者都会影响查询的性能。
行数也会影响性能。 Adobe Campaign数据库的设计宗旨并非存储当前未用于定位或个性化目的的历史数据 — 这是一个操作数据库。
要防止出现与高行数相关的任何性能问题,请仅在数据库中保留必要的记录。 应将任何其他记录导出到第三方数据仓库,并从Adobe Campaign操作数据库中将其删除。
以下是有关表大小的几个最佳实践: