Ir para o conteúdo principal

Delta Sharing: Um protocolo aberto para o compartilhamento seguro de dados

Delta-Sharing-Social

Published: May 26, 2021

Anúncios8 min de leitura

Atualização: Delta Sharing agora está em disponibilidade geral na AWS e no Azure.

Confira em primeira mão o novo ebook da O'Reilly com a orientação passo a passo que você precisa para começar a usar o Delta Lake.

 

O compartilhamento de dados tornou-se essencial na economia moderna, à medida que as empresas buscam trocar dados de forma segura 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 provedores quanto para consumidores de dados, que naturalmente executam plataformas diferentes.

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

Para entender por que as soluções atuais de compartilhamento de dados criam atrito, considere 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 IT, segurança e compras para implantar o mesmo produto de data warehouse em sua empresa, um processo que pode levar meses. Além disso, assim que o warehouse for implantado, 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 de dezenas de outros sistemas que implementam o protocolo aberto, sem precisar implantar uma plataforma específica primeiro. Isso reduz o tempo de acesso de meses para minutos e diminui muito 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 do produto dos principais fornecedores de cloud, BI e dados:

 Ecossistema 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 facilitar o uso por provedores e consumidores com seus dados e fluxos de trabalho existentes. Nós o projetamos com quatro objetivos em mente:

  • Compartilhe dados em tempo real diretamente, sem copiá-los: queremos facilitar o compartilhamento de dados existentes em tempo real. Hoje, a maioria dos dados corporativos é 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 dataset existente nos formatos Delta Lake ou Apache Parquet.
  • Suporte a uma ampla variedade de clientes: Os destinatários devem poder consumir dados diretamente de suas ferramentas de preferência, sem instalar uma nova plataforma. O protocolo Delta Sharing foi projetado para ser facilmente suportado diretamente pelas ferramentas. Ele é baseado em Parquet, que a maioria das ferramentas já suporta, portanto, implementar um conector para ele é fácil.
  • Segurança, auditoria e governança robustas: O protocolo foi projetado para ajudar você a atender aos requisitos de privacidade e compliance. O Delta Sharing permite que você conceda, rastreie e audite o acesso a dados compartilhados a partir de um único ponto de aplicação.
  • Escala para datasets massivos: O compartilhamento de dados precisa, cada vez mais, suportar datasets na escala de terabytes, como dados industriais ou financeiros detalhados, um desafio para as soluções legadas. O Delta Sharing aproveita o custo e a elasticidade dos sistemas de armazenamento em nuvem para compartilhar datasets massivos de forma econômica e confiável.

Como o Delta Sharing funciona?

O Delta Sharing é um protocolo REST simples que compartilha com segurança o acesso a parte de um dataset na cloud. Utiliza sistemas modernos de armazenamento em nuvem, como S3, ADLS ou GCS, para transferir grandes datasets de forma 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 de partições específicas) armazenadas em seu data lake na nuvem no formato Delta Lake. Uma tabela do Delta Lake é essencialmente um conjunto de arquivos Parquet, e é fácil encapsular tabelas Parquet existentes no Delta Lake, se necessário. O provedor de dados decide quais dados deseja compartilhar e executa um servidor de compartilhamento que implementa o protocolo Delta Sharing e gerencia o acesso para os destinatários. Disponibilizamos como código aberto um servidor de compartilhamento de referência; e fornecemos um hospedado no Databricks, assim como imaginamos que outros fornecedores farão.

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

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

  1. O cliente do destinatário se autentica no servidor de compartilhamento (por meio de um token de portador ou outro método) e solicita a query de uma tabela específica. O cliente também pode fornecer filtros nos 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, em seguida, determina quais dados enviar de volta. Isso 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 que o cliente leia esses arquivos Parquet diretamente do provedor de cloud, para que a transferência possa ocorrer em paralelo com uma largura de banda massiva, sem transmissão pelo servidor de compartilhamento. Este recurso poderoso, disponível em todas as principais clouds, torna o compartilhamento de datasets muito grandes rápido, barato 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 compartilhar facilmente uma tabela inteira, ou apenas uma versão ou partição da tabela, porque os clientes recebem acesso apenas a um subconjunto específico dos objetos 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 consistente view.
  • Os destinatários de dados não precisam estar na mesma plataforma que o provedor, ou sequer na cloud — o compartilhamento funciona entre clouds e até mesmo da cloud para usuários on-premise.
  • O protocolo Delta Sharing é muito fácil para os clientes implementarem se eles já entendem o Parquet. A maioria das nossas implementações de protótipo com mecanismos de código aberto e ferramentas de BI levou apenas de 1 a 2 semanas para ser desenvolvida.
  • A transferência é rápida, barata, confiável e paralelizável usando o sistema de cloud subjacente.

Um ecossistema aberto

Como mencionado anteriormente, estamos animados em estabelecer uma abordagem aberta para o compartilhamento de dados. Os fornecedores de dados, como a Nasdaq, nos disseram de forma unânime que é muito difícil entregar dados a consumidores diversos, já que todos usam diferentes ferramentas de analítica.

"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 pacote de dados da Nasdaq para descobrir percepções 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 Delta Sharing e convidamos você a participar.
Muitas dessas empresas estenderam seu suporte para o lançamento de hoje:

Ferramentas de BI: Tableau, Qlik, Power BI, Looker
Analítica: 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 da Databricks terão uma integração nativa do Delta Sharing em nosso Unity Catalog, proporcionando uma experiência simplificada para o compartilhamento de dados tanto dentro 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 em nossa lista de espera para ter acesso à prévia e receber atualizações.

Roteiro

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 transmissões, views SQL ou arquivos arbitrários como modelos do machine learning. Acreditamos que o futuro do compartilhamento de dados é aberto e estamos entusiasmados em levar essa abordagem para outros fluxos de trabalho de compartilhamento.

Começando com o Delta Sharing

Para experimentar a versão de código aberto do Delta Sharing, siga as instruções em delta.io/sharing. Ou, se você for um cliente da Databricks, inscreva-se para receber atualizações sobre nosso serviço. Estamos muito animados para ouvir seu feedback!

Nunca perca uma postagem da Databricks

Inscreva-se nas categorias de seu interesse e receba as últimas postagens na sua caixa de entrada

O que vem a seguir?

Introducing AI/BI: Intelligent Analytics for Real-World Data

Produto

June 12, 2024/11 min de leitura

Apresentando o AI/BI: analítica inteligente para dados do mundo real

Five Simple Steps for Implementing a Star Schema in Databricks With Delta Lake

Produto

September 12, 2024/8 min de leitura

Cinco etapas simples para implementar um esquema de estrela na Databricks com Delta Lake