Architettura a medaglione
Che cos'è un'architettura a medaglione?
Il termine medallion architecture indica un metodo di progettazione utilizzato per organizzare i dati all'interno di un lakehouse, allo scopo di migliorare progressivamente la struttura e la qualità dei dati man mano che passano da un livello all'altro dell'architettura (Bronze ⇒ Silver ⇒ Gold). Le architetture a medaglione sono spesso definite anche architetture "multi-hop".
Vantaggi dell'architettura lakehouse
- Semplicità del modello di dati
- Facilità di comprensione e implementazione
- Possibilità di ETL incrementale
- Possibilità di ricreare le tabelle dai dati grezzi in qualsiasi momento
- Transazioni ACID, viaggi nel tempo
Rapida introduzione al lakehouse
Un lakehouse è un nuovo tipo di architettura dati che unisce le caratteristiche migliori dei data lake e dei data warehouse. Un lakehouse moderno è una piattaforma altamente scalabile e performante che ospita set di dati sia grezzi sia elaborati, destinati al consumo rapido in azienda nonché a garantire informazioni approfondite per prendere decisioni evolute. Il lakehouse abbatte le barriere e consente agli utenti autorizzati di accedere in modo diretto e sicuro ai dati, da tutta l'impresa e su un'unica piattaforma.
Livello Bronze (dati grezzi)
Il livello Bronze è quello in cui "atterrano" tutti i dati provenienti da fonti esterne. Le strutture delle tabelle in questo livello coincidono esattamente (as-is) con le strutture delle tabelle nel sistema sorgente, oltre a colonne aggiuntive di metadati che contengono data/ora di caricamento, 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.
Livello Silver (dati puliti e uniformati)
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 (ad es. clienti master, magazzini, transazioni non duplicate e tabelle di riferimento incrociato).
Il livello Silver porta i dati da diverse fonti in un'unica vista aziendale e consente attività di analisi self-service per reportistica mirata, analisi avanzata e 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 di data engineering del lakehouse si segue tipicamente la metodologia ELT invece che ETL; questo significa che vengono applicate solo le trasformazioni e le regole di pulizia dei dati minime indispensabili, o "quanto basta" mentre si carica il livello Silver. Velocità e agilità nell'acquisizione e nella consegna dei dati al data lake sono prioritarie e, inoltre, vengono applicate molte trasformazioni e regole complesse, specifiche per progetto, mentre i dati vengono caricati dal livello Silver a quello Gold. Dal punto di vista della modellazione dei dati, il livello Silver ha più modelli di dati del tipo 3d-Normal Form. In questo livello si possono utilizzare modelli di dati tipo Data Vault con prestazioni avanzate in scrittura.
Livello Gold (tabelle curate di livello business)
I dati contenuti nel livello Gold del lakehouse sono tipicamente organizzati in database "specifici per progetto" pronti al consumo. Il livello Gold è destinato alla reportistica e usa più modelli di dati de-normalizzati e ottimizzati in lettura con meno join. Le trasformazioni finali dei dati e le regole di qualità dei dati vengono applicate in questo livello. La presentazione finale di progetti come Customer Analytics, Product Quality Analytics, Inventory Analytics, Customer Segmentation, Product Recommendations, Marking/Sales Analytics ecc. rientra in questo livello. Nel livello Gold del lakehouse si trovano molti modelli di dati con schema a stella di tipo Kimball o data mart di tipo Inmon.
Come si vede, quindi, i dati vengono curati man mano che avanzano da un livello all'altro del lakehouse. In alcuni casi vediamo anche che nel lakehouse vengono acquisiti molti data mart ed EDW con la tradizionale tecnologia RDBMS; così, per la prima volta, le imprese possono fare analisi e ML avanzati "pan-EDW", cosa impossibile o troppo costosa su uno stack tecnologico tradizionale (ad es. i dati di IoT/produzione vengono collegati ai dati di vendite e marketing per l'analisi dei difetti o la genomica per le cure sanitarie, i mercati di dati clinici EMR/HL7 vengono collegati ai dati delle richieste di risarcimento per creare un data lake sanitario che consenta un'analisi puntuale e migliore delle cure dei pazienti).
Architettura a medaglione e data mesh
L'architettura a medaglione è compatibile con il concetto di data mesh. Le tabelle Bronze e Silver possono essere unificate in modalità "una a molte", cioè i dati di una singola tabella a monte possono essere utilizzati per generare molteplici tabelle a valle.