Quais são todas as coisas Delta no Azure Databricks?

Este artigo é uma introdução às tecnologias com a marca Delta no Azure Databricks. Delta refere-se a tecnologias relacionadas ou no projeto de código aberto Delta Lake.

Este artigo responde:

  • Quais são as tecnologias Delta no Azure Databricks?
  • O que é que fazem? Ou para que são utilizados?
  • Como se relacionam e se distinguem entre si?

Para que servem as coisas Delta?

Delta é um termo introduzido com Delta Lake, a base para armazenar dados e tabelas no lago Databricks. O Delta Lake foi concebido como um sistema unificado de gerenciamento de dados para lidar com big data transacional em tempo real e em lote, estendendo os arquivos de dados do Parquet com um log de transações baseado em arquivo para transações ACID e tratamento escalável de metadados.

Delta Lake: gerenciamento de dados do sistema operacional para o lakehouse

O Delta Lake é uma camada de armazenamento de código aberto que traz confiabilidade aos data lakes adicionando uma camada de armazenamento transacional aos dados armazenados no armazenamento em nuvem (no AWS S3, Azure Storage e GCS). Ele permite transações ACID, versionamento de dados e recursos de reversão. Ele permite que você manipule dados em lote e streaming de forma unificada.

As tabelas delta são construídas sobre essa camada de armazenamento e fornecem uma abstração de tabela, facilitando o trabalho com dados estruturados em grande escala usando SQL e a API DataFrame.

Tabelas delta: arquitetura de tabela de dados padrão

A tabela delta é o formato de tabela de dados padrão no Azure Databricks e é um recurso da estrutura de dados de código aberto Delta Lake. As tabelas delta são normalmente usadas para data lakes, onde os dados são ingeridos via streaming ou em grandes lotes.

Veja:

Delta Live Tables: Pipelines de dados

As Delta Live Tables gerenciam o fluxo de dados entre muitas tabelas Delta, simplificando assim o trabalho dos engenheiros de dados no desenvolvimento e gerenciamento de ETL. O pipeline é a principal unidade de execução para Delta Live Tables. O Delta Live Tables oferece desenvolvimento declarativo de pipeline, maior confiabilidade de dados e operações de produção em escala de nuvem. Os usuários podem executar operações em lote e streaming na mesma tabela e os dados ficam imediatamente disponíveis para consulta. Você define as transformações a serem executadas em seus dados e o Delta Live Tables gerencia a orquestração de tarefas, o gerenciamento de clusters, o monitoramento, a qualidade dos dados e o tratamento de erros. O dimensionamento automático aprimorado do Delta Live Tables pode lidar com cargas de trabalho de streaming que são espinhosas e imprevisíveis.

Consulte o tutorial Delta Live Tables.

Tabelas Delta vs. Tabelas Delta Live

A tabela delta é uma maneira de armazenar dados em tabelas, enquanto as tabelas dinâmicas delta permitem descrever como os dados fluem entre essas tabelas declarativamente. Delta Live Tables é uma estrutura declarativa que gerencia muitas tabelas delta, criando-as e mantendo-as atualizadas. Em resumo, as tabelas Delta são uma arquitetura de tabela de dados, enquanto as Delta Live Tables são uma estrutura de pipeline de dados.

Delta: Código aberto ou proprietário?

Um ponto forte da plataforma Azure Databricks é que ela não prende os clientes a ferramentas proprietárias: grande parte da tecnologia é alimentada por projetos de código aberto, para os quais o Azure Databricks contribui.

Os projetos Delta OSS são exemplos:

  • Projeto Delta Lake: Armazenamento de código aberto para uma casa no lago.
  • Protocolo Delta Sharing: protocolo aberto para compartilhamento seguro de dados.

Delta Live Tables é uma estrutura proprietária no Azure Databricks.

Quais são as outras coisas Delta no Azure Databricks?

Abaixo estão descrições de outros recursos que incluem Delta em seu nome.

Compartilhamento Delta

Um padrão aberto para compartilhamento seguro de dados, o Delta Sharing permite o compartilhamento de dados entre organizações, independentemente de sua plataforma de computação.

Motor Delta

Um otimizador de consulta para big data que usa a tecnologia de código aberto Delta Lake incluída no Databricks. O mecanismo Delta otimiza o desempenho das operações Spark SQL, Databricks SQL e DataFrame enviando a computação para os dados.

Log de transações do Delta Lake (AKA DeltaLogs)

Uma única fonte de verdade rastreando todas as alterações que os usuários fazem na tabela e o mecanismo através do qual o Delta Lake garante a atomicidade. Consulte o protocolo de log de transações Delta no GitHub.

O log de transações é fundamental para entender o Delta Lake, porque é o fio condutor que percorre muitos de seus recursos mais importantes:

  • Transações ACID
  • Tratamento escalável de metadados
  • Viagem no tempo
  • E mais.