Il Ruolo della BI
Estrarre conoscenza strategica da grandi banche dati attraverso query di aggregazione, indicatori di performance (KPI) e analisi statistiche a supporto del management.
Il settimo modulo del corso analizza l’evoluzione delle architetture dati a supporto della Business Intelligence (BI) e della Data Science, tracciando il percorso tecnologico che porta dal tradizionale Data Warehouse (Schema-on-Write) al Data Lake (Schema-on-Read), fino all’introduzione delle transazioni ACID con Delta Lake e alla convergenza nel paradigma ibrido del Data Lakehouse.
La Business Intelligence (BI) comprende l’insieme di applicazioni, infrastrutture e strumenti analitico-statistici volti a esplorare, aggregare e interrogare le fonti informative aziendali per supportare e migliorare i processi decisionali.
Negli ultimi anni i sistemi di gestione dei dati hanno dovuto affrontare una profonda trasformazione guidata da tre fattori:
Il Ruolo della BI
Estrarre conoscenza strategica da grandi banche dati attraverso query di aggregazione, indicatori di performance (KPI) e analisi statistiche a supporto del management.
Fonti Eterogenee (Oltre le Tabelle)
Ai dati strutturati dei database relazionali (RDBMS) si affiancano oggi enormi volumi di dati semi-strutturati (JSON, XML, NoSQL) e non strutturati (video, file audio, immagini, documenti di testo libero, log di sensori IoT).
Oltre il Reporting Storico
Necessità di passare dalla sola reportistica consuntiva ad analisi avanzate in tempo reale (Real-Time Analytics), Data Science e addestramento di modelli predittivi di Machine Learning su un’unica piattaforma integrata.
Come approfondito nel Capitolo 2, il Data Warehouse è una banca dati:
Il Data Warehouse si fonda rigorosamente sul paradigma Schema-on-Write (schema in fase di scrittura): prima ancora di poter archiviare i dati, è necessario definire a monte uno schema logico fisso (Star Schema o Snowflake Schema) ed eseguire una pipeline ETL che pulisce, omogeneizza, standardizza e valida ogni record prima dell’inserimento.
| Punti di Forza del Data Warehouse | Limiti Critici in Scenari Big Data |
|---|---|
| Prestazioni di lettura elevatissime: poiché il dato è già pulito, strutturato e indicizzato al momento del caricamento, l’esecuzione delle query OLAP e della reportistica BI è immediata. | Scalabilità limitata e costi elevati: l’aumento massivo dei volumi satura le tabelle centrali; inoltre si sprecano risorse elaborando in fase di importazione (ETL) anche dati che potrebbero non essere mai interrogati. |
| Alta qualità e coerenza del dato: la fase preventiva di cleansing (inclusa l’eventuale anonimizzazione ai fini GDPR) garantisce dati certificati e affidabili. | Impossibilità di gestire dati non strutturati: uno schema a stella non può ospitare in modo efficiente video, audio, immagini o documenti destrutturati. |
| Ottimizzazione per query complesse: ideale per aggregazioni multidimensionali su dati tabellari. | Rigidità nell’evoluzione dello schema: poiché il Data Warehouse dura molti anni, qualsiasi cambiamento nelle esigenze di business impone una costosa e complessa riprogettazione della Fact Table e delle dimensioni. |
Per superare la rigidità del Data Warehouse è stato introdotto il Data Lake, un repository centralizzato progettato per accogliere qualsiasi tipologia di dato a basso costo.
Come illustrato nello schema architetturale delle slide (Slide 5) e spiegato a lezione, un Data Lake ben progettato è organizzato in livelli funzionali e zone di archiviazione progressiva:
Ingestion Layer (Livello di Acquisizione)
Acquisisce i dati dall’esterno in maniera trasparente sia tramite Batch Ingestion (pipeline ETL da database e file system aziendali) sia tramite Streaming Ingestion (flussi continui da log, sensori IoT, API e applicazioni web).
Storage Zones (Zone Interne di Raffinamento del Dato)
All’interno dello storage del Data Lake i dati transitano attraverso tre zone logiche man mano che vengono richiesti ed elaborati:
Processing Layer e Consumption Layer
Il Processing Layer esegue elaborazioni Batch e Stream sui dati delle Storage Zones per alimentare il Consumption Layer finale (Business Intelligence e Data Science / Machine Learning).
Metadata & Governance (Catalogo, Policy e Sicurezza)
Costituisce il pilastro trasversale indispensabile del Data Lake e comprende:
A fronte dell’estrema flessibilità in ingresso, il Data Lake puro presenta quattro criticità rilevanti:
1. Lentezza delle Query in Lettura
Poiché la pulitura, il filtraggio e l’integrazione devono essere eseguiti “al volo” al momento dell’interrogazione (Schema-on-Read), la prima query su grandi volumi di dati grezzi presenta tempi di risposta elevatissimi (anche ore o giorni), rendendo il Data Lake puro inadatto ad analisi real-time.
2. Rischio 'Data Swamp' (Palude di Dati)
Senza una governance rigorosa e una metadatazione puntuale fin dall’origine, continuare a riversare nel repository dati sporchi, ridondati e privi di controlli di qualità trasforma il Data Lake in una palude di dati (Data Swamp) opaca, inaffidabile, costosa in termini di spazio e impossibile da interrogare.
3. Assenza di Transazioni ACID
Nel Data Lake le elaborazioni avvengono con il sistema in esecuzione: se una banca dati sorgente aggiorna un record mentre un’analisi sta leggendo una copia precedentemente elaborata (o durante scritture concorrenti), la mancanza di transazioni atomiche ACID genera letture parziali, disallineamenti e incoerenze.
4. Rischi di Conformità GDPR
Mentre nel Data Warehouse la fase ETL consente di filtrare e anonimizzare i dati prima del caricamento, riversare dati grezzi non controllati in un Data Lake espone al rischio di archiviare dati personali o particolari non minimizzati, violando i principi del GDPR.
Per risolvere i problemi di inaffidabilità, incoerenza e degrado in Data Swamp dei Data Lake tradizionali, è stato sviluppato Delta Lake, un livello di archiviazione (storage layer) open-source che si posiziona sopra il Data Lake sfruttando il motore di calcolo distribuito Apache Spark.
Le quattro innovazioni chiave introdotte da Delta Lake sono:
L’evoluzione più moderna ed efficace è rappresentata dal Data Lakehouse, un’architettura ibrida che unisce in un unico sistema i vantaggi del Data Warehouse e quelli del Data Lake, affiancando due strutture di gestione complementari:
Architettura Logica del Data Lakehouse (Slide 8):
┌───────────────────────────────┐ ┌───────────────────────────────┐ │ Batch Ingestion │ │ Streaming Ingestion │ │ (ETL/ELT, databases, files) │ │ (logs, IoT, clickstream) │ └───────────────┬───────────────┘ └───────────────┬───────────────┘ └──────────────────┬──────────────────┘ ▼ ┌───────────────────────┐ │ Metadata & Catalog │ └───────────┬───────────┘ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ DATA LAKEHOUSE │ │ ┌───────────────────────────┐ ┌───────────────────────────┐ │ │ │ File System │ │ Delta Lake / Iceberg / │ │ │ │ (Cloud Object Storage) │ │ Hudi │ │ │ └───────────────────────────┘ └───────────────────────────┘ │ └──────────────────────────────────┬──────────────────────────────────┘ ▼ ┌───────────────────────┐ │ Compute Layer │ │ (Batch & Streaming) │ └───────────┬───────────┘ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ CONSUMPTION LAYER │ │ [ Business Intelligence ] [ Data Science / ML ] [ SQL ] │ └─────────────────────────────────────────────────────────────────────┘| Caratteristica | Data Warehouse | Data Lake | Delta Lake | Data Lakehouse |
|---|---|---|---|---|
| Tipi di Dati | Solo Strutturati | Tutti (Grezzi) | Tutti + ACID | Tutti (Unificati) |
| Paradigma Schema | Schema-on-Write | Schema-on-Read | Evolutivo | Ibrido (Read / Write) |
| Transazioni ACID | Sì (Rigido) | No (Rischio Data Swamp) | Sì (tramite Apache Spark) | Sì (Nativo) |
| Scalabilità / Costo | Media / Elevato | Elevata / Basso | Elevata / Bilanciato | Massima / Ottimizzato (Alto costo iniziale di setup) |
| Workload Principale | BI / Reporting | Data Discovery / ML | Batch + Streaming | BI + ML + Streaming |
Durante la lezione sono stati analizzati cinque scenari progettuali concreti per individuare quale architettura adottare (e quale scartare):
Scenario: Integrazione di Sistemi Gestionali Legacy (Molto Vecchi)
Scenario: Analisi in Tempo Reale e Pipeline Streaming
Scenario: Gestione di Schemi e Sorgenti in Rapida Evoluzione
Scenari: Vincoli di Budget vs. Massima Qualità del Dato e Abbattimento Silos