O que são todos os recursos Delta do Azure Databricks?

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

Este artigo responde:

  • O que são as tecnologias Delta do Azure Databricks?
  • O que ela faz? Ou para que elas são usadas?
  • Como elas estão relacionadas e como elas são distintas umas das outras?

Para que os recursos Delta são usados?

Delta é um termo introduzido com o Delta Lake, a base para armazenar dados e tabelas no lakehouse do Databricks. O Delta Lake foi concebido como um sistema unificado de gerenciamento de dados para processamento de Big Data transacional em tempo real e em lote, estendendo arquivos de dados Parquet com um log de transações baseado em arquivo para transações ACID e tratamento de metadados escalonáveis.

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

O Delta Lake é uma camada de armazenamento de código aberto que leva confiabilidade aos data lakes adicionando uma camada de armazenamento transacional sobre os dados armazenados no armazenamento em nuvem (no AWS S3, no Armazenamento do Microsoft Azure e no GCS). Ele permite transações ACID, controle de versão de dados e funcionalidades de reversão. Permite ainda que você processe dados em lote e de streaming de maneira unificada.

As tabelas Delta são criadas sobre essa camada de armazenamento e fornecem uma abstração de tabela, facilitando o trabalho com os dados estruturados em larga escala por meio do SQL e da API do DataFrame.

Tabelas Delta: arquitetura da tabela de dados padrão

A tabela Delta é o formato de tabela de dados padrão do Azure Databricks e é um recurso da estrutura de dados de código aberto do Delta Lake. Normalmente, as tabelas Delta são usadas para data lakes, nos quais os dados são ingeridos por streaming ou em lotes grandes.

Consulte:

Delta Live Tables: pipelines de dados

O Delta Live Tables gerencia o fluxo de dados entre várias tabelas Delta, simplificando o trabalho de engenheiros de dados no desenvolvimento e gerenciamento de ETL. O pipeline é a principal unidade de execução do Delta Live Tables. O Delta Live Tables oferece desenvolvimento declarativo de pipeline, confiabilidade de dados aprimorada e operações de produção em escala de nuvem. Os usuários podem executar operações em lote e de streaming na mesma tabela, e os dados ficam imediatamente disponíveis para consulta. Você define as transformações a serem executadas nos 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 erro. O Dimensionamento Automático Avançado do Delta Live Tables pode processar cargas de trabalho de streaming que apresentam picos e são imprevisíveis.

Consulte o Tutorial do Delta Live Tables.

Tabelas Delta vs. Delta Live Tables

A tabela Delta é uma forma de armazenar dados em tabelas, enquanto o Delta Live Tables permite descrever como os dados fluem entre essas tabelas de maneira declarativa. O Delta Live Tables é uma estrutura declarativa que gerencia várias tabelas delta, criando-as e mantendo-as atualizadas. Em resumo, as tabelas Delta são uma arquitetura de tabela de dados, enquanto o Delta Live Tables é uma estrutura de pipeline de dados.

Delta: código aberto ou proprietário?

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

Os projetos do software de código aberto Delta são exemplos:

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

O que são os outros recursos Delta do Azure Databricks?

Veja abaixo as descrições de outros recursos que incluem Delta no nome.

Compartilhamento Delta

Um padrão aberto para o compartilhamento seguro de dados, o Compartilhamento Delta permite o compartilhamento de dados entre organizações, seja qual for a plataforma de computação.

Mecanismo Delta

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

Log de transações do Delta Lake (também conhecido como DeltaLogs)

Uma fonte de verdade unificada que acompanha todas as alterações feitas pelos usuários na tabela e no mecanismo pela qual o Delta Lake garante a atomicidade. Confira o protocolo de log de transações Delta no GitHub.

O log de transações é fundamental para entender o Delta Lake, pois é o elo comum que une muitos dos recursos mais importantes dele:

  • Transações ACID
  • Tratamento de metadados escalonáveis
  • Viagem no tempo
  • E muito mais.