在 Snowflake Data Clean Room 环境中安装的项目

本主题提供有关在安装 Snowflake Data Clean Room 环境时创建对象以及创建或加入协作时,在账户中创建的对象的信息。有关提供商和使用者 Clean Room 的信息,请参阅 Snowflake Data Clean Rooms:安装的对象

概括性概述

下图是双方协作的简化表示:

与两个参与者协作的高级概述

有关图表的说明:

此图显示了两个协作者正在使用 Data Clean Room Collaboration API 创建和管理协作。

  • 协作者 A 是所有者和创建者,如图中的协作定义 YAML 所示。

  • 协作者 A 和 B 都是数据提供商,如图中的数据产品共享所示。

  • 如果协作定义允许,协作者 A 和 B 都可以充当分析执行者。

  • 协作者 B 已将模板添加到协作中。

  • Secure Collaboration Orchestrator (SCO) 是一个专用的 Snowflake 账户,用于管理其区域内所有账户的协作。每个区域有一个 SCO。协作 SCO 的权限根据所有者的账户区域确定。

  • SCO 为每次协作创建应用程序包和列表。协作者可以从该列表中安装名为 SFDCR_collaboration_name 的应用程序,从而获得访问该协作空间的权限。

  • 协作者通过 DCR Collaboration API 在他们的本地 SAMOOHA_BY_SNOWFLAKE_LOCAL_DB 与协作进行交互。

协作者创建数据产品,并且 SCO 根据协作定义与协作者共享该数据。SCO 使用协作、数据产品、模板和分析规范来执行协作策略,例如谁可以使用哪些模板访问哪些数据;可以激活哪些数据、向谁激活以及是否提供自由格式的 SQL 访问权限。

应用程序

安装 Snowflake Data Clean Rooms 环境或加入协作时会安装以下应用程序:

Data Clean Room 原生应用程序 SAMOOHA_BY_SNOWFLAKE

在 Snowflake Data Clean Rooms 环境安装期间安装的应用程序。每个账户都从 Snowflake Data Clean Room Marketplace 列表安装了此启动加载应用程序。它提供了本地 DB 使用的库过程、委派角色和辅助函数,并在本地 DB 和 Clean Room 对象上运行。

Collaboration 应用程序 SFDCR_collaboration_name

每个账户加入协作空间时安装的应用程序。它提供了一个 COLLABORATION 架构,其中包含针对安装账户进行过滤的安全视图(例如 DATA_OFFERINGS、TEMPLATE_SPECS 和 CODE_SPECS),以及一个包含用于处理 join、run 和 leave 操作的存储过程的 COLLABORATION_INTERNAL 架构。它将写入 Clean Room 本地 DB 并将消息发送回 SCO。

数据库

安装 Snowflake Data Clean Rooms 环境或加入协作时会创建以下数据库:

SFDCR_LOCAL_collaboration_name

包含已安装协作的本地信息,包括激活的数据和仅限本地数据的视图。

SAMOOHA_BY_SNOWFLAKE_LOCAL_DB

此数据库是在您的账户中安装 Snowflake Data Clean Room 环境时创建的。它在您的账户本地。它不是应用程序,但确实包含应用程序逻辑。

此数据库具有以下架构:

ADMIN 架构

本地 DB 中的架构用于管理功能,包括权限管理、版本信息和外部表分析启用。

COLLABORATION 架构

本地 DB 中的主架构用于协作 Clean Room 功能。包含消息处理的任务、流和过程。

REGISTRY 架构

存储已注册的模板、数据产品、代码规范和对象到注册表的映射表。

registry_name_REGISTRY 架构

创建自定义注册表时创建的架构。例如,如果您创建自定义名称 sales_data 时,系统会创建一个名称为 sales_data_registry 的架构。

共享和列表

以下是每次协作涉及和创建的共享和列表,具体取决于您在协作中定义的角色。

对象名称/格式

类型

描述

SFDCR: SCO collaboration_id

传入列表

SCO 为您创建或受邀参加的每项协作共享的列表。

SCO_DATA_OFFERINGS_LISTING_hash

传出列表

从数据提供商共享给协作者的数据产品的列表名称。

SCO_ACTIVATION_LISTING_hash

传出列表

分析运行者与其他协作者共享的激活结果的列表名称。

SCO_STAGED_CODE_LISTING_hash

传出列表

从代码提供商共享到分析运行者以执行代码的暂存代码列表名称。

SCO_DATA_OFFERINGS_SHARE_hash

传出共享

数据提供商创建的共享,用于与协作者共享数据产品(数据集、策略)。

SCO_ACTIVATION_SHARE_hash

传出共享

分析运行者创建的共享,用于将激活结果共享回其他协作者。

SCO_STAGED_CODE_SHARE_hash

传出共享

由代码提供商创建的共享,供分析运行者执行代码。

任务

以下是与操作新的 Snowflake Data Clean Room 环境相关的任务。有关与旧版提供商和使用者 Clean Room 相关的任务,请参阅 Snowflake Data Clean Rooms:安装的对象

任务名称

描述

仓库

EXPECTED_VERSION_TASK

新版本发布时自动升级原生应用程序和本地数据库。

频率:由请求触发。

SAMOOHA_TASK_WAREHOUSE

collaboration_name_hash_OWNER_AUTO_JOIN

任务由所有者启用,以自动联接他们发起的协作。

频率:每 1 分钟一次,1 小时后暂停。

用户指定的仓库

示例数据

样本数据存储在 SAMOOHA_SAMPLE_DATABASE 数据库中。此数据库包含名为 DEMO.CUSTOMERS 和 DEMO.CUSTOMERS_2 的示例数据表,您可以将其用作测试数据。

备注

CUSTOMERS_2 表于 2025 年 9 月添加。如果在此之前安装了 Clean Room 环境,则可能没有安装此示例表。要查看您是否已安装 CUSTOMERS_2,可以运行以下 SQL 代码:

SHOW TABLES LIKE 'CUSTOMERS_2' IN SCHEMA SAMOOHA_SAMPLE_DATABASE.DEMO;

如果响应中没有行,则您或具有 ACCOUNTADMIN 角色的人必须运行以下命令来安装示例表:

USE ROLE ACCOUNTADMIN;
EXECUTE IMMEDIATE FROM @SAMOOHA_BY_SNOWFLAKE.APP_SCHEMA.MOUNT_CODE_STAGE/dcr_loader.sql;

仓库

Snowflake Data Clean Rooms 在您的账户中安装以下仓库。您可以根据需要更改任何仓库的大小。我们建议您使用 XS 仓库来执行 Clean Room 的常规编辑、创建或删除命令。在运行机器学习工作负载等大型分析时,请考虑使用更大的仓库或 Snowpark-Optimized Warehouses。

了解如何查看您的仓库使用成本。

仓库名称

备注

APP_WH

默认情况下为 SAMOOHA_APP_ROLE 提供访问权限的 XSMALL 仓库。

SAMOOHA_TASK_WAREHOUSE

用于自动升级等操作的 XSMALL 仓库。