Il lakehouse è un nuovo paradigma di piattaforma dati che combina le migliori caratteristiche dei data lake e dei data warehouse. È progettata come una piattaforma dati di livello enterprise su larga scala, in grado di ospitare numerosi casi d'uso e prodotti di dati. Può fungere da unico repository di dati aziendale unificato per tutti i tuoi:
Data la varietà dei casi d'uso, a progetti diversi su una lakehouse possono essere applicati principi di organizzazione dei dati e tecniche di modellazione differenti. Tecnicamente, la Databricks Lakehouse Platform può supportare molti stili di modellazione dei dati differenti. In questo articolo, spiegheremo l'implementazione dei principi di organizzazione dei dati Bronze/Silver/Gold della lakehouse e come le diverse tecniche di modellazione dei dati si inseriscono in ogni livello.
Un Data Vault è un pattern di progettazione per la modellazione dei dati più recente, utilizzato per creare data warehouse per analitiche su Scale aziendale rispetto ai metodi di Kimball e Inmon.
I Data Vault organizzano i dati in tre tipi diversi: hub, link e satellite. Gli hub rappresentano le entità aziendali principali, i link rappresentano le relazioni tra gli hub e i satelliti memorizzano gli attributi relativi agli hub o ai link.
Il Data Vault si concentra sullo sviluppo agile di data warehouse in cui la scalabilità, l'integrazione dei dati/ETL e la velocità di sviluppo sono importanti. La maggior parte dei clienti dispone di una landing zone, una Vault zone e una data mart zone che corrispondono ai paradigmi organizzativi di Databricks dei layer Bronze, Silver e Gold. Lo stile di modellazione Data Vault con tabelle hub, link e satellite si adatta in genere bene al livello Silver della Databricks Lakehouse.
Scopri di più sulla modellazione Data Vault su Data Vault Alliance.

La modellazione dimensionale è un approccio bottom-up alla progettazione di data warehouse per ottimizzarli per le analitiche. I modelli dimensionali vengono utilizzati per denormalizzare i dati aziendali in dimensioni (come tempo e prodotto) e fatti (come transazioni in importi e quantità) e diverse aree tematiche sono collegate tramite dimensioni conformate per navigare verso diverse tabelle dei fatti.
La forma più comune di modellazione dimensionale è lo schema a stella. Uno schema a stella è un modello di dati multidimensionale utilizzato per organizzare i dati in modo che siano facili da comprendere e analizzare e su cui sia molto facile e intuitivo eseguire report. Gli schemi a stella o i modelli dimensionali in stile Kimball sono praticamente lo standard di riferimento per il livello di presentazione nei data warehouse e nei data mart, e persino per i livelli semantici e di reporting. La concezione degli schemi a stella è ottimizzata per l'interrogazione di grandi set di dati.

Sia gli stili di modellazione dei dati di tipo Data Vault normalizzato (ottimizzato per la scrittura) che i modelli dimensionali denormalizzati (ottimizzati per la lettura) trovano posto nel Databricks Lakehouse. Gli hub e i satelliti del Data Vault nel livello Silver vengono utilizzati per caricare le dimensioni nello schema a stella, e le tabelle link del Data Vault diventano le tabelle guida principali per caricare le tabelle dei fatti nel modello dimensionale. Scopri di più sulla modellazione dimensionale dal Kimball Group.
Un lakehouse moderno è una piattaforma dati onnicomprensiva di livello enterprise. È altamente scalabile e performante per ogni genere di caso d'uso, come ETL, BI, data science e streaming, che possono richiedere approcci diversi di modellazione dei dati. Vediamo come è organizzato un tipico lakehouse:

