Ir para o conteúdo principal
Anúncios

Apresentando o Delta Sharing: um protocolo aberto para compartilhamento seguro de dados

por Matei Zaharia, Michael Armbrust, Steve Weis, Todd Greenstein e Cyrielle Simeone

O Delta Sharing evoluiu para OpenSharing, o primeiro protocolo aberto e neutro em relação a fornecedores para compartilhar com segurança ativos de IA, incluindo Agent Skills, modelos de IA e dados não estruturados. Leia o anúncio.

Atualização: Delta Sharing agora está disponível para o público geral na AWS e no Azure.

Obtenha uma prévia do novo e-book da O'Reilly para obter as orientações passo a passo necessárias para começar a usar o Delta Lake.

O compartilhamento de dados tornou-se fundamental na economia moderna, à medida que as empresas buscam trocar dados com segurança com seus clientes, fornecedores e parceiros. Por exemplo, um varejista pode querer publicar dados de vendas para seus fornecedores em tempo real, ou um fornecedor pode querer compartilhar o inventário em tempo real. Mas, até agora, o compartilhamento de dados tem sido severamente limitado porque as soluções de compartilhamento estão vinculadas a um único fornecedor. Isso cria atrito tanto para os provedores quanto para os consumidores de dados, que naturalmente utilizam plataformas diferentes.

Hoje, estamos lançando um novo projeto de código aberto que simplifica o compartilhamento entre organizações: o Delta Sharing, um protocolo aberto para troca segura em tempo real de grandes conjuntos de dados, que permite o compartilhamento seguro de dados entre produtos pela primeira vez. Estamos desenvolvendo o Delta Sharing com parceiros que estão entre os principais provedores de software e dados do mundo.

Para entender por que as soluções de compartilhamento de dados atuais criam atrito, imagine um varejista que deseja compartilhar dados com um analista de um de seus fornecedores. Hoje, o varejista poderia usar um dos vários data warehouses em nuvem que oferecem compartilhamento de dados, mas o analista precisaria trabalhar com suas equipes de TI, segurança e compras para implantar o mesmo produto de data warehouse em sua empresa, um processo que pode levar meses. Além disso, uma vez implantado o data warehouse, a primeira coisa que o analista faria seria exportar os dados dele para sua ferramenta de ciência de dados favorita, como pandas ou Tableau.

Com o Delta Sharing, os usuários de dados podem se conectar diretamente aos dados compartilhados por meio do pandas, Tableau ou dezenas de outros sistemas que implementam o protocolo aberto, sem a necessidade de implantar uma plataforma específica primeiro. Isso reduz o tempo de acesso de meses para minutos e diminui drasticamente o trabalho dos provedores de dados que desejam alcançar o maior número possível de usuários.

Estamos trabalhando com um ecossistema vibrante de parceiros no Delta Sharing, incluindo equipes de produtos dos principais fornecedores de nuvem, BI e dados:

 Ecossistema do Delta Sharing - Apache Spark, Pandas, Presto, Trino, Rust, Hive, Tableau, Power BI, Qlik, Looker, Databricks, Microsoft Azure, Google BigQuery, Starburst, Dremio, AtScale, Immuta, Privacera, Alation, Collibra, Nasdaq, S&P, ICE, NYSE, AWS, FactSet, Precisely, Atlassian, Foursquare, Sequence Bio

Ecossistema do Delta Sharing

Neste post, explicaremos como o Delta Sharing funciona e por que estamos tão entusiasmados com uma abordagem aberta para o compartilhamento de dados.

Objetivos do Delta Sharing

