O que é o Delta Lake?

O Delta Lake é uma camada de armazenamento de código aberto que traz transações ACID (atomicidade, consistência, isolamento e durabilidade) para cargas de trabalho do Apache Spark e de big data.

A versão atual do Delta Lake incluída no Azure Synapse tem suporte a idiomas para Scala, PySpark e .NET e é compatível com o Linux Foundation Delta Lake. Há links na parte inferior da página para exemplos mais detalhados e documentação. Você pode aprender mais no vídeo Introdução às Tabelas Delta.

Funcionalidades principais

Funcionalidade Description
Transações ACID Os data lakes normalmente são preenchidos por meio de vários processos e pipelines, alguns dos quais gravam dados simultaneamente com 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 transações ACID familiares para data lakes. Ele fornece serializabilidade, o nível mais forte de nível de isolamento. Saiba mais em Mergulhando no Delta Lake: Descompactando o log de transações.
Tratamento escalável de metadados Em big data, até mesmo os próprios metadados podem ser "big data". O Delta Lake trata os 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 em escala de petabytes com bilhões de partições e arquivos à vontade.
Viagem no tempo (versionamento de dados) A capacidade de "desfazer" uma alteração ou voltar a uma versão anterior é uma das principais características das transações. O Delta Lake fornece instantâneos de dados, permitindo que você reverta para versões anteriores de dados para auditorias, reversões ou reprodução de experimentos. Saiba mais em Introducing Delta Lake Time Travel for Large Scale Data Lakes.
Formato aberto O Apache Parquet é o formato de linha de base para Delta Lake, que lhe permite tirar partido dos esquemas eficientes de compressão e codificação nativos do formato.
Lote unificado e fonte de streaming e coletor Uma tabela no Delta Lake é tanto uma tabela de lotes, quanto uma fonte de streaming e um coletor. A ingestão de dados de streaming, o backfill histórico de lotes e as consultas interativas funcionam prontamente.
Aplicação do esquema A imposição de esquema ajuda a garantir que os tipos de dados estejam corretos e que as colunas necessárias estejam presentes, evitando que dados incorretos causem inconsistência de dados. Para obter mais informações, consulte Mergulhando no Delta Lake: Schema Enforcement & Evolution
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 ter que escrever DDL de migração. Para obter mais informações, consulte Mergulhando no Delta Lake: Schema Enforcement & Evolution
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 Delta Lake suporta APIs Scala / Java / Python e SQL para uma variedade de funcionalidades. O suporte para operações de mesclagem, atualização e exclusão ajuda você 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 Atualizações e exclusões simples e confiáveis em tabelas Delta Lake usando APIs Python, que inclui trechos de código para mesclar, atualizar e excluir comandos DML.
100% compatível com Apache Spark API Os desenvolvedores podem usar o Delta Lake com seus pipelines de dados existentes com alterações mínimas, pois é totalmente compatível com as implementações existentes do Spark.

Para obter a documentação completa, consulte a página de documentação do Delta Lake

Para obter mais informações, consulte Projeto Delta Lake.

Próximos passos