OLAP

Traduzione e Integrazione delle Lezioni a cura di Sandro Gallo

Home Ricerca in DataBase Strutturati Mysql Internals and Berkerley DB


I sistemi informatici permettono di aumentare la produttività delle organizzazioni automatizzandone la gestione operativa quotidiana. Questi dati — se opportunamente accumulati e analizzati — possono essere utilizzati per la pianificazione e il supporto alle decisioni. Una corretta gestione dei dati storici può essere occasione di un grande vantaggio competitivo.
I sistemi di supporto alle decisioni (DSS) costituiscono la tecnologia che supporta la dirigenza aziendale nel prendere decisioni tattico-strategiche in modo efficace e veloce, mediante particolari tipologie di elaborazione (per esempio OLAP). I dati su cui operano i DSS sono quelli accumulati per i processi operativi e gestionali. In generale possiamo dire che esistono due tipi di elaborazione, in base al sistema di gestione usato:

  1. Nei Transaction Processing Systems abbiamo le On-Line Transaction Processing (OLTP) che sono le tradizionali elaborazioni di transazioni, che realizzano i processi operativi dell’azienda-ente. Le caratteristiche delle OLTP sono:
    1. Operazioni predefinite, brevi e relativamente semplici.
    2. Ogni operazione coinvolge “pochi” dati.
    3. Dati di dettaglio, aggiornati.
    4. Le proprietà “acide” (atomicità, correttezza, isolamento, durabilità) delle transazioni sono essenziali.
  1. Operazioni complesse e casuali.
  2. Ogni operazione può coinvolgere molti dati.
  3. Dati aggregati, storici, anche non attualissimi.
  4. Le proprietà “acide” non sono rilevanti, perché le operazioni sono di sola lettura.
I requisiti richiesti dai due tipi di applicazioni sono quindi contrastanti, tanto che possono danneggiarsi a vicenda. Quindi è importante separare gli ambienti delle due applicazioni:
image not found
Un DataWareHouse è una base di dati utilizzata principalmente per il supporto alle decisioni direzionali. Le sue caratteristiche sono:
  1. E' integrata (aziendale e non dipartimentale).
    I dati di interesse provengono da tutte le sorgenti informative — ciascun dato proviene da una o più di esse. Il data warehouse rappresenta i dati in modo univoco, riconciliando le eterogeneità dalle diverse rappresentazioni:
    1. nomi
    2. struttura
    3. codifica
    4. rappresentazione multipla
  2. Con dati storici — con un ampio orizzonte temporale, e indicazione (di solito) di elementi di tempo.
    Le basi di dati operazionali mantengono il valore corrente delle informazioni, quindi L’orizzonte temporale di interesse è dell’ordine dei pochi mesi. Nel data warehouse è di interesse l’evoluzione storica delle informazioni, quindi l’orizzonte temporale di interesse è dell’ordine degli anni
  3. Con dati usualmente aggregati — per effettuare stime e valutazioni.
    Nelle attività di analisi dei dati per il supporto alle decisioni non interessa “chi” ma “quanti”, non interessa un dato ma la somma, la media, il minimo e il massimo, ... di un insieme di dati. Le operazioni di aggregazione sono quindi fondamentali nel warehousing e nella costruzione/mantenimento di un data warehouse.
  4. Fuori linea — i dati sono aggiornati periodicamente.
    In una base di dati operazionale, i dati vengono acceduti, inseriti, modificati, cancellati pochi record alla volta. Nel data warehouse, abbiamo operazioni di accesso e interrogazione — “diurne”, e operazioni di caricamento e aggiornamento dei dati — “notturne”, che riguardano milioni di record.
  5. E' mantenuta separatamente dalle basi di dati operazionali. I motivi per questo sono diversi:
    1. Non esiste un’unica base di dati operazionale che contiene tutti i dati di interesse.
    2. La base di dati deve essere integrata.
    3. Non è tecnicamente possibile fare l’integrazione in linea.
    4. I dati di interesse sarebbero comunque diversi.
    5. Devono essere mantenuti dati storici e aggregati.
    6. L’analisi dei dati richiede per i dati organizzazioni speciali e metodi di accesso specifici.
    7. Degrado generale delle prestazioni senza la separazione.