O Delta Sharing foi projetado para ser fácil de usar, tanto para provedores quanto para consumidores, com seus dados e fluxos de trabalho existentes. Nós o projetamos com quatro objetivos em mente:

  • Compartilhar dados em tempo real diretamente, sem copiá-los: Queremos facilitar o compartilhamento de dados existentes em tempo real. Hoje, a maioria dos dados corporativos está armazenada em sistemas de data lake e lakehouse na nuvem. O Delta Sharing funciona sobre eles; em particular, ele permite que você compartilhe com segurança qualquer conjunto de dados existente nos formatos Delta Lake ou Apache Parquet.
  • Suporte a uma ampla variedade de clientes: Os destinatários devem ser capazes de consumir dados diretamente de suas ferramentas preferidas, sem a necessidade de instalar uma nova plataforma. O protocolo Delta Sharing foi projetado para ser facilmente suportado de forma direta pelas ferramentas. Ele é baseado no Parquet, que a maioria das ferramentas já suporta, facilitando a implementação de um conector para ele.
  • Segurança robusta, auditoria e governança: O protocolo foi projetado para ajudar você a atender aos requisitos de privacidade e conformidade. O Delta Sharing permite conceder, rastrear e auditar o acesso aos dados compartilhados a partir de um único ponto de controle.
  • Escalar para conjuntos de dados massivos: O compartilhamento de dados precisa, cada vez mais, suportar conjuntos de dados na escala de terabytes, como dados industriais ou financeiros detalhados, o que é um desafio para as soluções legadas. O Delta Sharing aproveita o custo e a elasticidade dos sistemas de armazenamento em nuvem para compartilhar grandes conjuntos de dados de forma econômica e confiável.

Como funciona o Delta Sharing?

O Delta Sharing é um protocolo REST simples que compartilha com segurança o acesso a parte de um conjunto de dados na nuvem. Ele aproveita os sistemas modernos de armazenamento em nuvem, como S3, ADLS ou GCS, para transferir grandes conjuntos de dados de maneira confiável. Há duas partes envolvidas: Provedores de Dados e Destinatários.

Como Provedor de Dados, o Delta Sharing permite que você compartilhe tabelas existentes ou partes delas (por exemplo, versões de tabelas ou partições específicas) armazenadas em seu data lake na nuvem no formato Delta Lake. Uma tabela do Delta Lake é essencialmente uma coleção de arquivos Parquet, e é fácil envelopar tabelas Parquet existentes no Delta Lake, se necessário. O provedor de dados decide quais dados deseja compartilhar e executa um servidor de compartilhamento à frente deles que implementa o protocolo Delta Sharing e gerencia o acesso dos destinatários. Disponibilizamos um servidor de compartilhamento de referência em código aberto; e fornecemos um hospedado no Databricks, assim como imaginamos que outros fornecedores farão.

Como Destinatário de Dados, tudo o que você precisa é de um dos muitos clientes do Delta Sharing que suportam o protocolo. Lançamos conectores de código aberto para pandas, Apache Spark, Rust e Python, e estamos trabalhando com parceiros em muitos outros.

O Delta Sharing é um protocolo REST simples que compartilha com segurança o acesso a parte de um conjunto de dados na nuvem. Ele aproveita os sistemas modernos de armazenamento em nuvem, como S3, ADLS ou GCS, para transferir grandes conjuntos de dados de maneira confiável.

A troca real é cuidadosamente projetada para ser eficiente, aproveitando a funcionalidade dos sistemas de armazenamento em nuvem e do Delta Lake. O protocolo funciona da seguinte maneira:

  1. O cliente do destinatário se autentica no servidor de compartilhamento (por meio de um token bearer ou outro método) e solicita a consulta a uma tabela específica. O cliente também pode fornecer filtros sobre os dados (por exemplo, “country=US”) como uma dica para ler apenas um subconjunto dos dados.
  2. O servidor verifica se o cliente tem permissão para acessar os dados, registra a solicitação e determina quais dados enviar de volta. Este será um subconjunto dos objetos de dados no S3 ou em outros sistemas de armazenamento em nuvem que realmente compõem a tabela.
  3. Para transferir os dados, o servidor gera URLs pré-assinadas de curta duração que permitem ao cliente ler esses arquivos Parquet diretamente do provedor de nuvem, de modo que a transferência possa ocorrer em paralelo com uma largura de banda massiva, sem passar pelo servidor de compartilhamento. Esse recurso poderoso, disponível em todas as principais nuvens, torna o compartilhamento de conjuntos de dados muito grandes rápido, econômico e confiável.

