Passa al contenuto principale

Tecniche di modellazione dei data warehouse e implementazione su Databricks Lakehouse Platform

Utilizzo di Data Vault e schemi a stella sulla Lakehouse

Data Warehousing Modeling Techniques and Their Implementation on the Databricks Lakehouse Platform

Published: June 24, 2022

Soluzioni8 min de leitura

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:

  • domini di dati,
  • casi d'uso di streaming in tempo reale,
  • data mart,
  • data warehouse eterogenei,
  • negozio di funzionalità e ambienti di prova per la Data Science, e
  • ambienti di prova dipartimentali per le analitiche self-service.

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.

Che cos'è un data vault?

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.

Un diagramma che mostra il funzionamento della modellazione Data Vault, con hub, link e satelliti che si connettono tra loro.
Un diagramma che mostra il funzionamento della modellazione Data Vault, con hub, link e satelliti che si connettono tra loro.

Cos'è la modellazione dimensionale?

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.

Un esempio di schema a stella
Un esempio di schema a stella

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.

Principi di organizzazione dei dati in ogni livello della Lakehouse

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:

 Un diagramma che mostra le caratteristiche dei livelli Bronze, Silver e Gold dell'architettura Data Lakehouse.
Un diagramma che mostra le caratteristiche dei livelli Bronze, Silver e Gold dell'architettura Data Lakehouse.

Livello bronzo — la Landing Zone

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.

Livello Silver — il repository centrale aziendale

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.

Livello Gold — Il livello di presentazione

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.

Il paradigma di organizzazione dei dati del Lakehouse

 

In sintesi, i dati vengono curati man mano che passano attraverso i diversi layer di una Lakehouse.

  • Il livello Bronze utilizza i modelli di dati dei sistemi di origine. Se i dati vengono caricati in formati grezzi, vengono convertiti nel formato DeltaLake all'interno di questo livello.
  • Il livello Silver per la prima volta riunisce i dati provenienti da fonti diverse e li conforma per creare una vista aziendale dei dati, utilizzando in genere modelli di dati più normalizzati e ottimizzati per la scrittura, che sono tipicamente simili alla terza forma normale o al Data Vault.
  • Il livello Gold è il livello di presentazione con modelli di dati più denormalizzati o appiattiti rispetto al livello Silver, che in genere utilizza modelli dimensionali in stile Kimball o schemi a stella. Il livello Gold ospita anche ambienti di prova dipartimentali e di Data Science per abilitare le analitiche self-service e la Data Science in tutta l'azienda. La fornitura di questi ambienti di prova e dei relativi clusters compute separati impedisce ai team aziendali di creare le proprie copie di dati al di fuori del 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.

I dati vengono curati mentre passano attraverso i diversi livelli di una Lakehouse.
Come vengono curati i dati nel passaggio attraverso i vari livelli del Lakehouse.

Per approfondire:

 

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

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

Five Simple Steps for Implementing a Star Schema in Databricks With Delta Lake

Produto

September 12, 2024/8 min de leitura

Cinco etapas simples para implementar um esquema de estrela na Databricks com Delta Lake