
Che cosa sono le Apache Iceberg Tables?
I formati tabellari che supportano le transazioni ACID, come Apache Iceberg, contribuiscono a fare delle strategie di data lake e data mesh una soluzione veloce ed efficace per interrogare i dati su vasta scala.
- Presentazione
- In che modo i formati tabellari semplificano i data lake
- Che cos’è Apache Iceberg?
- I vantaggi di Apache Iceberg
- Risorse
Presentazione
I formati tabellari che supportano le transazioni ACID, come Apache Iceberg, contribuiscono a fare delle strategie di data lake e data mesh una soluzione veloce ed efficace per interrogare i dati su vasta scala. La scelta del giusto formato tabellare consente alle organizzazioni di sfruttare tutto il potenziale dei propri dati, offrendo prestazioni, interoperabilità e facilità d’uso. Il formato tabellare Iceberg è unico tra le alternative open source perché fornisce indipendenza dal motore e dal formato di file e nasce da un progetto open source trasparente e altamente collaborativo. Qui esploreremo i vantaggi della scelta di un formato tabellare open per analizzare data set di grandi dimensioni e vedremo perché Iceberg è diventato rapidamente uno dei formati tabellari open source più diffusi.
In che modo i formati tabellari semplificano i data lake
I data lake sono ideali per archiviare enormi quantità di dati strutturati, semi‑strutturati e non strutturati nei rispettivi formati di file nativi. Offrono alle organizzazioni un metodo completo per esplorare, perfezionare e analizzare petabyte di informazioni provenienti senza sosta da più fonti di dati.
Tuttavia, i singoli file in un data lake non contengono tutte le informazioni necessarie ai motori di query e ad altre applicazioni per eseguire in modo efficace operazioni di gestione dei dati come pruning, Time Travel, evoluzione dello schema e altro ancora, che quindi risultano difficili e richiedono molto tempo. I formati tabellari risolvono questi problemi fornendo metadati che abilitano funzionalità simili a quelle offerte dalle tabelle SQL in un classico database relazionale. Definiscono esplicitamente una tabella, il suo schema, la sua cronologia e ogni file che compone la tabella. Inoltre, i formati tabellari come Iceberg supportano la conformità ACID, consentendo a più applicazioni di operare simultaneamente sugli stessi dati in modo sicuro.
Che cos’è Apache Iceberg?
Iceberg è un formato tabellare open source originariamente sviluppato da Netflix per risolvere alcune sfide incontrate nell’ambito del progetto Hive Hadoop di Apache. Dopo lo sviluppo iniziale nel 2018, Netflix ha donato Iceberg alla Apache Software Foundation come progetto completamente open source e gestito dalla community. Iceberg corregge molti dei difetti del suo predecessore ed è diventato rapidamente uno dei formati tabellari open source più diffusi.
I vantaggi di Apache Iceberg
Il formato tabellare Iceberg offre molte caratteristiche utili a potenziare l’architettura del tuo data lake.
- Expressive SQL. Iceberg supporta pienamente i comandi SQL flessibili. Questo consente di svolgere attività come l’aggiornamento di righe esistenti, il merge di nuovi dati e le eliminazioni mirate. Iceberg può essere utilizzato per riscrivere i file di dati in modo da migliorare le prestazioni di lettura e utilizzare i file “delete delta” per velocizzare gli aggiornamenti.
- Evoluzione dello schema. Iceberg fornisce pieno supporto per l’evoluzione dello schema. Gli aggiornamenti dello schema nelle Iceberg Tables modificano solo i metadati, lasciando invariati i file di dati veri e propri. Le modifiche di evoluzione dello schema includono aggiunte, drop, modifiche del nome, modifiche dell’ordine e promozioni del tipo.
- Evoluzione della partizione. Il partizionamento suddivide le tabelle di grandi dimensioni in tabelle più piccole raggruppando le righe simili, in modo da accelerare i tempi di lettura e caricamento per le query che devono accedere solo a una parte dei dati. La specifica di una partizione può evolversi senza modificare i dati esistenti che sono stati scritti con una specifica precedente. I metadati associati a ogni versione della partizione vengono memorizzati separatamente.
- Time Travel e rollback. La funzionalità Time Travel di Iceberg consente di eseguire query riproducibili sullo stesso snapshot della tabella e di ispezionare le modifiche precedenti. Questa funzione di rollback consente agli utenti di intervenire facilmente in caso di errori ripristinando le tabelle allo stato precedente.
- Coerenza delle transazioni. I dati archiviati in un data lake o in un data mesh sono disponibili simultaneamente per più applicazioni indipendenti in tutta l’organizzazione. Questo è un vantaggio significativo, ma può comportare notevoli rischi, soprattutto se più utenti modificano contemporaneamente gli stessi dati. Tuttavia, Iceberg supporta le transazioni ACID su vasta scala, consentendo a più utenti concorrenti di lavorare allo stesso tempo in modalità di scrittura. Il supporto per ACID aiuta a evitare che le modifiche in scrittura parziali o non confermate influiscano sulla versione accessibile in lettura. Quando una modifica in scrittura viene confermata, Iceberg crea una nuova versione immutabile dei file di dati e dei metadati della tabella.
- Query più veloci. Il formato Iceberg è progettato per essere utilizzato con enormi data set analitici. Offre molteplici funzionalità progettate per migliorare la velocità e l’efficienza della query, tra cui la pianificazione con scansione rapida, il pruning dei file di metadati superflui e la possibilità di filtrare i file che non contengono dati corrispondenti.
- Vibrante community di esperti di Apache ORC e collaboratori attivi. Iceberg è uno dei progetti di punta della Apache Software Foundation. Il supporto per più motori di elaborazione e formati di file, tra cui Apache Parquet, Apache Avro e Apache ORC, ha attirato un gruppo diversificato di utenti commerciali di talento desiderosi di contribuire al suo successo.