关于 Snowflake Collaboration Data Clean Room

概述

Snowflake Data Clean Room 正在预览一种名为 Collaboration Data Clean Room 的新 Data Clean Room 架构。Collaboration Data Clean Room 允许客户在完全对称的多方环境中进行协作。与限制协作者角色和数量的传统提供商-使用者模型不同,Collaboration API 支持任意数量的参与者的灵活角色和细粒度数据访问控制。

提供商和使用者 Data Clean Room 与Collaboration Data Clean Room

提供商和使用者 Clean Room 是第一个 Data Clean Room 架构,主要为双方协作而设计。Collaboration Data Clean Room 支持多方协作,而不会增加复杂性。新设计将用可配置的 Clean Room 取代提供商和使用者、提供商运行分析与使用者运行分析、简单协作与多方协作的概念,允许任何一方贡献数据和模板并运行分析。

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

 

提供商和使用者 Clean Room 以及 Collaboration Data Clean Room 将共存一段时间。您的提供商和使用者 Clean Room 仍然可用,不会被修改或移除。但是,我们鼓励您尝试新的 Collaboration Data Clean Room。我们的目标是将所有用户迁移到 Collaboration Data Clean Room,这将提供更简单、更强大的协作体验。

Collaboration Data Clean Room 简介

在新的 Data Clean Room 架构中,Clean Room 称为 协作,所有有权访问协作的用户称为 协作者。每个协作者在协作中都有一个或多个 角色。在这种情况下,术语 角色 并不是指 RBAC 角色 [*],而是指一组定义用户可以执行的操作的权限。协作中存在以下角色:

  • 所有者: 创建协作并确定谁在协作中具有哪些角色。

  • 数据提供商: 可以导入数据,供指定的分析执行器使用。

  • 分析执行器: 可以使用指定数据提供商提供的数据产品在协作中运行查询。

每个协作者可以有多个角色,一个协作可以有多个数据提供商和分析执行者,但只能有一个所有者。

协作可以包含多种类型的 资源

  • 模板: 对 SQL 查询求值的 JinjaSQL 模板。任何协作者都可以将模板添加到协作中,但模板只能由模板提供商指定的分析执行器运行。

  • 数据产品: 数据提供商与该协作中的特定分析执行者共享的一个或多个视图的包。

所有资源以及协作定义本身都使用由协作者注册的 YAML 规范文件进行定义。创建协作后,协作者可以添加或移除资源,但在所有者创建协作后,无法更改角色或邀请新成员。

要求和当前限制

  • 所有账户都必须安装最新版本的 Snowflake Data Clean Rooms。了解如何更新 Clean Room 环境。

  • 所有者和数据提供商必须使用 Snowflake Enterprise Edition。分析执行器可以使用 Standard Edition。

系统架构

本节简要介绍了 Snowflake Data Clean Room 中的协作方式。

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

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

有关图表的说明:

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

协作者 A 是所有者和创建者,如图中的协作定义 YAML 所示。协作者 A 也是数据提供商,如数据产品共享所示。

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

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

The Secure Collaboration Orchestrator (SCO) is an account that manages collaborations. The SCO creates an individual app package per collaboration. This app package is an application that all potential collaborators can install (join). All collaborators interact with the collaboration app using the DCR Collaboration API. Costs associated with the SCO are not charged to users.

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