Parte I — Fondamenti · Capitolo 2

Dal dato all'informazione

~26 min di lettura3 widget interattivi3 tavole

In questo capitolo

  1. Dai dati alle informazioni
  2. OLTP e OLAP: due carichi di lavoro incompatibili
  3. Il processo di warehousing e le sue caratteristiche
  4. Le quattro caratteristiche del data warehouse
  5. Database operazionali e data warehouse a confronto
  6. Aree di utilità
  7. Verifica le tue conoscenze

1. Dai dati alle informazioni

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.

fonti informative primarie informazioni selezionate rapporti indicazioni strategiche VALORE QUANTITÀ
Tavola 2.1 — Selezione e sintesi progressiva. Il data warehouse non aggiunge dati: li riduce di quantità e ne aumenta il valore decisionale.

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.

2. OLTP e OLAP: due carichi di lavoro incompatibili

Prima di parlare di contenitori conviene parlare di interrogazioni, perché è dalla loro incompatibilità che nasce tutto il resto.

OLTP — On-Line Transactional ProcessingOLAP — 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.

PRIMA — un solo contenitore, due carichi in conflitto DOPO — separazione DB operazionale decisori operativi DB operazionale Data Warehouse integra · riorganizza · storicizza decisori operativi OLAP OLTP OLTP OLAP alimentazione
Tavola 2.2 — La separazione. Il carico OLAP viene spostato su un contenitore dedicato: gli operativi riprendono le loro prestazioni, i decisori ottengono un modello dei dati pensato per l'analisi.

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.

Esercizio: OLTP o OLAP?

Per ciascuna interrogazione decidete a quale dei due mondi appartiene. Il riscontro richiama il criterio usato.

3. Il processo di warehousing e le sue caratteristiche

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 lamentelaIl 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.

Idea chiave

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.

4. Le quattro caratteristiche del data warehouse

Al centro del processo, il data warehouse è il contenitore di informazioni che si fa garante dei requisiti esposti. La definizione classica (Inmon) è:

Definizione

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.

anagrafe ricerca personale esami on-line didattica data warehouse integrazione studenti docenti corsi di studio l'accento è sulle APPLICAZIONI l'accento è sui SOGGETTI
Tavola 2.3 — Orientamento ai soggetti. Le sorgenti sono organizzate per applicazione; il data warehouse riorganizza gli stessi dati attorno ai concetti primari del business.

5. Database operazionali e data warehouse a confronto

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.

CriterioDatabase operazionaliData warehouse
utentimigliaiacentinaia
carico di lavorotransazioni predefiniteinterrogazioni di analisi ad hoc
accessoa centinaia di record, in lettura e scritturaa milioni di record, per lo più in lettura
scopodipende dall'applicazionesupporto alle decisioni
datielementari, sia numerici sia alfanumericidi sintesi, prevalentemente numerici
integrazione dei datiper applicazioneper soggetto
qualitàin termini di integritàin termini di consistenza
copertura temporalesolo dati correntidati correnti e storici
aggiornamenticontinuiperiodici
modellonormalizzatomultidimensionale
ottimizzazioneper accessi OLTP su una frazione del databaseper accessi OLAP su gran parte del database
Per l'esame

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).

Come cambia una stessa domanda

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.

6. Aree di utilità

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.

SettoreAnalisi tipiche
CommercioAnalisi delle vendite e dei reclami, controllo di spedizioni e inventari, cura del rapporto con i clienti
ManifatturaControllo dei costi di produzione, supporto fornitori e ordini
Servizi finanziariAnalisi del rischio e delle carte di credito, rivelazione di frodi
TrasportiGestione parco mezzi
TelecomunicazioniAnalisi del flusso delle chiamate e del profilo dei clienti
SanitàAnalisi di ricoveri e dimissioni, contabilità per centri di costo
Nota del redattore

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).

Verifica le tue conoscenze

Qual è la differenza fra un'interrogazione OLTP e una OLAP?

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é non si possono lasciare OLTP e OLAP sullo stesso database?

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.

Quali sono le quattro caratteristiche di un data warehouse?

È 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).

Che conseguenze pratiche ha la non volatilità?

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 cosa significa che il data warehouse è «orientato ai soggetti»?

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».

Che cos'è il data warehousing, come processo?

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.

Quali caratteristiche deve avere il processo di warehousing?

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.

Come si distinguono database operazionali e DW rispetto a dati, qualità e copertura temporale?

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é «più dati» non vuol dire «più informazione»?

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.