Data vault
Che cos'è un data vault?
Un data vault è uno schema di modellazione dei dati utilizzato per costruire un data warehouse per analisi su scala aziendale. Un data vault consiste di tre componenti: hub, collegamenti e satelliti.
Gli hub rappresentano concetti aziendali chiave, i collegamenti rappresentano le relazioni tra gli hub e i satelliti contengono informazioni sugli hub e sulle relazioni tra di essi.
Il data vault è un modello di dati che ben si adatta alle organizzazioni che adottano il paradigma lakehouse.
Modellazione del data vault: hub, collegamenti e satelliti
- Hub - Ogni hub rappresenta un concetto aziendale chiave, ad esempio ID cliente/codice prodotto/numero di identificazione del veicolo (VIN). Gli utenti utilizzano una business key per ottenere informazioni su un hub. La business key può includere una combinazione di ID concetto aziendale e ID sequenza, data di caricamento e altre informazioni di metadati.
- Collegamenti - I collegamenti rappresentano le relazioni tra gli hub.
- Satelliti - I satelliti colmano il vuoto di informazioni descrittive sui concetti aziendali chiave. I satelliti memorizzano le informazioni relative agli hub e alle relazioni tra di essi.
Altri aspetti da tenere a mente:
- Un satellite non può avere una connessione diretta con un altro satellite.
- Un hub o un collegamento possono avere uno o più satelliti.
Vantaggi del data vault:
- Agile;
- Strutturato, con flessibilità per il refactoring;
- Estremamente scalabile, fino a volumi di PB;
- Con schemi che supportano la generazione di codice ETL;
- Architettura familiare: livelli di dati, ETL, schemi a stella.
I data vault si basano su metodologie e tecniche agili che consentono loro di adattarsi a esigenze aziendali in rapida evoluzione. Uno dei principali vantaggi dell'utilizzo della metodologia data vault è che i processi ETL richiedono meno refactoring quando il modello cambia.
Tecniche di modellazione in base ai livelli lakehouse
Tenendo a mente questi concetti, vediamo ora come il data vault si inserisce nei nostri livelli di dati Bronze, Silver e Gold, nei quali i dati passano da uno stato grezzo a uno raffinato e pronto per l'analisi. In questa architettura multi-hop, i dati grezzi vengono memorizzati in un livello Bronze con trasformazioni minime e con una struttura dei dati il più vicina possibile al sistema di origine. La metodologia data vault può essere applicata al livello Silver, dove i dati vengono trasformati in hub, collegamenti e satelliti.
Nel livello Gold si possono costruire più data mart/data warehouse secondo la metodologia di modellazione dimensionale Kimball. Come discusso in precedenza, il livello Gold è destinato alla reportistica e usa più modelli di dati denormalizzati e ottimizzati in lettura con meno join. 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.
Utilizzare un modello di data vault nel livello Silver semplifica e riduce in maniera significativa le modifiche necessarie per eseguire il processo ETL in data mart e data warehouse, poiché gli hub facilitano la gestione delle chiavi (chiavi surrogate/chiavi naturali). I satelliti facilitano il caricamento delle dimensioni, perché contengono tutti gli attributi, e i collegamenti facilitano il caricamento delle tabelle dei fatti, perché contengono tutte le relazioni.