Il livello Bronze è quello in cui "atterrano" tutti i dati provenienti da fonti esterne. Le strutture delle tabelle in questo layer corrispondono alle strutture delle tabelle del sistema di origine "così come sono", a parte le colonne di metadati opzionali che possono essere aggiunte per acquisire la data/ora di caricamento, l'ID del processo, ecc. Lo scopo principale di questo livello è l'acquisizione veloce dei dati che sono cambiati (Change Data Capture) per avere un archivio storico della sorgente (storage freddo), della provenienza dei dati e della verificabilità, rielaborando i dati se necessario senza rileggerli dalla sorgente.
Nella maggior parte dei casi, è una buona idea mantenere i dati nel layer Bronze in formato Delta, in modo che le letture successive dal layer Bronze per l'ETL siano performanti e si possano eseguire aggiornamenti nel layer Bronze per scrivere le modifiche CDC. A volte, quando i dati arrivano in formato JSON o XML, vediamo clienti che li salvano nel formato dati di origine per poi inserirli in un'area di stage convertendoli in formato Delta. Quindi a volte, vediamo clienti che trasformano il layer Bronze logico in una zona fisica di landing e staging.
L'archiviazione di dati grezzi nel formato dati di origine originale in una landing zone contribuisce anche alla coerenza nei casi in cui i dati vengono inseriti tramite strumenti di inserimento che non supportano Delta come sink nativo o in cui i sistemi di origine scaricano i dati direttamente negli object store. Questo pattern si allinea bene anche con il framework di inserimento autoloader, in cui le origini collocano i dati nella landing zone per i file grezzi e quindi Databricks AutoLoader converte i dati nel livello di staging in formato Delta.
Nel livello Silver del lakehouse, i dati provenienti dal livello Bronze vengono abbinati, uniti, uniformati e puliti ("quanto basta"), in modo da fornire una "vista aziendale" di tutte le entità, i concetti e le transazioni chiave Questo è simile a un Enterprise Operational Data Store (ODS), a un repository centrale o a domini di dati di un Data Mesh (ad es. clienti master, magazzini, transazioni non duplicate e tabelle di riferimento incrociato). Questa vista enterprise raggruppa i dati provenienti da fonti diverse e consente le analitiche self-service per la reportistica ad-hoc, le analitiche avanzate e il ML. Funge da fonte per analisti di reparto, data engineer e data scientist, per creare progetti e analisi che rispondano a problemi operativi tramite progetti di gestione dei dati a livello di singolo dipartimento o di impresa nel livello Gold.
Nel paradigma della Data ingegneria della Lakehouse, si segue tipicamente la metodologia ELT (Extract-Load-Transform) rispetto alla tradizionale ETL (Extract-Transform-Load). L'approccio ELT significa che durante il caricamento del livello Silver vengono applicate solo trasformazioni minime o "appena sufficienti" e regole di pulizia dei dati. Tutte le regole a "livello aziendale" vengono applicate nel livello Silver, a differenza delle regole di trasformazione specifiche del progetto, che vengono applicate nel livello Gold. Velocità e agilità nell'inserire e distribuire i dati nella Lakehouse hanno qui la priorità.
Dal punto di vista della modellazione dei dati, il livello Silver ha più modelli di dati del tipo 3d-Normal Form. In questo layer possono essere utilizzate architetture di dati e modelli di dati simili a Data Vault, con prestazioni di scrittura elevate. Se si utilizza una metodologia Data Vault, sia il dati grezzi Vault sia il Business Vault rientreranno nel livello Silver logico del lake, e le viste di presentazione Point-In-Time (PIT) o le viste materializzate saranno presentate nel livello Gold.
Nel livello Gold si possono costruire più data mart/data warehouse secondo la metodologia di modellazione dimensionale Kimball. Come illustrato in precedenza, il layer Gold è destinato al reporting e utilizza modelli di dati più denormalizzati e ottimizzati per la lettura con meno join rispetto al layer Silver. Le tabelle nel livello Gold talvolta possono essere completamente denormalizzate, di solito se i data scientist vogliono utilizzarle per alimentare i propri algoritmi per l'ingegneria delle caratteristiche.
Le regole ETL e di qualità dei dati "specifiche del progetto" vengono applicate durante la trasformazione dei dati dal livello Silver al livello Gold. In questo livello vengono forniti i livelli di presentazione finali come data warehouse, data mart o prodotti di dati come le analitiche dei clienti, le analitiche dei prodotti/qualità, le analitiche dell'inventario, la segmentazione dei clienti, i consigli sui prodotti, le analitiche di marketing/vendite ecc. I modelli di dati basati su star-schema in stile Kimball o i data mart in stile Inmon si adattano a questo livello Gold della Lakehouse. Anche i Data Science Laboratories e i Departmental ambienti di prova per le analitiche self-service appartengono al Gold Layer.
In sintesi, i dati vengono curati man mano che passano attraverso i diversi layer di una Lakehouse.
Questo approccio di tipo Lakehouse all'organizzazione dei dati ha lo scopo di rompere i silo di dati, unire i team e consentire loro di eseguire ETL, streaming, BI e AI su un'unica piattaforma con una governance adeguata. I team dati centrali dovrebbero essere i promotori dell'innovazione nell'organizzazione, accelerando l'onboarding di nuovi utenti self-service e lo sviluppo di molti progetti di dati in parallelo, anziché far sì che il processo di modellazione dei dati diventi un collo di bottiglia. Il Databricks Unity Catalog fornisce funzionalità di ricerca e individuazione, governance e lineage sulla Lakehouse per garantire un'adeguata cadenza della governance dei dati.
Crea oggi i tuoi Data Vault e i tuoi data warehouse con schema a stella con Databricks SQL.

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
Produto
June 12, 2024/11 min de leitura
Produto
September 12, 2024/8 min de leitura


