Che cos'è Delta Lake?
Scorri per mostrare il menu
Delta Lake è uno strato di storage open-source che garantisce affidabilità ai data lake. Fornisce transazioni ACID, gestione scalabile dei metadati e unifica l'elaborazione dei dati in streaming e batch. In Databricks, Delta è il formato predefinito per tutte le tabelle.
Se i file tradizionali rappresentano il problema, Delta Lake è la soluzione. Quando salvi i dati dei diamanti come una tabella Delta in workspace.workshop.diamonds, non è più semplicemente un file su disco — diventa una tabella "intelligente".
Delta Lake funziona combinando i file di dati standard (Parquet) con un Transaction Log nascosto.
1. Transazioni ACID
Questo è il fulcro dell'affidabilità di Delta. ACID significa Atomicità, Consistenza, Isolamento e Durabilità.
In parole semplici: Le operazioni sui dati sono "tutto o niente". Se stai aggiornando 50.000 righe nella tabella diamonds e il cluster si interrompe alla riga 49.999, Delta annulla l'intera modifica. Non ti troverai mai con una tabella scritta a metà o corrotta.
2. Il Transaction Log (Il "Cervello")
Ogni volta che aggiungi, elimini o modifichi dati nella tua tabella diamonds, Delta registra quell'azione in un registro centrale chiamato Delta Log.
Quando esegui una query, Databricks non esegue semplicemente la scansione di ogni file nella cartella — controlla prima il Log per vedere quali file sono validi e rilevanti. Questo rende la ricerca tra milioni di righe estremamente veloce.
3. Applicazione ed Evoluzione dello Schema
Delta Lake agisce come un guardiano — sia rigoroso che flessibile quando necessario.
- Applicazione: se provi a inserire un record di diamond dove "Price" è una stringa invece di un numero, Delta rifiuterà la scrittura e genererà un errore. Questo mantiene i dati puliti;
- Evoluzione: se hai effettivamente bisogno di aggiungere una nuova colonna (come "Store_Location"), Delta ti permette di evolvere lo schema in modo sicuro senza dover riscrivere l'intero dataset storico.
4. Versionamento e Time Travel
Poiché ogni modifica viene registrata nel Transaction Log, Delta Lake ricorda come appariva la tua tabella in ogni momento della sua storia.
Questo si chiama Time Travel. Se elimini accidentalmente dei dati da workspace.workshop.diamonds, puoi semplicemente dire a Databricks di "visualizzare la tabella come esisteva 10 minuti fa" e ripristinare le parti mancanti.
5. Standard aperti
Anche se Databricks ha creato Delta Lake, si tratta di un formato open-source. Questo significa che i tuoi dati non sono "bloccati" su un fornitore specifico: ottieni le prestazioni di un database di fascia alta con la flessibilità dello storage cloud open-source.
1. Cosa fa il "Transaction Log" in Delta Lake?
2. Cosa succede se un'operazione di "Write" su una tabella Delta fallisce a metà?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione