Upload
nagesh-khandare
View
351
Download
3
Embed Size (px)
DESCRIPTION
Citation preview
1
Data warehousing e OLAP
• Introduzione– Il contesto, processi aziendali
• Decision Support Systems• Sistemi di Data Warehousing
– Data mart– Architettura– Modellazione Concettuale – Star Schema, Dimensioni, Livelli
• OLAP
• Progettazione di un Data Warehouse– Analisi, Integrazione, Progettazione
2
Il Contesto
• Verso la fine degli anni ‘90 si è capita l’importanza strategica, per il business, dell’uso dei dati aziendali raccolti dai processi operazionali (Business Intelligence)
• Il ritorno di investimento dato dall’automatizzazione dei processi aziendali non dava il risultato sperato.
• Occorreva sfruttare meglio i dati aziendali globali accumulati
3
In genereIn genere::
abbondanza di dati
ma anche abbondanza di ridondanza ed inconsistenza che non permette di utilizzare i dati in modo utile a fini decisionali
DB4
Il problema
DB1
DB3
DB2
4
Tipiche richieste
• Qual è il volume delle vendite per regione e categorie di prodotto durante l’ultimo anno?
• Come si correlano i prezzi delle azioni delle società produttrici di hardware con i profitti trimestrali degli ultimi 10 anni?
• Quali sono stati i volumi di vendita dello scorso anno per regione e categoria di prodotto?
• In che modo i dividendi di aziende di hardware sono correlati ai profitti trimestrali negli ultimi 10 anni?
5
•gestione dei rischi•analisi finanziaria•programmi di marketing•analisi statistica•integrazione DB clienti•integrazione relazioni clienti•analisi temporale
•telecomunicazioni•banking•università•assicurazioni•beni di consumo•salute•produzione
contesti
problematiche
Possibili applicazioni
6
In sintesi ...
daticonoscenza utile all’azienda
sistemi di supporto alle decisioni (DSS)
DSS: Tecnologia che supporta la dirigenza aziendale nel prendere decisioni tattico-strategiche in modo migliore e più veloce
7
Processi Aziendali
Processi informativi aziendali:Processi operativi
Operano su dati dipartimentali e dettagliatiDecisioni strutturate e basate su regole definite
Processi gestionaliOperano su dati settoriali e parzialmente aggregatiDecisioni semistrutturate, basate su regole note ma con intervento umano creativo
Processi direzionaliOperano su dati integrati e aggregatiDecisioni non strutturate, non cis ono regole, il tutto è basato su capacità umane
8
Processi Aziendali - Una Banca
Processi Operativi:
Gestione di un movimento su Conto Corrente bancario presso uno sportello
Processi GestionaliConcessione di un fidoRevisione delle condizioni su conto corrente
Processi DirezionaliVerifica dell’andamento di servizi su carte di creditoLancio di una campagna promozionaleAccordi commerciali
9
Processi Aziendali - Compagnia Telefonica
Processi Operativi:Stipula dei contrattiInstradamento delle telefonateDati contabili telefonate(scatti, durata, tariffa…)
Processi GestionaliStipula di contratti specialiInstallazione infrastrutture
Processi DirezionaliScelta dei parametri che fissano il costo delle telefonateDefinizione di contratti diversificatiPianificazione potenziamento infrastrutture
10
Informatizzazione dei sistemi informativi aziendali
Un sistema aziendale può essere tanto più informatizzato quanto più le sue decisioni sono strutturate.
Un processo altamente strutturato può essere facilmente informatizzato, mentro un processo non strutturato può essere solo parzialmente supportato da inziative di informatizzazione
11
Sistemi Informativi
Tipologie di sistemi informativi:
Transaction Processing System: dipartimentali, per sistemi strutturati
Management Information System: settoriali, anche per processi gestionali
Decision Support System: fortemente integrati, di supporto alle decisioni
12
Perché i sistemi tradizionali non sono sufficienti?
• Non gestiscono dati storici• Sono sistemi eterogenei• Basse prestazioni
• DBMS non adeguati al supporto decisionale• Problemi di sicurezza
13
• Sistemi tradizionali– On-Line Transaction Processing (OLTP)
• Sistemi di data warehousing– On-Line Analytical Processing (OLAP)
⇒ Profondamente diversi
Più formalmente…
14
Sistemi di Supporto alle Decisioni
I DSS sono i sistemi che supportano la dirigenza nel predere decisoni tattico-strategiche, nel modo migliore e velocemente.
Tipiche operazioni:
3. Quali sono stati i volumi di vendita dello scorso anno per una certa categoria di prodotto?
4. Quali ordini dovremmo soddisfare per massimizzare le entrate?
Ci si basa sui dati accumulati da OLTP.
15
In dettaglio ...OLTP OLAP
funzione gestione giornaliera
supporto alle decisioni
progettazione orientata alle applicazioni
orientata al soggetto
frequenza giornaliera sporadicadati recenti, dettagliati storici, riassuntivi,
multidimensionalisorgente singola DB DB multipleuso ripetitivo ad hocaccesso read/write readflessibilità accesso uso di programmi
precompilati generatori di query
# record acceduti decine migliaiatipo utenti operatori manager# utenti migliaia centinaiatipo DB singola multiple, eterogeneeperformance alta bassadimensione DB 100 MB - GB 100 GB - TB
16
Sistemi di Supporto alle Decisioni
In generale i DSS si usano per:• Customer Retention
– Identificare pattern che portano il cliente alla “defezione”
• Customer Service– Servizi di recommendation del prodotto
• Marketing– Targeting delle promozioni
• Risk Assessment, Fraud Detection– Trovare pattern sospetti
17
Evoluzione dei DSS
• Anni ‘60: rapporti batch– difficile trovare ed analizzare i dati– costo, ogni richiesta richiede un nuovo programma
• Anni ‘70: DSS basato su terminale– non integrato con strumenti di automazione d’ufficio
• Anni ‘80: strumento d’automazione d’ufficio– strumenti di interrogazione, fogli elettronici, interfacce
grafiche– accesso ai dati operazionali
• Anni ‘90: data warehousing, con strumenti integrati OLAP
18
I sistemi di data warehousing
Il Data Warehousing si può definire come il processo di integrazione di basi di dati indipendenti in un singolo repository (il data warehouse) dal quale gli utenti finali possano facilmente ed efficientemente eseguire query, generare report ed effettuare analisi
19
Data Marts
• Data warehouse dipartimentale • sistema specializzato che mette insieme i dati
necessari ad un dipartimento• implementato creando views specifiche alle
applicazioni• sottoinsiemi materializzati di views dipartimentali
che focalizzano su soggetti determinati. • Possono utilizzare differenti metafore di
rappresentazione
20
Il data warehouse
Collezione di dati che soddisfa le seguenti proprietà:• usata per il supporto alle decisioni• orientata ai soggetti
• integrata: livello aziendale e non dipartimentale• correlata alla variabile tempo: ampio orizzonte
temporale• con dati tipicamente aggregati, per effettuare stime
• fuori linea: dati aggiornati periodicamente
21
Il data warehouse
Orientata ai soggetti: considera i dati di interesse ai soggetti dell’organizzazione e non quelli rilevanti ai processi organizzativi
– basi di dati operazionali dipartimentali:
• vendita, produzione, marketing– data warehouse: prodotti, clienti, fornitori
22
Il data warehouse
Integrata: – i dati provengono da tutte le sorgenti informative– il data warehouse rappresenta i dati in modo
univoco, riconciliando le eterogeneita` delle diverse rappresentazioni:
• nomi
• struttura• codifica• rappresentazione multipla
23
Il data warehouse
Correlata alla variabile tempo: presenza di dati storici per eseguire confronti, previsioni e per individuare tendenze
– basi di dati operazionali: finestra temporale di pochi mesi
– data warehouse: finestra temporale dell’ordine di anni
24
Il data warehouse
Dati aggregati: nell’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, il massimo di un insieme di dati
25
Il data warehouse
Fuori linea: – base di dati operazionale: i dati vengono acceduti,
inseriti, modificati, cancellati pochi record alla volta– data warehouse:
• operazioni di accesso e interrogazione diurne
• operazioni di caricamento e aggiornamento notturne che riguardano milioni di record
26
DataWarehouse
ExtractTransformLoadRefresh
OLAPServer
AnalysisQueryReportsData mining
Tools
Serve
Data Marts
Operational DBs
other
sources
Architettura
27
Popolare un data warehouse
• Estrazione dei dati dalle sorgenti informative• Trasformazione e pulizia dei dati,
trasformazione di formato e correlazione con oggetti provenienti da altre sorgenti
• Caricamento aggiunta di informazioni temporali e generazione di dati aggregati
• Refresh - modalità incrementale
28
System Design
• Capacita` di pianificazione nel definire l’architettura• Integrazione di servers e clients• Disegno degli schemi e delle viste del data warehouse• Disegno dell’organizzazione fisica del warehouse: metodi
di accesso, di caricamento, di partizionamento• Metodi di connessione
• Disegno e implementazione degli script per l’estrazione, il caricamento e il refresh dei dati
• Definizione dei metadati e popolamento della repository• Disegno e implementazione delle applicazioni-utente
29
Tecnologie coinvolte
• conceptual data modeling– disegno dello schema del warehouse
• integrazione di dati da fonti eterogenee
– monitoraggio e integrazione• estensione di tecniche relazionali• distributed and parallel processing
– warehouse & OLAP server
30
Modellazione concettuale di un data warehouse
Dimensioni e misure
– Star schema: Un singolo oggetto (fact table) in mezzo connessa ad un numero di oggetti (dimension tables)
– Snowflake schema: Un raffinamento dello star schema in cui la gerarchia dimensionale è rappresentata esplicitamente (normalizzando le tabelle delle dimensioni)
– Fact constellations: fact tables multiple condividono dimension tables.
31
Star Schema
• Un fatto è un evento di interesse per l’impresa (vendite, spedizioni, acquisti)
• Le misure sono attributi che descrivono quantitativamente il fatto da diversi punti di vista (num di unità vendute, prezzo unitario)
• Una dimensione determina la granularità minima di rappresentazione dei fatti (il prodotto,il negozio, la data)
• Una gerarchia determina come le istanze di un fatto possono essere aggregate e selezionate - descrive una dimensione
32
Dimensioni
• Devono essere scelte sono le entità rilevanti per l’analisi
• Tipicamente sono caratterizzate da attributi testuali o discreti
• La dimensione temporale esiste sempreEsempio: •vendite in una catena di supermercati
–Dimensioni: tempo, prodotti, magazzino
•Iscrizioni universitarie–Dimensioni: tempo, facoltà, tipologia studenti
33
Dimensioni
Come si identifica se un attributo numerico è un fatto o una dimensione?
Se è una misura che varia continuamente nel tempo è un fatto analisi costo di un prodotto nel tempo
Se è una discrizione discreta di qualcosa che e’ ragionevolmente costante è un attributo di una dimensione costo di un prodotto come informazione descrittiva
34
Dimensioni
• Tipicamente le dimensioni sono:– Tempo– Collocazione geografica– Organizzazione
– Clienti
• Il numero di attributi per ogni dimensione è in genere molto elevato (centinaio)
35
Fatti
• I fatti sono tipicamente numerici addittivi• Es. vendita in una catena di supermercati i
fatti possono essere – N. prodotti venduti
– Incassi– Costi– …..
36
Addittività dei fatti
• Se i dati si possono aggregare sommando rispetto ad ogni dimensione, sono detti addittivi (incassi totali)
• Se si possono aggregare sommando su alcune dimensioni, ma non si possono aggregare sommando su altre sono detti semiaddittivi (es. le misure statiche come bilanci finanziari sono semiaddittive rispetto al tempo)
• Se i fatti non si possono sommare sono detti non addittivi (es. costi unitari non si possono aggregare se prima non si moltiplicano per la unita’ vendute)
37
Gerarchie ed aggregati
• L’idea delle gerarchie é di aggregare automaticamente i dati di interesse quando ci si focalizza su un livello
Se ci concentriamo su “Mese” i fatti rappresentano i totali delle vendite per ogni mese
• Possiamo concentrarci su diversi livelli della gerarchia in dimensioni diverse
le vendite mensili per regione di ogni prodotto
• Gerarchia Tipica:
– Comune, Provincia, Regione,Stato, Continente
38
Esempio di Star Schema
DateMonthYear
Date
CustIdCustNameCustCityCustCountry
Cust
Sales Fact Table
Date
Product
Store
Customer
unit_sales
dollar_sales
Yen_sales
Measurements
ProductNoProdNameProdDescCategoryQOH
Product
StoreIDCityStateCountryRegion
Store
Chiavi Esterne
La Fact Table è normalizzata
39
Esempio di Snowflake Schema
DateMonth
Date
CustIdCustNameCustCityCustCountry
Cust
Sales Fact Table
Date
Product
Store
Customer
unit_sales
dollar_sales
Yen_sales
Measurements
ProductNoProdNameProdDescCategoryQOH
Product
MonthYear
MonthYear
Year
CityState
City
CountryRegion
CountryStateCountry
State
StoreIDCity
Store
40
Star Schema vs Snowflake Schema
• Uno schema snowflake fattorizza di più e quindi rende meno efficienti le operazioni di ricerca (+ operazioni join)
• In genere si usa solo quando aumenta la leggibilità dello schema e le prestazioni globali
41
OLAP: On-Line Analytical Processing
• Una visione multidimensionale, LOGICA, dei dati• Analisi interattiva dei dati• Modellazione analitica: derivazione delle proporzioni, delle
varianze, etc • Aggregazioni per ogni intersezione di ogni dimensione.
• Previsione, trend analysis, e statistical analysis.
• Calcola e visualizza i dati in 2D o 3D crosstabs, charts, e grafi, with semplici operazioni di pivoting degli assi
42
OLAP: Data Cubes
sum
Milk Bread … ... sumJan 96
… ...
sum
Feb 96
Product
Store
Time
OrangePisa
RomaFirenze
All ProductsJanuary 96, Pisa.
Ogni dimensione contiene una gerarchia di valoriuna cella del cubo contiene valori aggregati (count, sum, max, etc.)
43
OLAP: esempi
prodotto
magazzino
tempo
Il manager regionale esamina la vendita dei prodotti in tutti i periodi relativamenteai propri mercati
Il manager di prodotto esamina la vendita di un prodotto in tutti i periodo e in tutti i mercati
Il manager finanziario esamina la vendita dei prodotti in tutti i mercati relativamente al periodo corrente e quello precedente
Il manager strategico si concentra su una categoria di prodotti, un’area regionale e un orizzonte temporale medio
44
Operazioni tipiche
• Roll up: riassumi i dati– il volume totale di vendite per categoria di
prodotto e per regione• Roll down, drill down, drill through: passa da un
livello di dettaglio basso ad un livello di dettaglio alto– per un particolare prodotto, trova le vendite
dettagliate per ogni venditore e per ogni data
• Slice and dice: select & project– Vendite delle bevande nel West negli ultimi 6
mesi• Pivot: riorganizza il cubo
45
Operazioni tipiche: Pivot
ProductStore
Time
All
Time
All
Time
ProductAll
All
AllAll
Drill-Down
Pivot
Pivot
Drill-Down
Drill-Down
Pivot
46
Operazioni tipiche: Roll-Up
ProductStore
Month
ProductStore
Year
Roll-up
Drill-Down
ProductRegion
Year
Roll-up
Drill-Down
47
Operazioni tipiche: Slice and Dice
ProductStore
Month
Slice
ProductStore
Month
48
ROLAP & MOLAP
ROLAP (Relational OLAP): – utilizza le funzionalità di un’engine relazionale
• Tecnologia consolidata• molto efficienti su dati di dettaglio• estesi in modo da permettere la materializzazione degli aggregati • performance• scalabilità• general-purposes
– fornisce ulteriori servizi OLAP services• tools di disegno per schemi DSS• permette di utilizzare performance analysis tools
– SQL strumento principale– Queries difficili da formulare e possono essere time-
consuming
49
ROLAP & MOLAP
MOLAP (Multidimensional OLAP): • Il modello di memorizzazione è un vettore
multidimensionale
• Queries multidimensionali si mappano sul server in modo immediato
• Ma:– Dati sparsi difficili da gestire
– Memoria sottoutilizzata– … no join– … no interfaccia SQL (API)– … necessità sistema relazionale per dati dettaglio– … file molto grandi– … limitazioni a circa 10GB (problemi scalabilità)
50
DBMS multidimensionali
vendite prodotto mese magazzino
1 vino febbraio A2 acqua febbraio B3 coca cola aprile A4 acqua maggio A5 acqua settembre C
… … … ...
prodotto
magazzino
tempo
vino acqua coca cola
mag
apr
feb
set
CB
A
15 121
42
10
9
25
2
7
11
23
3
51
ROLAP & MOLAP
• Performance– Query: MOLAP– Caricamento: ROLAP
• Analisi: MOLAP• Dimensione DW: ROLAP
– MOLAP: problema sparsità
• Flessibilità nello schema: ROLAP– MOLAP: minor numero di dimensioni ammesse
52
Metodologie di Progetto
La progettazione di un data warehouse è diversa dalla progettazione di una base di dati operazionale, infatti i dati da memorizzare hanno caratteristiche diverse, si è vincolati alle basi di dati esistenti.
53
Progettazione del Data Warehouse
Attività principali:– Requisiti utenti (interviste….)– Analisi delle sorgenti informative esistenti– Integrazione– Progettazione concettuale, logica e fisica
54
Progettazione del Data Warehouse
AnalisiSelezione delle sorgenti informativeTraduzione in un modello concettuale comuneAnalisi delle sorgenti informative
IntegrazioneIntegrazione di schemi concettuali
ProgettazioneProgettazione Concettuale
Progettazione Logica
Progettazione Fisica
55
Dati in ingresso
• Requisiti aziendali di analisi• Descrizione delle basi di dati• Descrizione di altre sorgenti informative (dati
ISTAT etc)
56
Fase di Analisi
• Selezione delle sorgenti informative• Traduzione in un modello concettuale di
riferimento (integrazione tra schemi)• Analisi delle sorgenti informative
(identificazione dei fatti, misure e dimensioni)
57
La fase di Integrazione
• E’ l’attività di fusione dei dati rappresentati in più sorgenti in un’unica base dati globale.
• Lo scopo principale è l’identificazione di tutte le porzioni delle sorgenti informative che si riferiscono allo stesso aspetto e unificare la loro rappresentazione
• Identificazione analisi e risoluzione di conflitti
58
La Fase di Progettazione
• La semplice integrazione non descrive tutti i dati di interesse
• Progettazione:– Concettuale - individuare concetti dimensionali
necessari per l’analisi
– Logica - identificare il miglior compromesso tra la necessità di aggregare i dati e di normalizzarli
– Fisica - individuare la distribuzione dei dati e relative strutture di accesso
59
Modelli dei Dati
• Le sorgenti informative possono essere varie: legacy, relazionale, object-oriented, semistrutturato, rappresentazione concettuale
• Per l’analisi e l’integrazione si fa riferimento al modello Entità - Relazioni
• Per la progettazione si usa il modello logico per basi di dati multidimensionali (MD)
• Per la realizzazione si fa riferimento al modello relazionale (ROLAP) e ad un modello multidimensionale generico (MOLAP)
60
Reverse Engineering
• Attività di comprensione concettuale di uno schema di dati - da relazionale a concettuale
• Uno schema ER è più espressivo di uno schema relazionale, ci vuole conoscenza di dominio per recuperare la conoscenza persa nella progettazione logica
• Il reverse engineering di schemi relazionali viene fatto in modo semiautomatico da strumenti CASE
61
Integrazione di sorgenti informative
• E’ necessario risolvere i conflitti che nascono dall’integrazione degli schemi. Sono dovuti alla diversa rappresentazione dell’informazione.
• Esempio: Nome e Cognome:– “Mario”, “Rossi”– “Mario Rossi”– “Rossi Mario”– “Rossi, M.”
62
Progettazione del DW e schemi MD
• Introduzione di elementi dimensionali nella base di dati integrata
• Identificazione di fatti, misure e dimensioni• Ristrutturazione dello schema concettuale
– Rappresentazione dei fatti tramite entità– Individuazione di nuove dimensioni– Raffinamento dei livelli per ogni dimensione
• Grafo dimensionale
• Progettazione logica e fisica
63
Schema integrato ER
64
Grafo di derivazione di uno schema dimensionale
65
La traduzione
• La dimensioni corrispondono agli ipernodi del grafo
• Livelli e descrizioni corrispondono ai nodi• Le funzioni di roll-up corrispondono agli archi
del grafo• Le tabelle dei fatti sono derivabili dai nodi
fatto
66
Star Schema