Benefícios do design

O design do Delta Sharing oferece muitos benefícios tanto para provedores quanto para consumidores:

  • Os Provedores de Dados podem facilmente compartilhar uma tabela inteira, ou apenas uma versão ou partição dela, porque os clientes recebem acesso apenas a um subconjunto específico dos objetos contidos nela.
  • Os Provedores de Dados podem atualizar dados de forma confiável em tempo real usando as transações ACID no Delta Lake, e os destinatários sempre verão uma visão consistente.
  • Os Destinatários de Dados não precisam estar na mesma plataforma que o provedor, ou sequer na nuvem — o compartilhamento funciona entre nuvens e até mesmo da nuvem para usuários locais (on-premises).
  • O protocolo Delta Sharing é muito fácil de ser implementado pelos clientes se eles já conhecem o Parquet. A maioria das nossas implementações de protótipo com engines open source e ferramentas de BI levou apenas de uma a duas semanas para ser desenvolvida.
  • A transferência é rápida, barata, confiável e paralelizável usando o sistema de nuvem subjacente.

Um ecossistema aberto

Como mencionado anteriormente, estamos entusiasmados em estabelecer uma abordagem aberta para o compartilhamento de dados. Provedores de dados, como a Nasdaq, nos disseram de forma unânime que é difícil demais entregar dados para diversos consumidores, sendo que todos usam ferramentas de analytics diferentes.

"Apoiamos o Delta Sharing e sua visão de um protocolo aberto que simplificará o compartilhamento seguro de dados e a colaboração entre organizações. O Delta Sharing aprimorará a forma como trabalhamos com nossos parceiros, reduzirá os custos operacionais e permitirá que mais usuários acessem uma gama abrangente do conjunto de dados da Nasdaq para descobrir insights e desenvolver estratégias financeiras”, disse Bill Dague, Head de Dados Alternativos da Nasdaq.

Com o Delta Sharing, dezenas de sistemas populares poderão se conectar diretamente aos dados compartilhados para que qualquer usuário possa usá-los, reduzindo o atrito para todos os participantes. Estamos trabalhando com dezenas de parceiros para definir o padrão do Delta Sharing e convidamos você a participar.
Muitas dessas empresas manifestaram seu apoio ao lançamento de hoje:

Ferramentas de BI: Tableau, Qlik, Power BI, Looker
Analytics: AtScale, Dremio, Starburst, Microsoft Azure, Google BigQuery
Governança: Collibra, Immuta, Alation, Privacera
Provedores de dados: FactSet, Nasdaq, Precisely, Safegraph, Atlassian, AWS, Foursquare, ICE, Qandl, S&P, SequenceBio

Delta Sharing no Databricks

Os clientes do Databricks terão uma integração nativa do Delta Sharing em nosso Unity Catalog, proporcionando uma experiência simplificada para compartilhar dados tanto internamente quanto entre organizações. Os administradores poderão gerenciar compartilhamentos usando uma nova sintaxe SQL CREATE SHARE ou APIs REST e auditar todos os acessos de forma centralizada. Os destinatários poderão consumir os dados de qualquer plataforma. Inscreva-se para entrar na nossa lista de espera para acesso à versão preview e atualizações.

Roadmap para o protocolo Delta Sharing no Databricks

Roadmap

Esta primeira versão do Delta Sharing é apenas o começo. À medida que desenvolvemos o projeto, planejamos estendê-lo para o compartilhamento de outros objetos, como streams, views SQL ou arquivos arbitrários, como modelos de machine learning. Acreditamos que o futuro do compartilhamento de dados é aberto e estamos entusiasmados em trazer essa abordagem para outros fluxos de trabalho de compartilhamento.

Primeiros passos com o Delta Sharing

Para testar a versão open source do Delta Sharing, siga as instruções em delta.io/sharing. Ou, se você for um cliente Databricks, inscreva-se para receber atualizações sobre o nosso serviço. Estamos muito entusiasmados para receber seu feedback!

(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original

Receba os posts mais recentes na sua caixa de entrada

Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.