Snowflake Data Clean Rooms:安装的对象

本主题提供有关安装 Clean Room 环境时在账户中创建的对象的信息。

概括性概述

下图展示了安装在提供商与使用者账户中的主要对象的概括性视图:

Clean Room 组件的概括性图表
  • Clean Room UI: 用户使用 Clean Room UI 访问 Clean Room 时,会通过 Clean Room 安装者为每个账户配置一次的服务用户账户,连接到 Clean Room API。

  • API 用户: API 用户和 Clean Room UI 都使用相同的 Clean Room API。此 API 由您账户中的本地 DB 定义。

  • 本地 DB: 定义 Clean Room API。每个账户有一个本地 DB(不是每个 Clean Room)。此对象的实际名称是 SAMOOHA_BY_SNOWFLAKE_LOCAL_DB

  • Clean Room 应用程序包: 当由提供商在其账户上创建 Clean Room 时生成。每个 Clean Room 有一个包,名为 SAMOOHA_CLEANROOM_cleanroom name。此包生成由使用者安装的 Clean Room 应用程序。

  • 回传共享: 提供商必须挂载回传共享,才能从使用者接收消息和数据。原生应用仅支持数据从提供商流向使用者,因此必须挂载回传共享,才能实现数据从使用者流向提供商。提供商账户中挂载了两个回传共享:一个用于治理回传,存储提供商运行及激活数据;另一个用于请求日志回传,存储从使用者发送给提供商的消息与响应,例如使用者的自定义模板请求,或使用者对提供商运行请求的批准。(共享本身存在于使用者的账户中。)

  • 已安装的应用程序: 由应用程序包创建,已安装的应用程序在使用者端定义了一个 Clean Room。安装的应用程序遵循命名约定 SAMOOHA_CLEANROOM_APP_cleanroom_name

  • 使用者 DB: 包含使用者账户中已注册数据集的只读视图。使用者在将数据集关联到 Clean Room 时创建这些视图。使用者账户的每个 Clean Room 包含一个使用者 DB,名为 SAMOOHA_CLEANROOM_CONSUMER_clean room ID

  • Clean Room: 高级别的 Clean Room 可以被视为由应用程序包和提供商端的后台共享组成,加上在使用者一侧已安装的应用程序和使用者 DB。

应用程序包

您的账户中可以安装以下应用程序包:

SAMOOHA_CLEANROOM_cleanroom name

安装在提供商的账户中,每个 Clean Room 创建一个应用程序包。它包含提供商创建的 Clean Room 的所有核心应用程序逻辑。它还包含用于与 Clean Room 共享数据的安全视图以及存储 Clean Room 状态的几个表。其中包括记录使用者当前差分隐私预算的表、列和联接策略以及链接到 Clean Room 的表名称。

应用程序

您的账户中可以安装以下应用程序:

SAMOOHA_CLEANROOM_APP_cleanroom_name

安装(联接)Clean Room 时安装在使用者的账户中。

数据库

Snowflake Data Clean Rooms 安装以下数据库:

SAMOOHA_BY_SNOWFLAKE

此数据库包含用于创建和管理 Clean Room 的所有核心功能和应用程序逻辑。此数据库具有以下架构:

ADMIN 架构

此架构包含如下所示的应用程序级详细信息:

  • 应用的补丁(版本、命令)。

  • 版本信息(编号)。

APP_SCHEMA 架构

此架构包含加快所有 Clean Room 流程所必需的功能和过程。主要详细信息包括:

  • 加密和解密功能。

  • 与开发者 APIs 和 Clean Room UI 一起使用的 Clean Room 过程,用于创建、安装和处理 Clean Room。

TEMPLATES 架构

此架构包含 Snowflake 提供的 SQL Jinja 模板。

这些预构建的模板提供现成的 SQL 查询,用于 Snowflake Data Clean Rooms 内部的安全数据协作。它们利用 Jinja 模板进行自定义,允许您针对特定的数据共享场景定制查询。

SAMOOHA_BY_SNOWFLAKE_LOCAL_DB

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

