Sobre o Snowflake Collaboration Data Clean Rooms¶
Visão geral¶
O Snowflake Data Clean Rooms está apresentando uma nova arquitetura de sala limpa de dados chamada Collaboration Data Clean Rooms. As Collaboration Data Clean Rooms permitem que os clientes colaborem em um ambiente totalmente simétrico e com várias partes. Ao contrário dos modelos provedores-consumidores tradicionais, que limitam as funções e o número de colaboradores, a API Collaboration oferece suporte a funções flexíveis e controles de acesso a dados detalhados para qualquer número de participantes.
Salas limpas para dados de fornecedores e consumidores vs. Collaboration Data Clean Rooms¶
As salas limpas para dados de fornecedores (a primeira arquitetura de salas limpas de dados) foram projetadas principalmente para colaborações entre duas partes. As Collaboration Data Clean Rooms oferecem suporte à colaboração com várias partes sem complexidade adicional. O novo design substituirá os conceitos de provedor e consumidor, análises executadas pelo provedor em comparação com análises executadas pelo consumidor e colaboração simples em comparação com colaboração de várias partes por uma sala limpa configurável que permite que qualquer participante contribua com dados e modelos e execute análises.
As salas limpas para dados de fornecedores e consumidores e as Collaboration Data Clean Rooms coexistirão por algum tempo. As salas limpas de provedor e consumidor ainda podem ser utilizadas e não serão modificadas nem removidas. No entanto, recomendamos que você experimente as novas Collaboration Data Clean Rooms. Nosso objetivo é migrar todos os usuários para as Collaboration Data Clean Rooms, que devem proporcionar uma experiência de colaboração muito mais simples e robusta.
Introdução às Collaboration Data Clean Rooms¶
Na nova arquitetura de salas limpas de dados, uma sala limpa é chamada de colaboração, e todos os usuários com acesso à colaboração são chamados de colaboradores. Cada colaborador tem uma ou mais funções na colaboração. Neste caso, o termo função não se refere a uma função RBAC [*], mas a um conjunto de permissões que definem o que o usuário pode fazer. As seguintes funções existem em uma colaboração:
Proprietário: cria a colaboração e determina quem terá quais funções nela.
Provedor de dados: pode importar dados para uso por um executor de análise designado.
Executor de análise:** pode executar consultas na colaboração usando as ofertas de dados fornecidas pelos provedores de dados designados.
Cada colaborador pode ter várias funções, e uma colaboração pode ter vários provedores de dados e executores de análise, mas apenas um proprietário.
As colaborações podem conter vários tipos de recursos:
Modelo: um modelo JinjaSQL que resulta em uma consulta SQL. Os modelos podem ser adicionados a uma colaboração por qualquer colaborador, mas só podem ser executados pelos executores de análise designados pelo provedor do modelo.
Oferta de dados: um pacote de uma ou mais exibições compartilhadas por um provedor de dados com executores de análise específicos nessa colaboração.
Todos os recursos, bem como a própria definição da colaboração, são especificados usando arquivos de especificação YAML registrados pelos colaboradores. Os colaboradores podem adicionar ou remover recursos após a criação da colaboração, mas as funções não podem ser alteradas, nem novos membros convidados, depois que o proprietário cria a colaboração.
Requisitos e limitações atuais¶
Todas as contas devem ter a versão mais recente do Snowflake Data Clean Rooms instalada. Saiba como atualizar seu ambiente de salas limpas.
Proprietários e provedores de dados devem usar o Snowflake Enterprise Edition. Os executores de análise podem usar a Standard Edition.
Arquitetura do sistema¶
Esta seção fornece uma descrição de alto nível de como funciona a colaboração nas Snowflake Data Clean Rooms.
O diagrama a seguir é uma representação simplificada de uma colaboração entre duas partes:
Observações sobre o diagrama:
Este diagrama mostra dois colaboradores que estão usando a API Data Clean Rooms Collaboration para criar e gerenciar uma colaboração.
O colaborador A é o proprietário e criador, conforme indicado pelo YAML de definição de colaboração no diagrama. O colaborador A também é um provedor de dados, indicado pela participação na oferta de dados.
O colaborador B é um provedor de dados, conforme indicado pela participação na oferta de dados no diagrama.
Tanto A quanto B podem atuar como executores de análises, se a definição de colaboração permitir.
O orquestrador de colaboração segura (secure collaboration orchestrator, SCO) é uma conta que gerencia colaborações. O SCO cria um pacote de apps individual para cada colaboração. Este pacote de apps é um aplicativo que todos os colaboradores em potencial podem instalar (se juntar). Todos os colaboradores interagem com o app de colaboração usando a API DCR Collaboration. Os custos associados ao SCO não são cobrados dos usuários.
Os colaboradores criam ofertas de dados, e o SCO compartilha esses dados com os colaboradores de acordo com a definição de colaboração. O SCO usa as especificações de colaboração, oferta de dados, modelo e análise para aplicar políticas de colaboração, como quem pode acessar quais dados usando quais modelos, quais dados podem ser ativados e para quem, e se o acesso SQL de formato livre é fornecido.