Perché Delta Lake?

Delta Lake è un livello di archiviazione open source che porta transazioni ACID (atomicità, coerenza, isolamento e durabilità) a carichi di lavoro Apache Spark e Big Data.

La versione corrente di Delta Lake inclusa in Azure Synapse include il supporto del linguaggio per Scala, PySpark e .NET ed è compatibile con Linux Foundation Delta Lake. Nella parte inferiore della pagina sono disponibili collegamenti ad esempi e documentazione più dettagliati. Per altre informazioni, vedere il video Introduzione alle tabelle delta.

Funzionalità chiave

Funzionalità Descrizione
Transazioni ACID I data lake vengono in genere popolati tramite più processi e pipeline, alcuni dei quali scrivono i dati contemporaneamente alle letture. Prima di Delta Lake e l'aggiunta di transazioni, i data engineer dovevano eseguire un processo manuale soggetto a errori per garantire l'integrità dei dati. Delta Lake porta transazioni ACID familiari ai data lake. Fornisce la serializzabilità, il livello di isolamento più elevato. Per altre informazioni, vedere Immersioni in Delta Lake: decomprimere il log delle transazioni.
Gestione scalabile dei metadati In Big Data, anche i metadati stessi possono essere "Big Data". Delta Lake gestisce i metadati esattamente come i dati, sfruttando la potenza di elaborazione distribuita di Spark per gestire tutti i metadati. Di conseguenza, Delta Lake può gestire facilmente tabelle a livello di petabyte con miliardi di partizioni e file.
Tempo di spostamento (controllo delle versioni dei dati) La possibilità di "annullare" una modifica o tornare a una versione precedente è una delle funzionalità principali delle transazioni. Delta Lake fornisce snapshot dei dati che consentono di ripristinare versioni precedenti dei dati per controlli, rollback o riprodurre esperimenti. Per altre informazioni, vedere Introduzione a Delta Lake Time Travel per data lake su larga scala.
Apri formato Apache Parquet è il formato di base per Delta Lake, che consente di sfruttare gli efficienti schemi di compressione e codifica nativi del formato.
Origine e sink di streaming e batch unificati Una tabella in Delta Lake è sia una tabella batch che un'origine di streaming e un sink. L'inserimento dei dati in streaming, il back-fill cronologico in batch e le query interattive funzionano in modo automatico.
Imposizione dello schema L'applicazione dello schema consente di garantire che i tipi di dati siano corretti e le colonne necessarie siano presenti, impedendo che i dati non corretti causino incoerenze dei dati. Per altre informazioni, vedere Immersione in Delta Lake: Applicazione dello schema ed evoluzione
Evoluzione dello schema Delta Lake consente di apportare modifiche a uno schema di tabella che può essere applicato automaticamente, senza dover scrivere DDL di migrazione. Per altre informazioni, vedere Immersione in Delta Lake: Applicazione dello schema ed evoluzione
Cronologia controllo Il log delle transazioni Delta Lake registra informazioni dettagliate su ogni modifica apportata ai dati fornendo un audit trail completo delle modifiche.
Aggiornamenti ed eliminazioni Delta Lake supporta le API Scala/Java/Python e SQL per un'ampia gamma di funzionalità. Il supporto per operazioni di merge, aggiornamento ed eliminazione consente di soddisfare i requisiti di conformità. Per altre informazioni, vedere Annuncio della versione delta Lake 0.6.1, annuncio della versione delta Lake 0.7 e delle eliminazioni semplici, Reliable Upserts ed eliminazioni in tabelle Delta Lake usando le API Python, che includono frammenti di codice per i comandi DML di merge, aggiornamento ed eliminazione.
100% compatibile con l'API Apache Spark Gli sviluppatori possono usare Delta Lake con le pipeline di dati esistenti con modifiche minime perché sono completamente compatibili con le implementazioni di Spark esistenti.

Per la documentazione completa, vedere la pagina della documentazione di Delta Lake.

Per altre informazioni, vedere il progetto Delta Lake.

Passaggi successivi