此数据库具有两种数据类型:

  • 您和 Clean Room UI 用于创建和管理 Clean Room 的开发者 APIs。

  • 由您拥有的中间数据集,在身份解析等流程中保存到 PUBLIC 架构。例如,LiveRamp 解析和转码过程中的输出表会保存到 PUBLIC 架构中,并联接到由 Clean Room UI 链接到 Clean Room 的视图中。

数据库具有以下架构:

ADMIN 架构

此架构包含操作与账户相关的某些 Clean Room 功能所必需的信息,例如:

  • 使用 Cross-Cloud Auto-Fulfillment 进行跨区域或云平台的协作。

  • 将 Clean Room 从开发者 APIs 注册到 Clean Room UI 所需的 Clean Room 元数据更新。

  • 对与使用 Snowflake 账户运行 Clean Room UI 相关的当前过程进行版本控制。

  • Tasks 和 Streams,侦听协作者共享回来的 Clean Room 共享集中的更改,以及根据更改视需要启用/禁用 Clean Room。

CONSUMER 架构

此架构包含 使用者 API 过程 的定义以及一些常见的使用者任务。

INFORMATION_SCHEMA 架构

与所有 Snowflake 数据库一样,此数据库包含 INFORMATION_SCHEMA 架构(又名“数据字典”),后者由一组系统定义的视图和表函数组成,这些视图和表函数提供有关在账户中创建的对象的大量元数据信息。

LIBRARY 架构

此架构包含 library 命名空间 API 过程的定义,以及提供商和使用者共用的一些常见任务与过程。

PROVIDER 架构

此架构包含 提供商 API 过程 的定义以及一些常见的提供商任务。

PUBLIC 架构

此架构包含您和 Clean Room UI 用于创建和管理 Clean Room 的开发者 APIs。它还包含完全由您拥有的中间数据集,在身份解析等流程中保存到 PUBLIC 架构。例如,LiveRamp 解析和转码过程中的输出表会保存到 PUBLIC 架构中,并联接到由 Clean Room UI 链接到 Clean Room 的视图中。

此架构具有以下表:

  • CLEANROOM_RECORD:此表包括 Clean Room 的状态(创建、删除)以及上次更新的用户和时间戳。如果更新是在 Web 应用程序中完成的,则该用户为服务账户用户。如果更新是在 Clean Room UI 中完成的,则用户是服务账户用户。如果更新是使用开发者 APIs 在 Snowsight 中完成的,则用户是调用 API 的实际用户。Clean Room 数据库名称可在此表中自定义。

  • CONNECTOR_CONFIGURATION:此表是账户中配置的连接器列表。

  • REPORTS:此表包括 Clean Room 的状态(创建、删除)以及上次更新的用户和时间戳。此表包括使用者保存在 Clean Room UI 中的报告列表。来自标准报告的顶级结果保存在表中。

  • HORIZONTAL_ANALYSIS_<report ID>:使用 SQL 查询模板执行的分析的输出,以及在 Clean Room UI 中执行的自定义模板的输出。

  • CONSUMER_ACTIVATION_SUMMARY:使用者激活结果。

  • PROVIDER_ACTIVATION_SUMMARY:提供商激活结果。

此数据库有三个从其中创建的共享:

  • SAMOOHA_INTERNAL_GOVERNANCE_SUMMARY_SHARE_NAV2: 此共享为 表共享,主要用于共享 解析过程如何回到 Snowflake 的日志,它们使用第三方原生应用程序。此共享包含 PUBLIC 架构中 (CONSUMER_/PROVIDER_)GOVERNANCE_SUMMARY 和 (CONSUMER_/PROVIDER_)ACTIVATION_SUMMARY 表的视图。这将与所有已创建此账户安装的 Clean Room 的提供商共享,并用于共享治理信息和提供商激活。

  • SAMOOHA_INTERNAL_LOGS_SHARE_NAV2: 此共享为 LOG_EVENTS 表共享,主要用于共享 ID 解析过程如何回到 Snowflake 的日志,它们使用第三方原生应用程序。没有 PII 或数据共享回来,只有用于转码/解析的第三方应用程序 APIs 的成功/失败。

  • SAMOOHA_INTERNAL_PROVIDER_METADATA_NAV2:此共享为两个表的共享,ADMIN.METADATA_UPDATE_REQUESTS,用于将注册请求从 API 发送到 UI;和 ADMIN.RESOURCE_MONITOR_USAGE,仅供托管账户记录用于记录使用情况。

