Introduzione ad Apache Iceberg.  Esplorando Apache Iceberg… |  di Pier Paolo Ippolito |  Febbraio 2024

 | Intelligenza-Artificiale

Grazie all'avvento dei Data Lakes facilmente accessibili tramite provider cloud come GCP, Azure e AWS, è stato possibile per sempre più organizzazioni archiviare a basso costo i propri dati non strutturati. Sebbene i Data Lake presentino molte limitazioni come:

  • Possono verificarsi letture incoerenti quando si combinano batch e streaming o si aggiungono nuovi dati.
  • La modifica dettagliata dei dati esistenti può diventare complessa (ad esempio per soddisfare i requisiti GDPR)
  • Degrado delle prestazioni durante la gestione di milioni di file di piccole dimensioni.
  • Nessun supporto per transazioni ACID (Atomicità, Coerenza, Isolamento, Durabilità).
  • Nessuna imposizione/evoluzione dello schema.

Per cercare di alleviare questi problemi, Apache Iceberg è stato ideato da Nextflix nel 2017. Apache Iceberg è un formato di tabella in grado di fornire un ulteriore livello di astrazione per supportare transazioni ACID, viaggi nel tempo, ecc. mentre si lavora con vari tipi di origini dati e carichi di lavoro. L'obiettivo principale di un formato tabella è definire un protocollo su come gestire e organizzare al meglio tutti i file che compongono una tabella. Oltre ad Apache Iceberg, altri formati di tabelle aperte attualmente popolari sono Hudi e Delta Lake.

Ad esempio, Apache Iceberg e Delta Lake hanno per lo più le stesse caratteristiche sebbene, ad esempio, Iceberg possa supportare anche altri formati di file come ORC e ​​Avro. Delta Lake, invece, è attualmente fortemente supportato da Databricks e dalla comunità open source ed è in grado di fornire una maggiore varietà di API (Figura 1).

Figura 1: Apache Iceberg vs Delta Lake (immagine dell'autore).

Nel corso degli anni, Apache Iceberg è stato open source di Nexflix e molte altre aziende come SnowFlake e Dremio hanno deciso di investire nel progetto.

Ogni tabella Apache Iceberg segue un'architettura a 3 livelli:

  • Catalogo dell'iceberg
  • Livello metadati (con file di metadati, elenchi manifest e file manifest)

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *