O que é o Delta Lake?
O Delta Lake é uma camada de armazenamento open-source que traz transações ACID (atomicidade, consistência, isolamento e durabilidade) para o Apache Spark e cargas de trabalho de Big Data.
A versão atual do Delta Lake incluída no Azure Synapse dá suporte às linguagens Scala, PySpark e .NET e é compatível com o Linux Foundation Delta Lake. Há links na parte inferior da página para obter exemplos e documentação mais detalhados. Você pode saber mais no vídeo Introdução às Tabelas Delta.
Recurso | Descrição |
---|---|
Transações ACID | Os data lakes normalmente são preenchidos por vários processos e pipelines, alguns dos quais fazem a gravação de dados simultaneamente com as leituras. Antes do Delta Lake e da adição de transações, os engenheiros de dados tinham que passar por um processo manual propenso a erros para garantir a integridade dos dados. O Delta Lake traz as familiares transações ACID aos data lakes. Ele fornece capacidade de serialização, o nível mais alto de isolamento. Saiba mais em Conhecendo melhor o Delta Lake: desempacotando o log de transações. |
Manipulação de metadados escalonável | No Big Data, até mesmo os metadados podem ser "Big Data". O Delta Lake trata metadados como dados, aproveitando o poder de processamento distribuído do Spark para lidar com todos os seus metadados. Como resultado, o Delta Lake pode lidar com tabelas de escala de petabytes com bilhões de partições e arquivos com facilidade. |
Viagem no tempo (controle de versão de dados) | A capacidade de "desfazer" uma alteração ou voltar para uma versão anterior é um dos principais recursos das transações. O Delta Lake fornece instantâneos de dados, permitindo que você reverta para versões anteriores de dados para fins de auditorias, reversões ou reprodução de experimentos. Saiba mais em Introdução à viagem no tempo do Delta Lake para data lakes de grande escala. |
Formato Aberto | Apache Parquet é o formato de linha de base do Delta Lake, permitindo que você aproveite os eficientes esquemas de compactação e codificação que são nativos do formato. |
Lote Unificado e Fonte e Coletor de Streaming | Uma tabela no Delta Lake é tanto uma tabela de lote quanto um coletor e destino de streaming. A ingestão de dados de streaming, o aterramento histórico de lote e as consultas interativas acabam funcionando imediatamente. |
Imposição do esquema | A imposição do esquema ajuda a garantir que os tipos de dados estejam corretos e que as colunas necessárias estejam presentes, impedindo que dados incorretos causem inconsistência de dados. Para obter mais informações, consulteConhecendo melhor o Delta Lake: imposição do esquema e evolução |
Evolução do esquema | O Delta Lake permite que você faça alterações em um esquema de tabela que pode ser aplicado automaticamente, sem a necessidade de gravar uma DDL de migração. Para obter mais informações, consulteConhecendo melhor o Delta Lake: imposição do esquema e evolução |
Histórico de auditoria | O log de transações do Delta Lake registra detalhes sobre cada alteração feita nos dados, fornecendo uma trilha de auditoria completa das alterações. |
Atualizações e exclusões | O Delta Lake é compatível com as APIs Scala/Java/Python e SQL para diversas funcionalidades. O suporte para operações de mesclagem, atualização e exclusão ajuda a atender aos requisitos de conformidade. Para obter mais informações, consulte Anunciando a versão Delta Lake 0.6.1, Anunciando a versão Delta Lake 0.7 e Execuções de upserts e exclusões simples e confiáveis em tabelas do Delta Lake usando APIs Python, que inclui snippets de código para os comandos DML de mesclagem, atualização e exclusão. |
100% compatível com a API do Apache Spark | Os desenvolvedores podem usar o Delta Lake com os respectivos pipelines de dados existentes com alterações mínimas, pois são totalmente compatíveis com as implementações do Spark existentes. |
Para obter a documentação completa, confira a página de documentação do Delta Lake
Para obter mais informações, confira Projeto do Delta Lake.