SAMOOHA_CLEANROOM_cleanroom ID

每个发布(作为创建者)或安装(作为使用者)的 Clean Room 都有一个关联的数据库,其中包含该 Clean Room 的所有详细信息,包括安装的任何模板、请求日志、LAF 状态等。此数据库包括以下架构:

  • Admin:加密密钥、隐私预算、请求日志、提供商分析请求等。

  • Shared_schema:联接策略、LAF 状态、链接表和版本。

  • Templates:此 Clean Room 中的激活模板、自定义模板和模板链列表。

SAMOOHA_CLEANROOM_REQUESTS_clean room ID

这是提供商一方的数据库,以及使用者一方的共享。它对应于作为使用者 Clean Room 安装过程的一部分从使用者处发回给 Clean Room 供应商的共享。该数据库包含有关使用者对 Clean Room 提出的所有请求的信息,用于跟踪使用者的差分隐私预算使用情况。

SAMOOHA_CLEANROOM_CONSUMER_clean room ID

此数据库仅安装在使用者账户中。它用于向 Clean Room 共享对象,如使用者数据的安全视图,以及使用者列/联接策略(如果应用)。它有下表:

  • SAMOOHA_CLEANROOM_CONSUMER_clean room ID.SHARED.REQUESTS。此表向使用者显示究竟是哪个查询试图运行,其中 PROPOSED_QUERY 是通过使用者模板呈现的查询。

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;

任务

以下是 Clean Room 使用的一些任务,您可能会看到这些任务在您的环境中运行。

通过运行以下过程,您可以找到有关给定任务的更多信息:

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.DCR_HEALTH.DCR_TASKS_HEALTH_CHECK();

了解如何查看任务和仓库使用成本。

Clean Room 任务

任务名称

描述

仓库

实体级别

AUTO_RUN_warehouse

为每个仓库运行计划报告。使用报告相关的仓库。

默认计划:1 天。

DCR_WH_warehouse

按 Clean Room 报告

AUTO_RUN_TASK

运行设置为自动运行的报告。

默认计划:1 天。

用户选择的仓库。

按账户

COMPUTE_DATA_STATS_​FOR_ACCOUNT_consumer locator

计算已联接的 Clean Room 的基准指标。

默认计划:3 小时。

SAMOOHA_TASK_WAREHOUSE

按账户

COMPUTE_DATA_STATS_​FOR_ACCOUNT_provider locator

计算已创建的 Clean Room 的基准指标。

默认计划:3 小时。

SAMOOHA_TASK_WAREHOUSE

按账户

DISTINCT_COLUMN_VALUES​_TASK

为在 Clean Room 中链接的数据集计算不同的值,以启用筛选器下拉列表。

默认计划:1 天。

SAMOOHA_TASK_WAREHOUSE

按 Clean Room

EXPECTED_VERSION_TASK

新版本发布时自动升级原生应用程序。

默认计划:由请求触发。

SAMOOHA_TASK_WAREHOUSE

按账户

LISTEN_TO_REQUESTS

在账户上启用差分隐私后,装载、修复和验证合作者传入的共享。启用 DP 后,会以更高的频率添加相同的任务,以防止分析过度运行。此任务每天大约消耗 6 个 Credit。

默认计划:1 分钟。

无服务器

按账户

LISTEN_TO_REQUESTS_NODP

装载、修复和验证合作者传入的共享。

默认计划:30 分钟。

SAMOOHA_TASK_WAREHOUSE

按账户

LISTEN_TO_REQUESTS​_1_COLLABORATOR

为从使用者流回提供商的返回请求设置侦听器。确定是否已启用 Clean Room。

默认计划:由请求触发。

SAMOOHA_TASK_WAREHOUSE