Una generica architettura per un datawarehouse è la seguente:
image not found
Una differenza importante tra base di dati e datawarehouse, come mostra il disegno, è che per recuperare i dati il data warehouse usa sorgenti esterne, ad esempio dati forniti da società specializzate in analisi. I sistemi operazionali dell’organizzazione sono sistemi transazionali (OLTP) orientati alla gestione dei processi operazionali, non mantengono dati storici, ogni sistema gestisce uno o più soggetti (ad esempio, prodotti o clienti), sono spesso sistemi “legacy”.
Di contro, le attività necessarie ad alimentare un data warehouse sono estrazione, cioè accesso ai dati nelle sorgenti; pulizia, cioè rilevazione e correzione di errori e inconsistenze nei dati estratti; trasformazione, cioè trasformazione di formato, correlazione con oggetti in sorgenti diverse; caricamento, con introduzione di informazioni temporali e generazione dei dati aggregati. Usa i dati provenienti da più basi di dati.
I metadati sono informazioni mantenute a supporto delle attività di recupero delle informazioni. Si possono definire come "Dati sui dati" e hanno il compito di:
  1. Dare descrizioni logiche e fisiche dei dati (nelle sorgenti e nel DW).
  2. Fare corrispondenze e trasformazioni.
  3. Quantificare i dati.
Spesso sono non dichiarativi e immersi nei programmi.
Il Data Warehouse Server è il sistema dedicato alla gestione warehouse. Può basarsi su diverse tecnologie:
  1. ROLAP: i dati sono memorizzati in DBMS relazionali (schemi a stella)
  2. MOLAP: i dati sono memorizzati in forma multidimensionale tramite speciali strutture dati tipicamente proprietarie
Gli strumenti di analisi consentono di effettuare analisi dei dati utilizzando il Data Warehouse server e offrono interfacce amichevoli per presentare, in forma adeguata e facilmente comprensibile, i risultati delle analisi.
Esistono due principali tipologie di analisi (e quindi di strumenti): Analisi multidimensionale e Data mining.
I Data Mart sono un sottoinsieme logico dell’intero data warehouse. Un data mart è la restrizione del data warehouse a un singolo problema di analisi. Un data warehouse è l’unione di tutti i suoi data mart. Un data mart rappresenta un progetto fattibile (la realizzazione diretta di un data warehouse completo non è invece solitamente fattibile). Nella rappresentazione multidimensionale, l’analisi dei dati avviene rappresentando i dati in forma multidimensionale. I concetti rilevanti sono: fatto, un concetto sul quale centrare l’analisi; misura, una proprietà atomica di un fatto; dimensione, che descrive una prospettiva lungo la quale effettuare l’analisi.
image not found
Le operazioni sui dati multidimensionali sono:
  1. Slice & dice — seleziona e proietta.
  2. Roll up (o drill up)— aggrega i dati
  3. Drill down — disaggrega i dati
  4. (Pivot — re-orienta il cubo)
I dati vengono infine visualizzati in veste grafica, in maniera da essere facilmente comprensibili. Si fa uso di: tabelle, istogrammi, grafici, torte, superfici 3D, bolle, …
Nella implementazione MOLAP i dati sono memorizzati direttamente in un formato dimensionale (proprietario). Le gerarchie sui livelli sono codificate in indici di accesso alle matrici. Nella implementazione ROLAP uno schema dimensionale (schema a stella) è composto da :
  1. Una tabella principale, chiamata tabella fatti, che memorizza i fatti e le sue misure ( le misure più comuni sono numeriche, continue e additive)
  2. Due o più tabelle ausiliarie, chiamate tabelle dimensione. Una tabella dimensione rappresenta una dimensione rispetto alla quale è interessante analizzare i fatti; memorizza i membri delle dimensioni ai vari livelli.Gli attributi sono solitamente testuali, discreti e descrittivi.
