Passa al contenuto principale

Che cos'è una lakehouse?

Negli ultimi anni in Databricks abbiamo visto emergere una nuova architettura di gestione dei dati, sviluppatasi in modo indipendente per numerosi clienti e casi d'uso: la lakehouse. In questo post descriviamo questa nuova architettura e i suoi vantaggi rispetto agli approcci precedenti.

I data warehouse hanno una lunga storia nel supporto decisionale e nelle applicazioni di business intelligence. Sin dalla sua nascita alla fine degli anni '80, la tecnologia dei data warehouse ha continuato a evolversi e le architetture MPP hanno portato a sistemi in grado di gestire volumi di dati più grandi. Ma se i warehouse erano ottimi per i dati strutturati, molte aziende moderne devono fare i conti con dati non strutturati, semi-strutturati e dati con grande varietà, velocità e volume. I data warehouse non sono adatti a molti di questi casi d'uso e non sono certamente i più efficienti in termini di costi.

Quando le aziende hanno iniziato a raccogliere grandi quantità di dati da molte fonti diverse, gli architetti hanno iniziato a concepire un unico sistema per ospitare i dati per molti prodotti e carichi di lavoro di analisi diversi. Circa un decennio fa le aziende hanno iniziato a creare i data lake, repository di dati grezzi in vari formati. Pur essendo adatti all'archiviazione dei dati, i data lake mancano di alcune funzionalità critiche: non supportano le transazioni, non garantiscono la qualità dei dati e la loro mancanza di coerenza/isolamento rende quasi impossibile combinare accodamenti e letture, nonché job batch e di streaming. Per questi motivi, molte delle promesse dei data lake non si sono concretizzate e, in molti casi, ciò ha portato alla perdita di molti dei vantaggi dei data warehouse.

La necessità di un sistema flessibile e ad alte prestazioni non è diminuita. Le aziende richiedono sistemi per diverse applicazioni di dati, tra cui analitiche SQL, monitoraggio in tempo reale, Data Science e machine learning. La maggior parte dei recenti progressi nell'AI ha riguardato modelli migliori per elaborare dati non strutturati (testo, immagini, video, audio), ma questi sono esattamente i tipi di dati per i quali un data warehouse non è ottimizzato. Un approccio comune consiste nell'utilizzare più sistemi: un data lake, diversi data warehouse e altri sistemi specializzati come database di streaming, di serie temporali, di grafi e di immagini. La presenza di una molteplicità di sistemi introduce complessità e, cosa più importante, ritardi, poiché i professionisti dei dati devono inevitabilmente spostare o copiare i dati tra sistemi diversi.

Che cos'è una lakehouse?

Stanno emergendo nuovi sistemi che ovviano ai limiti dei data lake. Una lakehouse è una nuova architettura aperta che unisce gli elementi migliori di data lake e data warehouse. Le lakehouse sono rese possibili da una nuova progettazione di sistema, che implementa strutture di dati e funzionalità di gestione dei dati simili a quelle di un data warehouse direttamente su uno storage cloud a basso costo in formati aperti. Sono ciò che si otterrebbe se si dovessero riprogettare i data warehouse nel mondo moderno, ora che è disponibile uno storage economico e altamente affidabile (sotto forma di object store).

Una lakehouse presenta le seguenti caratteristiche principali:

  • Supporto per le transazioni: in una lakehouse aziendale, più pipeline di dati si troveranno spesso a leggere e scrivere dati contemporaneamente. Il supporto per le transazioni ACID garantisce la coerenza quando più parti leggono o scrivono dati contemporaneamente, solitamente utilizzando SQL.
  • applicazione di uno schema e governance: Il Lakehouse dovrebbe avere un modo per supportare l'applicazione e l'evoluzione dello schema, supportando le architetture di schema DW come gli schemi a stella/fiocco di neve. Il sistema dovrebbe essere in grado di verificare l'integrità dei dati e disporre di solidi meccanismi di governance e auditing.
  • Supporto BI: i lakehouse consentono di utilizzare gli strumenti di BI direttamente sui dati di origine. Questo riduce l'obsolescenza e migliora l'attualità dei dati, diminuisce la latenza e abbassa i costi di gestione di due copie dei dati, sia in un data lake che in un warehouse.
  • Lo storage è disaccoppiato dal compute: in pratica, ciò significa che lo storage e il compute utilizzano clusters separati, pertanto questi sistemi sono in grado di scalare per un numero molto più elevato di utenti simultanei e dimensioni di dati maggiori. Anche alcuni data warehouse moderni possiedono questa proprietà.
  • Apertura: i formati di archiviazione utilizzati sono aperti e standardizzati, come Parquet, e forniscono un'API in modo che una varietà di strumenti e motori, tra cui librerie di machine learning e Python/R, possano accedere ai dati in modo efficiente direttamente.
  • Supporto per diversi tipi di dati, che vanno da quelli non strutturati a quelli strutturati: la lakehouse può essere usata per archiviare, rifinire, analizzare e accedere ai tipi di dati necessari per molte nuove applicazioni di dati, tra cui immagini, video, audio, dati semi-strutturati e testo.
  • Supporto per carichi di lavoro diversificati: tra cui data science, machine learning, SQL e analitiche. Potrebbero essere necessari più strumenti per supportare tutti questi carichi di lavoro, ma si basano tutti sullo stesso repository di dati.
  • Streaming end-to-end: i report in tempo reale sono la norma in molte aziende. Il supporto per lo streaming elimina la necessità di sistemi separati dedicati a servire applicazioni di dati in tempo reale.

Questi sono gli attributi chiave dei lakehouse. I sistemi di livello enterprise richiedono funzionalità aggiuntive. Gli strumenti per la sicurezza e il controllo degli accessi sono requisiti di base. Le funzionalità di governance dei dati, tra cui auditing, conservazione e lineage, sono diventate essenziali, in particolare alla luce delle recenti normative sulla privacy. Sono necessari anche strumenti che consentono l'individuazione dei dati, come i Data Catalog e le metriche di utilizzo dei dati. Con un lakehouse, tali funzionalità aziendali devono solo essere implementate, testate e amministrate per un unico sistema.

Leggi il documento di ricerca completo sul funzionamento interno della Lakehouse.

Alcuni esempi iniziali

La Databricks Lakehouse Platform ha le caratteristiche architetturali di un lakehouse. Il servizio Azure Synapse Analytics di Microsoft, che si integra con Azure Databricks, consente un pattern lakehouse simile. Altri servizi gestiti come BigQuery e Redshift Spectrum dispongono di alcune delle funzionalità di lakehouse sopra elencate, ma sono esempi che si concentrano principalmente su applicazioni BI e altre applicazioni SQL. Le aziende che desiderano creare e implementare i propri sistemi hanno accesso a formati di file open source (Delta Lake, Apache Iceberg, Apache Hudi) adatti a creare un lakehouse.

L'unione di data lake e data warehouse in un unico sistema consente ai data team di muoversi più velocemente, poiché possono utilizzare i dati senza dover accedere a più sistemi. Il livello di supporto SQL e di integrazione con gli strumenti di BI in questi primi lakehouse è generalmente sufficiente per la maggior parte dei data warehouse aziendali. Le viste materializzate e le procedure memorizzate sono disponibili, ma gli utenti potrebbero dover impiegare altri meccanismi non equivalenti a quelli presenti nei data warehouse tradizionali. Quest'ultimo aspetto è particolarmente importante per gli "scenari lift and shift", che richiedono sistemi con una semantica quasi identica a quella dei data warehouse commerciali più vecchi.

E per quanto riguarda il supporto per altri tipi di applicazioni di dati? Gli utenti di una lakehouse hanno accesso a una varietà di strumenti standard (Spark, Python, R, librerie di machine learning (MLlib)) per carichi di lavoro non BI come Data Science e machine learning. L'esplorazione e l'affinamento dei dati sono procedure standard per molte applicazioni di analisi e data science. Delta Lake è progettato per consentire agli utenti di migliorare in modo incrementale la qualità dei dati nella loro lakehouse fino a quando non sono pronti per l'utilizzo.

Una nota sui blocchi costitutivi tecnici. Mentre i file system distribuiti possono essere utilizzati per il livello di archiviazione, gli object store sono più comunemente utilizzati nei lakehouse. Gli object store forniscono uno spazio di archiviazione a basso costo e ad alta disponibilità, che eccelle nelle letture massivamente parallele: un requisito essenziale per i moderni data warehouse.

Da BI a AI

La lakehouse è una nuova architettura di gestione dei dati che semplifica radicalmente l'infrastruttura dati aziendale e accelera l'innovazione in un'era in cui il machine learning è destinato a rivoluzionare ogni settore. In passato, la maggior parte dei dati utilizzati nei prodotti o nei processi decisionali di un'azienda erano dati strutturati provenienti da sistemi operativi, mentre oggi molti prodotti incorporano l'AI sotto forma di computer vision, modelli vocali, text mining e altro. Perché utilizzare una lakehouse invece di un data lake per l'IA? Una lakehouse offre controllo delle versioni dei dati, governance, sicurezza e le proprietà ACID necessarie anche per i dati non strutturati.

I lakehouse attuali riducono i costi, ma le loro prestazioni possono ancora rimanere indietro rispetto a sistemi specializzati (come i data warehouse) che hanno alle spalle anni di investimenti e implementazioni nel mondo reale. Gli utenti potrebbero preferire determinati strumenti (strumenti di BI, IDEs, notebook) ad altri, quindi anche i lakehouse dovranno migliorare la loro UX e i loro connettori per gli strumenti più diffusi, in modo da poter attrarre un'ampia gamma di personas. Questi e altri problemi verranno affrontati man mano che la tecnologia continua a maturare e a svilupparsi. Con il tempo i lakehouse colmeranno queste lacune, pur mantenendo le proprietà principali di essere più semplici, più convenienti e più capaci di servire diverse applicazioni di dati.

Per maggiori dettagli, consulta le FAQ su Data Lakehouse.

Non perdere mai un post di Databricks

Iscriviti al nostro blog e ricevi gli ultimi post direttamente nella tua casella di posta elettronica.

Cosa succederà adesso?

Introducing AI/BI: Intelligent Analytics for Real-World Data

Produto

June 12, 2024/11 min de leitura

Apresentando o AI/BI: analítica inteligente para dados do mundo real

DeepSeek R1 on Databricks

Anúncios

January 31, 2025/3 min de leitura

DeepSeek R1 no Databricks