L'informazione è un bene a valore crescente, necessario per pianificare e controllare le attività aziendali con efficacia. Costituisce la materia prima che viene trasformata dai sistemi informativi, così come i semilavorati vengono trasformati dai sistemi di produzione. Ma — avverte subito la slide — dati non è sinonimo di informazione: spesso la disponibilità di troppi dati rende arduo, se non impossibile, estrapolare le informazioni veramente importanti.
Per ogni azienda è fondamentale poter disporre in maniera rapida e completa delle informazioni necessarie al processo decisionale. Le indicazioni strategiche sono estrapolate principalmente dalla mole dei dati operazionali contenuti nei database aziendali, attraverso un procedimento di selezione e sintesi progressiva: si parte dalle fonti informative primarie, si arriva alle informazioni selezionate, poi ai rapporti, infine alle indicazioni strategiche. A ogni passaggio la quantità cala e il valore sale.
Lo scenario tipico che le slide usano per introdurre il problema è quello di una grande azienda con numerose filiali, i cui dirigenti desiderano quantificare e valutare il contributo dato da ciascuna di esse al rendimento commerciale globale dell'impresa. La risposta è un raccoglitore di informazioni che integra e riorganizza i dati provenienti da sorgenti di varia natura e li rende disponibili per analisi e valutazioni finalizzate alla pianificazione e al processo decisionale: il data warehouse.
Prima di parlare di contenitori conviene parlare di interrogazioni, perché è dalla loro incompatibilità che nasce tutto il resto.
| OLTP — On-Line Transactional Processing | OLAP — On-Line Analytical Processing | |
|---|---|---|
| Che cosa fanno le interrogazioni | Eseguono transazioni che leggono e scrivono un ridotto numero di righe da diverse tabelle legate da semplici relazioni | Effettuano un'analisi multidimensionale che richiede la scansione di un'enorme quantità di righe per calcolare un insieme di dati numerici di sintesi che quantifichino le prestazioni dell'azienda |
| Natura del carico | Il nucleo sostanziale del carico di lavoro è «congelato» all'interno dei programmi applicativi | L'interattività è una caratteristica irrinunciabile delle sessioni di analisi e fa sì che il carico di lavoro effettivo vari continuamente nel tempo |
Mescolare interrogazioni «analitiche» e «transazionali» di routine sullo stesso database porta a inevitabili rallentamenti che rendono insoddisfatti gli utenti di entrambe le categorie: gli operativi vedono degradare la reattività delle loro transazioni, i decisori non riescono comunque a ottenere le sintesi che vogliono. La soluzione è separare l'elaborazione di tipo analitico da quella legata alle transazioni, costruendo un nuovo raccoglitore di informazioni che integri i dati provenienti da sorgenti di varia natura, li organizzi in una forma appropriata e li renda disponibili per scopi di analisi e valutazione.
Il data warehousing è quindi definito come una collezione di metodi, tecnologie e strumenti di ausilio al knowledge worker (dirigente, amministratore, gestore, analista) per condurre analisi dei dati finalizzate all'attuazione di processi decisionali e al miglioramento del patrimonio informativo.
Per ciascuna interrogazione decidete a quale dei due mondi appartiene. Il riscontro richiama il criterio usato.
Kimball apre The Data Warehouse Toolkit con l'elenco delle lamentele ricorrenti degli utenti, che le slide riprendono perché ciascuna corrisponde a un requisito del processo di warehousing:
| La lamentela | Il requisito che ne deriva |
|---|---|
| «Abbiamo montagne di dati ma non possiamo accedervi!» | Accessibilità a utenti con conoscenze limitate di informatica e strutture dati |
| «Come è possibile che persone che svolgono lo stesso ruolo presentino risultati sostanzialmente diversi?» | Integrazione dei dati sulla base di un modello standard dell'impresa |
| «Vogliamo selezionare, raggruppare e manipolare i dati in ogni modo possibile!» | Flessibilità di interrogazione per trarre il massimo vantaggio dal patrimonio informativo esistente |
| «Mostratemi solo ciò che è importante!» | Sintesi per permettere analisi mirate ed efficaci |
| «Tutti sanno che alcuni dati non sono corretti!» | Correttezza e completezza dei dati integrati |
A questi si aggiunge la rappresentazione multidimensionale, per offrire all'utente una visione intuitiva ed efficacemente manipolabile delle informazioni: è il requisito che il capitolo 4 traduce in cubi, dimensioni e gerarchie.
Le sei caratteristiche non sono un elenco da memorizzare a vuoto: ciascuna diventa una fase di progetto. Accessibilità e flessibilità → front-end e progettazione logica; integrazione e correttezza → riconciliazione delle sorgenti ed ETL; sintesi e multidimensionalità → progettazione concettuale e viste materializzate.
Al centro del processo, il data warehouse è il contenitore di informazioni che si fa garante dei requisiti esposti. La definizione classica (Inmon) è:
Un data warehouse è una collezione di informazioni di supporto per il processo decisionale che presenta le seguenti caratteristiche: è orientata ai soggetti di interesse; è integrata e consistente; è rappresentativa dell'evoluzione temporale; è non volatile.
Nei database operazionali l'accento è sulle applicazioni: c'è il database dell'anagrafe, quello della ricerca, quello del personale, quello degli esami on-line. Nel data warehouse l'accento è sui soggetti: studenti, docenti, corsi di studio. Lo stesso soggetto, che nelle sorgenti è sparso fra più applicazioni, viene ricomposto in un unico luogo.
Il DW si appoggia a più fonti di dati eterogenee: dati estratti dall'ambiente di produzione, quindi originariamente archiviati in basi di dati aziendali, o addirittura provenienti da sistemi informativi esterni all'azienda. Di tutti questi dati il DW restituisce una visione unificata, ottenuta attraverso pulitura, validazione, filtraggio e trasformazione prima del caricamento.
I database operazionali hanno un contenuto storico limitato, spesso il tempo non è parte delle chiavi e i dati sono soggetti ad aggiornamenti. Il DW ha un ricco contenuto storico, il tempo è parte delle chiavi, e una fotografia del dato a un certo istante di tempo non può essere aggiornata.
Sul database operazionale si fanno insert, update, delete; sul DW si fanno solo load e access. Ne discendono due conseguenze pratiche: in un DW non sono necessarie tecniche sofisticate di gestione delle transazioni come invece richiesto da un sistema operazionale, e il problema chiave diventa il query-throughput. I volumi vanno da qualche GB a diversi TB in pochi anni.
La tabella di sintesi che segue è quella riassuntiva delle slide, ed è una delle poche da sapere a memoria: quasi ogni riga corrisponde a una scelta progettuale che i capitoli successivi giustificano.
| Criterio | Database operazionali | Data warehouse |
|---|---|---|
| utenti | migliaia | centinaia |
| carico di lavoro | transazioni predefinite | interrogazioni di analisi ad hoc |
| accesso | a centinaia di record, in lettura e scrittura | a milioni di record, per lo più in lettura |
| scopo | dipende dall'applicazione | supporto alle decisioni |
| dati | elementari, sia numerici sia alfanumerici | di sintesi, prevalentemente numerici |
| integrazione dei dati | per applicazione | per soggetto |
| qualità | in termini di integrità | in termini di consistenza |
| copertura temporale | solo dati correnti | dati correnti e storici |
| aggiornamenti | continui | periodici |
| modello | normalizzato | multidimensionale |
| ottimizzazione | per accessi OLTP su una frazione del database | per accessi OLAP su gran parte del database |
Le righe più «pericolose» sono le ultime tre. Aggiornamenti periodici spiega perché l'ETL può permettersi finestre di caricamento e ricostruzione degli indici. Modello multidimensionale (contro normalizzato) spiega perché nel DW la ridondanza e la denormalizzazione sono scelte e non errori. Ottimizzazione su gran parte del database spiega perché i B+-tree non bastano più e servono indici bitmap, di join e star (capitolo 13).
Un esempio concreto della differenza fra i due carichi. Sul database operazionale una tipica interrogazione tocca poche righe di poche tabelle, tipicamente in scrittura:
-- OLTP: registra una riga di scontrino. Poche righe, chiavi puntuali, scrittura.
INSERT INTO vendite (prodotto, numScontrino, quantita, prezzoUnitario)
VALUES ('vite', 'S1', 10, 0.25);
Sul data warehouse la stessa area applicativa produce interrogazioni di tutt'altra natura: scansione di moltissime righe, join fra la tabella dei fatti e quelle delle dimensioni, aggregazione e raggruppamento.
La seconda interrogazione non ha bisogno di essere veloce nella singola riga: ha bisogno di essere veloce su milioni di righe, e questo cambia radicalmente le scelte di modello logico, di indicizzazione e di pre-aggregazione.
Le slide elencano i settori in cui il data warehousing è applicato, e vale la pena leggerli come famiglie di fatti: ciascuna voce fra parentesi è, in pratica, un candidato fatto per uno schema DFM del capitolo 7.
| Settore | Analisi tipiche |
|---|---|
| Commercio | Analisi delle vendite e dei reclami, controllo di spedizioni e inventari, cura del rapporto con i clienti |
| Manifattura | Controllo dei costi di produzione, supporto fornitori e ordini |
| Servizi finanziari | Analisi del rischio e delle carte di credito, rivelazione di frodi |
| Trasporti | Gestione parco mezzi |
| Telecomunicazioni | Analisi del flusso delle chiamate e del profilo dei clienti |
| Sanità | Analisi di ricoveri e dimissioni, contabilità per centri di costo |
Non è un caso che gli esercizi d'esame ricorrenti pescino proprio da questi settori: ricoveri ospedalieri, pedaggi autostradali, controlli sui treni, chiamate telefoniche, questionari didattici. Riconoscere il settore aiuta a intuire subito quale sia il fatto e quali le dimensioni ricorrenti (tempo, luogo, soggetto, tipologia).
Le interrogazioni OLTP eseguono transazioni che leggono e scrivono un ridotto numero di righe da diverse tabelle legate da semplici relazioni; il nucleo del carico di lavoro è «congelato» nei programmi applicativi. Le interrogazioni OLAP effettuano un'analisi multidimensionale che richiede la scansione di un'enorme quantità di righe per calcolare dati numerici di sintesi; l'interattività è irrinunciabile e il carico varia continuamente nel tempo.
Perché mescolare interrogazioni analitiche e transazionali di routine porta a inevitabili rallentamenti che rendono insoddisfatti gli utenti di entrambe le categorie. Da qui la scelta di separare l'elaborazione analitica da quella transazionale, costruendo un nuovo raccoglitore che integri i dati di sorgenti diverse, li organizzi in forma appropriata e li renda disponibili per analisi e valutazione.
È orientato ai soggetti di interesse (non alle applicazioni); è integrato e consistente (visione unificata di fonti eterogenee, interne ed esterne); è rappresentativo dell'evoluzione temporale (ricco contenuto storico, il tempo è parte delle chiavi, una fotografia del dato non può essere aggiornata); è non volatile (solo load e access, non insert/update/delete).
Due, entrambe citate esplicitamente: in un DW non sono necessarie tecniche sofisticate di gestione delle transazioni come in un sistema operazionale, e il problema chiave diventa il query-throughput. È anche la ragione per cui si può investire in ridondanza, pre-aggregazione e indici costosi da mantenere ma velocissimi in lettura.
Che integra tutte le informazioni relative a ciascun concetto primario del business. Nelle sorgenti operazionali l'accento è sulle applicazioni (anagrafe, ricerca, personale, esami on-line); nel DW l'accento è sui soggetti (studenti, docenti, corsi di studio). Non significa «progettato secondo i requisiti utente» né «usa dimensioni soggettive».
Una collezione di metodi, tecnologie e strumenti di ausilio al knowledge worker (dirigente, amministratore, gestore, analista) per condurre analisi dei dati finalizzate all'attuazione di processi decisionali e al miglioramento del patrimonio informativo.
Accessibilità a utenti con conoscenze limitate di informatica e strutture dati; integrazione dei dati sulla base di un modello standard dell'impresa; flessibilità di interrogazione; sintesi per permettere analisi mirate ed efficaci; rappresentazione multidimensionale per una visione intuitiva e manipolabile; correttezza e completezza dei dati integrati.
Dati: elementari, numerici e alfanumerici nei DB operazionali; di sintesi e prevalentemente numerici nel DW. Qualità: in termini di integrità nei primi, in termini di consistenza nel secondo. Copertura temporale: solo dati correnti nei primi, dati correnti e storici nel DW.
Perché l'informazione è il risultato di un procedimento di selezione e sintesi progressiva a partire dai dati operazionali: fonti informative primarie → informazioni selezionate → rapporti → indicazioni strategiche. Spesso la disponibilità di troppi dati rende arduo, se non impossibile, estrapolare le informazioni veramente importanti: al crescere della quantità il valore unitario scende, e serve un sistema che faccia la sintesi.