Una tabella dimensione memorizza i membri di una dimensione: la chiave primaria è semplice, gli altri campi memorizzano i livelli della dimensione, ed è tipicamente denormalizzata. La tabella fatti memorizza le misure (fatti) di un processo; la chiave è composta da riferimenti alle chiavi di tabelle dimensione, gli altri campi rappresentano le misure. Ed è in BCNF. Un fatto è additivo se ha senso sommarlo rispetto a ogni possibile combinazione delle dimensioni da cui dipende. L’additività è una proprietà importante, perché le applicazioni del data warehouse devono solitamente combinare i fatti descritti da molti record di una tabella fatti.
Le interrogazione assumono solitamente il seguente formato standard:
SELECT D1.L1,.., Dn.Ln, Aggr1(F.M1),.., Aggrk(F.Ml) FROM Fatti as F, Dimensione1 as D1, .., DimensioneN as Dn WHERE Join-predicate(F,D1) and .. and Join-predicate(F,Dn) and selection-predicate GROUP BY D1.L1, ..., Dn.Ln ORDER BY D1.L1, ..., Dn.Ln
Lo schema per la progettazione di un data warehouse è il seguente:
image not found
Le informazioni in ingresso necessarie alla progettazione di un data warehouse sono:
  1. Requisiti, cioè le esigenze aziendali di analisi.
  2. Descrizione delle basi di dati, con una documentazione sufficiente per la loro comprensione.
  3. Descrizione di altre sorgenti informative: l’analisi richiede spesso la correlazione con dati non di proprietà dell’azienda ma comunque da essa accessibili, ad esempio dati ISTAT o sull’andamento dei concorrenti.
L'analisi delle sorgenti informative comprende:
  1. Selezione delle sorgenti informative, cioè una analisi preliminare del patrimonio informativo aziendale, la correlazione del patrimonio informativo con i requisiti, l'identificazione di priorità tra schemi.
  2. Traduzione in un modello di riferimento, che è l'attività preliminare alla correlazione e all’integrazione di schemi (si svolge meglio con riferimento a schemi concettuali).
  3. Analisi delle sorgenti informative, cioè l'identificazione di fatti (concetti su cui basare l’analisi), misure (proprietà atomiche dei fatti) e dimensioni (concetti su cui aggregare le misure).
Il reverse engineering è l’attività di comprensione concettuale di uno schema di dati, a cui segue la rappresentazione di uno schema relazionale in un modello concettuale. Uno schema ER è più espressivo di uno schema relazionale. Il reverse engineering di schemi relazionali è svolto in modo semiautomatico dagli strumenti di progettazione CASE. L’integrazione di sorgenti informative è l’attività di fusione dei dati rappresentati in più sorgenti in un’unica base di dati globale che rappresenta l’intero patrimonio informativo aziendale. L’approccio è orientato alla identificazione, analisi e risoluzione di conflitti terminologici, strutturali, di codifica. L’integrazione delle sorgenti informative ha prodotto una descrizione globale del patrimonio informativo aziendale.
Ora ci occupiamo della progettazione del data warehouse che comprende tre fasi:
  1. Concettuale: completare la rappresentazione dei concetti dimensionali necessari per l’analisi.
  2. Logica: identificare il miglior compromesso tra la necessità di aggregare i dati e quella di normalizzarli.
  3. Fisica: individuare la distribuzione dei dati e le relative strutture di accesso.
Se il database è multidimensionale introduciamo elementi dimensionali nella base di dati integrata. La nostra attività sarà rivolta a:
  1. identificazione di fatti, misure e dimensioni,
  2. ristrutturazione dello schema concettuale,
  3. rappresentazione di fatti mediante entità,
  4. individuazione di nuove dimensioni,
  5. raffinamento dei livelli di ogni dimensione,
  6. derivazione di un grafo dimensionale,
  7. progettazione logica e fisica.

Home Ricerca in DataBase Strutturati Mysql Internals and Berkerley DB