按协作者

MONITORING_SUMMARY_CRON_TASK

内部使用情况。

默认计划:30 分钟。

SAMOOHA_TASK_WAREHOUSE

按账户

MOUNT_PROVIDER_ACTIVATIONS_TASK

为每个使用者挂载传入的共享以进行激活。

默认计划:15 分钟。

SAMOOHA_TASK_WAREHOUSE

按账户

PRIVACY_AND_SECURITY_SCANNER

扫描每个提供商的 Clean Room 中的每个模板以查找隐私和安全问题。

默认计划:30 分钟。

SAMOOHA_TASK_WAREHOUSE

按账户

PROCESS_ACTIVATIONS

解密使用者发回的激活数据。

默认计划:由请求触发。

SAMOOHA_TASK_WAREHOUSE

按账户

PROCESS_PROVIDER_ANALYSIS_REQUESTS

运行实际提供商分析。

默认计划:由请求触发。

PROVIDER_RUN_UUID

按 Clean Room

PROCESS_REQUESTS_​BUDGET_COLLABORATOR_1

处理 Clean Room 的差分隐私预算。

默认计划:由请求触发。

SAMOOHA_TASK_WAREHOUSE

按协作者

PROCESS_TEMPLATE_REQUESTS​_COLLABORATOR

处理 Clean Room 的模板请求。

默认计划:由请求触发。

SAMOOHA_TASK_WAREHOUSE

按协作者

RESET_PRIVACY_BUDGET

重置所有 Clean Room 的隐私预算。

默认计划:1 天。

SAMOOHA_TASK_WAREHOUSE

按 Clean Room

SAMOOHA_INTERNAL_UID_​OUTPUT_TABLE_REFRESH_TABLE_DATA_TASK

每个表创建一次。

默认计划:1 天。

SAMOOHA_TASK_WAREHOUSE

按账户

SETUP_AUTO_RUN

设置自动运行报告。

默认计划:60 分钟。

SAMOOHA_TASK_WAREHOUSE

按账户

SETUP_PROVIDER_ANALYSIS​_REQUESTS

设置提供商分析基础设施并处理提供商分析请求。

默认计划:由请求触发。

SAMOOHA_TASK_WAREHOUSE

按 Clean Room

TRIGGER_REFRESH_FOR_LAF_CLEANROOMS

触发已启用 Cross-Cloud Auto-Fulfillment 的 Clean Room 进行数据刷新。

默认计划:30 分钟。

SAMOOHA_TASK_WAREHOUSE

按账户

仓库

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

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

仓库名称

备注

APP_WH

XSMALL 仓库可以访问 API、设置新的 Clean Room、管理权限和数据共享。

DCR_WH_SMALL

常规,SMALL 仓库

DCR_WH_Medium

常规,MEDIUM 仓库

DCR_WH_Large

常规,LARGE 仓库

DCR_WH_XLarge

常规,XLARGE 仓库

DCR_WH_2XLARGE

常规,XXLARGE 仓库

DCR_WH_4XLarge

常规,X4LARGE 仓库

DCR_WH_OPT_XLarge

Snowpark 优化,XLARGE 仓库

DCR_WH_OPT_2XLarge

Snowpark 优化,XXLARGE 仓库

DCR_WH_OPT_4XLarge

Snowpark 优化,X4LARGE 仓库

PROVIDER_RUN_<cleanroom_identifier>

使用者账户中执行提供商所运行的分析的仓库。

SAMOOHA_TASK_WAREHOUSE

XSMALL 仓库用于许多用途,例如隐私和安全扫描、处理自动运行报告、计算数据统计和处理使用者模板请求。

DCR_ACTIVATION_WAREHOUSE

用于解密发送给提供商的激活结果。默认大小为 XL,但可以通过调用 provider.update_activation_warehouse 修改大小。

其他对象

Snowflake Data Clean Room 安装以下附加对象:

  • SAMOOHA_SERVICE_ACCOUNT_USER_ACCESS:选择使用 时默认使用的角色和仓库。服务用户使用的用户级网络策略,用于 启用 Clean Room UI