Cloudera ha recentemente annunciato la General Availability di Apache Iceberg nella Cloudera Data Platform (CDP). Nello specifico, sarà possibile eseguire Iceberg all’interno dei principali servizi dati di Cloudera Data Platform (CDP), tra cui Cloudera Data Warehousing (CDW), Cloudera Data Engineering (CDE) e Cloudera Machine Learning (CML). Questi strumenti consentono ad analisti e data scientist di collaborare facilmente sugli stessi dati, scegliendo gli strumenti e i motori analitici che preferiscono, evitando quindi ogni rischio di lock-in ma anche la necessità di dover trasformare i dati o di doverli trasferire tra strumenti e cloud allo scopo di estrarne informazioni.
La scelta di Cloudera nasce dal desiderio dell’azienda di rispondere alle necessità di clienti in termini di gestione e analisi dei dati. Negli ultimi dieci anni, la crescente implementazione di piattaforme di dati su larga scala ha agito come volano per i big data, spingendo le organizzazioni a introdurre un numero di dati ancora maggiore, ad applicare analisi più sofisticate e ad assumere nuovi professionisti specializzati, dagli analisti ai data scientist. Questo livello di carichi di lavoro senza precedenti non è privo di sfide e ha spinto al limite scalabilità e prestazioni. L’esplosione dei dati deve quindi essere affrontata con nuove soluzioni, ed è per questo che Cloudera ha deciso di introdurre un formato di tabella di nuova generazione per dataset analitici su larga scala all’interno di Cloudera Data Platform (CDP).
Apache Iceberg è un nuovo formato di tabella aperta, destinato a insiemi di dati analitici su scala petabyte. È stato progettato e sviluppato come una struttura aperta alla comunità per garantire la compatibilità tra linguaggi e implementazioni. Apache Iceberg è un progetto open source sviluppato dalla Apache Software Foundation, e già aziende come Adobe, Expedia, LinkedIn, Tencent e Netflix hanno dedicato blog alla sua adozione per l’elaborazione dei propri dataset analitici su larga scala. Come formato aperto, Apache Iceberg si adatta perfettamente alla visione di Cloudera Data Platform (CDP): la sua integrazione con la CDP ne porta i vantaggi alle aziende che si avvicinano al cloud pubblico e che adottano sistemi più coordinati, come il data lakehouse.
Il data lakehouse come abilitatore di un business realmente data-driven
Il data lakehouse non è una novità per Cloudera e per i suoi clienti. Ad esempio, IQVIA utilizza Cloudera per riunire più di due petabyte di dati provenienti da 250 data warehouse in tutto il mondo, con sistemi Oracle, IBM Netezza e Teradata, in un data lake globale e multi-tenant su cui eseguire le proprie analisi. IQVIA utilizza il formato di tabella aperta Hive e la piattaforma analitica multi-funzione pre-integrata di Cloudera da oltre cinque anni. Ma l’attuale modello architetturale di data lakehouse non è sufficiente. Le aziende hanno bisogno di una piattaforma che copra l’intero ciclo di vita dei dati e che sia in grado di fornire molteplici casi d’uso di analisi avanzate con offerte complete di dati in movimento e database operativi. Questo è l’open data lakehouse, che solo Cloudera può offrire in una piattaforma di dati ibrida.
Come sottolineato in una nota ufficiale alla stampa da Fabio Pascali, Regional Vice President Italy di Cloudera: «Abbiamo assistito a molte tendenze nel settore del Data Warehousing. Una delle più recenti è la Lakehouse, ovvero il riferimento a un’architettura convergente che combina data warehousing e il data lake. Uno dei principali fattori di accelerazione di questa tipologia di strutture nelle aziende è stato il disaccoppiamento dei sistemi di archiviazione e di elaborazione. Tuttavia, questo deve essere combinato con servizi analitici multifunzione, che vanno dall’analisi di flusso e, in tempo reale, al warehousing e all’apprendimento automatico. In questo senso, una piattaforma in grado di dotare le aziende di una visione di insieme rappresenta un valore realmente inestimabili quando di parla della possibilità di far fruttare al meglio i propri dati».
Per soddisfare l’analisi multifunzionale di grandi insiemi di dati con la flessibilità offerta dalle implementazioni ibride e multi-cloud, Apache Iceberg è stato integrato con CDP al fine di fornire una soluzione unica a prova di futuro per tutti i clienti Cloudera. Integrando e arricchendo con Iceberg i differenti servizi dati di CDP, i clienti possono definire e manipolare i dataset con comandi SQL, costruire pipeline di dati complesse, utilizzando funzionalità come le operazioni di Time Travel e distribuire modelli di machine learning costruiti a partire da tabelle Iceberg. Tramite la gestione unificata e la distribuzione su cloud ibrido e multi-cloud, oltre alle funzionalità enterprise di CDP, come Shared Data Experience (SDX), i clienti possono beneficiare del contributo di Cloudera ad Apache Iceberg nella progettazione del formato di tabella di nuova generazione per dataset analitici su larga scala.
Gli obiettivi principali dell’integrazione con Apache Iceberg
Quando Cloudera ha deciso di integrare Apache Iceberg con CDP, non voleva solo incorporare i vantaggi del nuovo formato di tabella, ma anche espandere le sue capacità per soddisfare le esigenze delle imprese in fase di modernizzazione, tra cui la sicurezza e l’analisi multifunzionale. Per questo motivo hanno fissato i seguenti obiettivi di innovazione che aumenteranno la scalabilità, le prestazioni e la facilità d’uso dei dataset su larga scala in una piattaforma di analisi multifunzione:
- Analisi multifunzione: Iceberg è stato progettato per essere aperto e indipendente, consentendo la condivisione dati. Grazie al contributo di Cloudera, è stato esteso il supporto a Hive e Impala, realizzando la struttura di un’architettura di dati per l’analisi multifunzionale, dai carichi di lavoro dei data engineering (DE) su larga scala alla BI e alle query (all’interno del DW) e al machine learning (ML).
- Pianificazione rapida delle query: La pianificazione delle query è il processo di ricerca dei file in una tabella necessari per una query SQL. In Iceberg, invece di elencare O(n) partizioni in una tabella per la pianificazione delle query, viene eseguito un RPC O(1) per leggere lo snapshot. La pianificazione rapida delle query consente di eseguire un query SQL a bassa latenza e aumentare le prestazioni complessive della stessa.
- Sicurezza unificata: L’integrazione di Iceberg con un livello di sicurezza unificato è fondamentale per qualsiasi azienda. Ecco perché, fin dal primo giorno, è stata garantita la stessa sicurezza e la stessa governance di SDX anche nelle tabelle in Iceberg.
- Separazione tra layout fisico e logico: Iceberg supporta il partizionamento nascosto. Gli utenti non devono sapere come è partizionata la tabella per ottimizzare le prestazioni delle query SQL. Le tabelle Iceberg possono evolvere schemi di partizione nel tempo, in base alle variazioni del volume dei dati. Non sono necessarie ingenti riscritture delle tabelle e in molti casi non è necessario riscrivere nemmeno le query.
- Gestione efficiente dei metadati: A differenza di Hive Metastore (HMS), che deve tenere traccia di tutte le partizioni della tabella Hive, le partizioni Iceberg memorizzano i dati nei file di metadati Iceberg sul file system. In questo modo si elimina il carico dal Metastore e dal suo database di backend.