利用 Salesforce Data C

利用 Salesforce Data Cloud 的零拷贝数据共享实现 Amazon Redshift 的统一分析 – 第2部分

作者:Rajkumar Irudayaraj, Sriram Sethuraman, Avijit Goswami, Michael Chess, Ifetayo Stewart, Ravi Bhattiprolu, Jason Berkowitz, 和 MikePatterson,发表于2024年9月12日,源自 ,,以及 。

关键要点

  • 随着数字化转型和数据驱动决策的快速发展,组织需要迅速从数据中获取洞察,以实现卓越的客户体验和竞争优势。
  • Salesforce 与 Amazon 的合作为客户提供了统一数据价值的机会,并通过零拷贝数据共享加速洞察的获取。
  • 本文探讨了 Salesfore Data Cloud 和客户 AWS 账户之间的跨区域数据共享架构与实施细节。

在数字化转型和数据驱动决策的时代,企业必须迅速从其数据中获取洞察,从而提供卓越的客户体验并获取竞争优势。Salesforce 与 Amazon的合作,帮助客户通过在 和 之间的双向 数据共享,解锁统一数据的价值并加速洞察的时间。

在本系列的 中,我们讨论了如何在同一 AWS 区域内配置 Salesforce Data Cloud 和客户 AWS账户之间的数据共享。在本文中,我们将讨论 Salesforce Data Cloud 和客户 AWS 账户之间的跨区域数据共享的架构和实施细节。

解决方案概述

Salesforce Data Cloud 提供了一种直观的方式来与客户的 AWS 账户共享数据。在 控制台上,您可以接受数据共享、创建资源链接、将 Salesforce Data Cloud 对象挂载为数据目录视图,并授予权限以查询 中的实时统一数据。Salesforce Data Cloud 和客户 AWS 账户之间的跨区域数据共享支持两种部署场景: 和 Redshift预配集群 (RA3)。

与 Redshift Serverless 的跨区域数据共享

下图描绘了在 US-WEST-2 的 Data Cloud 实例与在 US-EAST-1 的 Redshift Serverless之间设置跨区域数据共享的步骤。

删除)

跨区域数据共享的设置包括以下步骤:

  1. Data Cloud 管理员识别要共享的对象,并在 US-WEST-2 中创建数据共享。
  2. Data Cloud 管理员将数据共享与 Amazon Redshift 数据共享目标链接。这将创建一个 数据目录视图,并使用 AWS 资源访问管理器 (RAM) 在 US-WEST-2 的客户 AWS 账户中创建跨账户的 Lake Formation 资源共享。
  3. 客户的 Lake Formation 管理员在 US-WEST-2 的 Lake Formation 控制台中接受数据共享邀请,并向 (IAM)主体授予默认(选择和描述)权限。
  4. Lake Formation 管理员切换到 US-EAST-1 并创建一个指向 US-WEST-2 区域共享数据库的资源链接。
  5. IAM 主体可以登录到 US-EAST-1 中的 Amazon Redshift 查询编辑器,并创建一个引用数据共享资源链接的外部架构。可以通过这些外部表查询数据。

与红鹿强制集群的跨区域数据共享

Salesforce Data Cloud 和 Redshift 预配集群之间的跨区域数据共享除了 Serverless 设置外还需要额外步骤。根据

的相关考量,Redshift 外部表的预配集群和 桶必须位于相同区域。下图描绘了与 Redshift 预配集群共享数据的设计模式与步骤。

删除)

步骤 1-5 在 Redshift Serverless 和预配集群的跨区域共享中相同。必须在 Redshift Serverless和预配集群上启用加密。以下是附加步骤:

  1. 使用 CREATE TABLE AS SELECT 从数据共享中创建一个表,在 Redshift Serverless 中创建数据共享,并授予 Redshift 预配集群访问权限。
  2. 在 Redshift 预配集群中创建数据库并授予目标 IAM 主体访问权限。数据共享就绪以供查询。

基于此解决方案,新表需要定期刷新以获取共享 Data Cloud 对象的最新数据。

使用 Amazon Redshift 进行数据共享时的注意事项

有关数据共享的全面考虑事项和限制,请参见 。一些关于零拷贝数据共享的重要事项包括:

  • 数据共享支持所有 RA3 实例类型(ra3.16xlarge, ra3.4xlarge 和 ra3.xlplus)以及 Redshift Serverless,但不支持 DC 和 DS 节点类型的集群。
  • 对于跨账户和跨区域数据共享,生产者和消费者集群及 Serverless 命名空间必须进行加密。然而,它们不需要共享相同的加密密钥。
  • 数据目录多引擎视图通常在 Lake Formation、数据目录、Amazon Redshift 和 可用的商业区域中提供。
  • 跨区域共享在所有 支持的区域内可用。

前提条件

在进行设置之前, 在同区域和跨区域数据共享中保持相同。

配置跨区域数据共享

创建数据共享、创建数据共享目标、将数据共享目标链接到数据共享并在 Lake Formation中接受数据共享的步骤在同区域和跨区域数据共享中保持相同。请参阅本系列的 以完成设置。

与 Redshift Serverless 的跨区域数据共享

如果您正在使用 Redshift Serverless,请完成以下步骤:

  1. 在 Lake Formation 控制台中,选择导航窗格中的 Databases
  2. 选择 Create database
  3. Database details 下,选择 Resource link
  4. Resource link name 中,输入资源链接的名称。
  5. Shared database’s region 中,选择数据目录视图源区域。
  6. Shared databaseShared database’s owner ID 字段从数据库元数据中手动填充。
  7. 选择 Create 完成设置。

删除)

资源链接将出现在 Lake Formation 控制台的 Databases 页面,如以下截图所示。

删除)

  1. 启动 Redshift 查询编辑器 v2 以访问 Redshift Serverless 工作区。跨区域数据共享表会自动挂载,并显示在 awsdatacatalog 下。要查询数据,请运行以下命令并创建外部架构。将资源链接指定为数据目录数据库、Redshift Serverless 区域和 AWS 账户 ID。

sql CREATE external SCHEMA cross_region_data_share --<<SCHEMA_NAME>> FROMDATA CATALOG DATABASE 'cross-region-data-share' --<<RESOURCE_LINK_NAME>> REGION 'us-east-1' --<TARGET_REGION> IAM_ROLE 'SESSION' CATALOG_ID '<<aws_account_id>>'; --<<REDSHIFT AWS ACCOUNT ID>>

  1. 刷新架构以查看在 dev 数据库中创建的外部架构。

删除)

  1. 运行 show tables 命令以检查外部数据库下的共享对象:

sql SHOW TABLES FROM SCHEMA dev.cross_region_data_share --<<schema name>>

删除)

  1. 按照以下截图查询数据共享:

sql SELECT * FROMdev.cross_region_data_share.churn_modellingcsv_tableaus3_dlm; --<<changeschema name & table name>>

删除)

与 Redshift 预配集群的跨区域数据共享

本节是前一节的延续,当消费者是预配 Redshift 集群时,需要附加步骤使数据共享正常工作。请参阅 和 ,以获取有关概念和实施步骤的深入理解。

  1. 在消费者区域的 Redshift Serverless 中创建新的架构和表:

sql CREATE SCHEMA customer360_data_share; CREATE TABLEcustomer360_data_share.customer_churn AS SELECT * FROMdev.cross_region_data_share.churn_modellingcsv_tableaus3_dlm;

删除)

  1. 通过在每个集群中运行以下查询获取 Redshift Serverless(生产者)和 Redshift 预配集群(消费者)的命名空间:

sql SELECT current_namespace;

删除)

删除)

  1. 在 Redshift Serverless(生产者)中创建数据共享,并授予 Redshift 预配集群(消费者)使用权限。将数据共享、架构和表名设置为适当的值,并将命名空间设置为消费者命名空间。

sql CREATE DATASHARE customer360_redshift_data_share; ALTER DATASHAREcustomer360_redshift_data_share ADD SCHEMA customer360_data_share; ALTERDATASHARE customer360_redshift_data_share ADD TABLEcustomer360_data_share.customer_churn; GRANT USAGE ON DATASHAREcustomer360_redshift_data_share TO NAMESPACE '5709a006-6ac3-4a0c-a609-d740640d3080'; --<<Data Share Consumer Namespace>>

删除)

  1. 以超级用户身份登录到 Redshift 预配集群,从数据共享中创建数据库并授予权限。请参阅 以了解详细指导。

删除)

现在数据共享已准备好进行查询。

删除)

您可以根据业务需求定期刷新创建的表,以获取来自数据云的最新数据。

结论

Salesforce Data Cloud 与 Amazon Redshift之间的零拷贝数据共享标志着组织在使用客户360数据方面的一项重大进展。通过消除数据移动的需求,这种方法提供了实时洞察、降低成本和增强安全性。随着企业继续优先考虑数据驱动的决策,零拷贝数据共享将在解锁跨平台客户数据的全部潜力中发挥关键作用。

这种集成使组织能够打破数据孤岛,加快分析速度,并推动更灵活的以客户为中心的战略。要了解更多,请参阅以下资源:


关于作者

删除)RajkumarIrudayaraj** 是 Salesforce 的高级产品总监,在数据平台和服务领域拥有超过 20 年的经验,热衷于向客户提供数据驱动的体验。

删除)SriramSethuraman 是 Salesforce Data Cloud 产品管理部的高级经理。他在使用大数据技术开发产品方面拥有超过 9 年的经验。在 Salesforce 的当前角色中,Sriram 负责与主要数据湖合作伙伴进行零拷贝集成,并帮助客户通过数据策略产生价值。

删除)JasonBerkowitz** 是 AWS Lake Formation 的高级产品经理,

Leave a Reply

Required fields are marked *