Capitolo settimo La filosofia Data Warehouse Capitolo settimo La filosofia Data Warehouse 7.1. Introduzione Il mercato di riferimento geografico di un'azienda non è più il paese o il continente, ma l’insieme dei grandi paesi industrializzati1. Si parla, dunque, di globalizzazione dei mercati, intendendo con questo termine il fatto che i mercati locali, essendo fra loro interdipendenti, diventano un tutt’uno. Tutto ciò determina per le imprese, sia nuove opportunità, sia un aumento della pressione competitiva. La pressione competitiva aumenta anche a causa della deregolamentazione e liberalizzazione di tutti i settori. Linee aeree, ferrovie, telecomunicazioni, servizi di fornitura d'energia ed acqua hanno tutti assistito alla fine del supporto governativo delle posizioni monopolistiche permettendo a nuovi fornitori di entrare nei mercati e di scegliersi gli utenti. Le imprese, nell’ambito delle strategie di Business2, devono affrontare la competizione attraverso nuovi, più veloci, più attraenti modi che conquistarsi gli acquirenti3. La forza della competizione è legata all’efficienza del mercato. L'efficienza del mercato dipende dalla facilità d'accesso dello stesso da parte dell’utente e dalla quantità d'informazioni disponibili al consumatore su tutti i prodotti del mercato. Le nuove tecnologie ampliano sia l’accessibilità del mercato, sia la conoscenza dei prodotti da parte dell’utente, avvicinandolo sempre più all’accesso perfetto e alla perfetta informazione. In una situazione di questo tipo la competizione tende ad essere più dura4. J.J. Lambin :”Marketing”, McGraw-Hill. “La redditività di una impresa dipende da due fattori :la redditività del settore in cui opera e la capacità dell’impresa di stabilire un vantaggio competitivo rispetto ai suoi rivali. La scelta del settore o dei settori riguarda la strategia a livello corporate. Stabilire un vantaggio entro un particolare settore è ciò che si propone di stabilire la strategia a livello di business.” R.M. Grant : L’analisi strategica nella gestione aziendale. 3 Si possono portare alcuni esempi : assistenza diretta via telefono, home-banking e shopping via cavo o tramite Internet.. The second Age of Computing Data Warehousing with Oracle. R. Stewart. 4 “Un esempio : Un giocatore di golf residente a N.Y. prenderà in considerazione (e quindi è limitato) per il suo equipaggiamento da golf solo i fornitori di N.Y.. Al contrario con un PC ed un equipaggiamento internet, una carta di credito il nostro giocatore di golf può velocemente acquistare da qualsiasi fornitore nel mondo che effettui pubblicità sulla rete. 297 1 2 Capitolo settimo La filosofia Data Warehouse Per avere un vantaggio competitivo in un ambiente caratterizzato dall’industria globale, innovativa, deregolamentata, sempre più aggressiva, le imprese devono migliorare la loro comprensione del business, dei loro clienti, dei loro mercati. Devono conoscere con esattezza chi sono i clienti, come fare a mantenerli, come e quando spendono il loro denaro, quali beni e servizi saranno acquisiti, da chi e così via . Le imprese devono focalizzare le loro energie su questi elementi in modo tale da poter sfruttare al massimo le diverse e mutevoli opportunità che si presentano. Se ciò non avverrà, i clienti andranno altrove. Nella produzione di massa ha sempre più importanza la cosiddetta personalizzazione del prodotto. Oggi non è più sufficiente per un'azienda portare un qualsiasi prodotto di massa o servizio sul mercato maturo ed aspettarsi di venderlo abbastanza bene per un certo periodo di tempo. Il cliente chiede un prodotto più personalizzato, che soddisfi meglio i suoi bisogni. Per sopravvivere in questi mercati le imprese avranno bisogno di identificare in modo più adeguato i bisogni dei consumatori, segmentando il mercato stesso, per offrire prodotti che si avvicinino il più possibile alle richieste di questo o di quel segmento. Anche se il prodotto in se stesso non può essere Questo fatto rende la vita dei fornitori di attrezzature di golf di N.K. più difficile.” The second Age of Computing Data Warehousing with Oracle. R. Stewart. 4 Caratteristiche dello scenario Industriale : ? Maggiore concorrenza ? Diffusione/Omogeneizzazione della Tecnologia ? Incertezza economica ? Ritmo di crescita più basso ? Minore prevedibilità dei clienti ? Riduzione del Time-to Market ? Re-engineering dei processi Aziendali ? Aggiornamento dell’offerta ? Valorizzazione della base dei Clienti Esistenti Fonte :Data Warehouse, metodologia, Architettura e prodotti. Presentazione Datamat per il gruppo FIAT. 298 Capitolo settimo La filosofia Data Warehouse personalizzato, il modo di fornirlo e con cui si effettua il pagamento può esserlo. Questa situazione genera una maggiore richiesta di informazioni per conoscere meglio i clienti, i mercati, la concorrenza. Le fonti di queste informazioni si trovano all’esterno ma innanzi tutto all’interno dell’impresa. La tecnologia dei computer è stata applicata fin dai primi anni di attuazione ai processi operativi di un'impresa (sistemi di fatturazione, emissione di ricevuta, prenotazioni, gestione degli ordini di vendita, controllo del magazzino, finanza, ecc..). Attraverso i sistemi operazionali attualmente in uso, una grande quantità di dati viene raccolta e conservata. Questi dati descrivono con molta precisione, e spesso implicitamente, gli aspetti critici del business : clienti, mercati, prodotti, vendita e le relazioni che intercorrono tra questi. Tali informazioni devono essere rese disponibili a coloro che ci lavorano sopra : direttori, lo staff di marketing, gli analisti di business e di prodotti, ecc.. Così come sono prodotti, questi dati “operazionali” non riescono a soddisfare le esigenze di chi deve lavorare con l’informazione attraverso particolari applicazioni DSS, MIS o altro. Questi dati, così come sono raccolti, sono destinati a servire i sistemi operazionali per i quali sono stati creati. E non potrebbe essere altrimenti ; in altre parole non si potrebbe riconfigurare la raccolta di questi dati, che devono servire particolari operazioni per accogliere le esigenze informative, poiché verrebbe meno quello che è il loro scopo originario che deve essere senz’altro soddisfatto. Una soluzione è quella di duplicare i dati liberandoli dai confini dei diversi sistemi per integrarli ed arricchirli con informazioni di provenienza esterna (ricerche di mercato, analisi industriali, notizie da agenzie, reti mondiali ed altro). Devono, inoltre, essere predisposti dei Tools (strumenti) che mettano in grado i vari utenti di analizzare le informazioni a loro disposizione. Il Data Warehouse si occupa proprio di questo. 299 Capitolo settimo La filosofia Data Warehouse In un'interpretazione più limitata un Data Warehouse è semplicemente il database o i database in cui i dati rilevanti dei sistemi operativi sono copiati e resi disponibili agli utilizzatori di informazioni attraverso strumenti analitici di indagine. In un senso più ampio rappresenta l’intera struttura di estrazione di dati grezzi dai sistemi operativi, di trasformazione in informazioni affidabili, di trasporto in apposito ambiente per l’utente delle informazioni e la fornitura degli strumenti on-line per analizzare questi dati (OLAP Tools, data mining, ecc..) al fine di fornire conoscenza alla Direzione del business5. 7.2. Evoluzione dei sistemi di raccolta dati Le aziende hanno sempre cercato di raccogliere dati. In passato ciò era possibile solo tramite mezzi cartacei. Successivamente si è avuto l’avvento di mezzi meccanici ed elettronici che hanno facilitato questa attività. In un primo momento (anni ‘60) venivano create solo applicazioni con dati legati alle applicazioni stesse. Questo faceva si che per ogni applicazione si aveva un archivio, creando così evidenti problemi di ridondanza dei dati. . The second Age of Computing Data Warehousing with Oracle. R. Stewart. “il Data Warehouse è un processo, non un prodotto. Questa rappresenta una particolare tecnica per assemblare e gestire dati provenienti da varie sorgenti per realizzare una singola , dettagliata vista di una parte o di tutto il business.” White paper di NCR Corporation : Data Warehousing :Clearing the Confusion. “Il D/W nasce dalla costituzione di un ambiente, fisicamente separato dal database operazionale, ottimizzato per le interrogazioni e il supporto alle decisioni. C’è, quindi, una netta distinzione tra sistema operazionale e sistema decisionale.......Sono differenti anche gli utenti dei due sistemi : nel primo caso è lo staff operazionale dell’azienda (contabili, addetti agli sportelli..), mentre nel secondo sarà il top il middle manager a servirsi dei dati del D/W per l’analisi, l’accesso e la produzione di report.” P. Lombardi : Nuovi strumenti per cercare i dati, Zerouno 3/1995 B. Cortona nell’articolo di Zerouno del 4/1995 afferma :” La nascita del concetto di warehouse (magazzino) risale alla metà degli anni ’80 ma solo dai primi anni ’90 ha iniziato a trovare la piena attuazione. L’idea che sta alla base è molto semplice : estrarre dai database operazionali i dati significativi, compattarli e metterli infine a disposizione degli strumenti desktop, che effettuano le proprie interrogazioni sul warehouse e non più sui database operazionali.” D. Sandri nell’articolo :La soluzione del SAS Insititute di Zerouno del 4/1995 afferma : “Il Data Warehouse è in sostanza una soluzione tecnologica con la quale i dati vengono archiviati secondo un bes determinato formato che ne facilita l’accesso e la consultazione da parte degli utenti. In genere interessa non tutti gli utenti di una azienda, ma per lo più i decision maker, quelle persone che nell’ambito dell’impresa hanno bisogno di dati di sintesi provenienti dalle varie unità aziendali, sui quali operare ulteriori elaborazioni e grazie ai quali simulare scenari e prendere infine decisioni.” 5 300 Capitolo settimo La filosofia Data Warehouse Verso gli anni ’70 cominciano a diffondersi i primi gestori di basi dati in cui si realizza una separazione fra le applicazioni e gli archivi dati. Allo stesso modo si diffondono nuovi supporti fisici per la registrazione (dischi magnetici). Una singola base di dati può servire più applicazioni. Verso gli anni ’80 prendono il via le tecnologie distribuite, per cui le applicazioni che erano dirette ai decisori potevano essere spostate più vicino ad essi (attraverso l’uso dei PC). Si comincia a pensare di poter utilizzare i dati di questi database, costruiti però per servire specificatamente le transazioni, per sistemi MIS o DSS. Ma le difficoltà per realizzare questi sistemi erano molte. Sempre negli anni ’80 si sono creati dei programmi capaci di estrarre i dati da una base di dati, secondo vari criteri, per trasferirli altrove. Questi dati a loro volta possono essere trasferiti ancora in altri database creando la possibilità di avere schemi come quelli in figura. Software per estrarre i dati Figura 7.1. Legacy system Questa “ragnatela” viene chiamata legacy system. 301 Capitolo settimo La filosofia Data Warehouse 7.3. Problemi con la naturale evoluzione della architettura. L’evoluzione di questa architettura pone alcuni problemi per l’utilizzo diretto di applicazioni DSS, EIS ed analisi6 . I principali problemi sono : ? la credibilità dei dati ? la produttività ? l’incapacità di trasformare i dati in informazioni. Mancanza di credibilità dei dati. Il primo di questi problemi è quello della mancanza di credibilità dei dati. Inmon porta il caso di due dipartimenti che realizzano due report sullo stesso tema con i dati del legacy ottenendo due risultati differenti. Di fronte a queste incongruità il management non sa bene cosa fare. Ci sono alcune ragioni che possono causare questa incongruità : ? i report non si sono effettuati nello stesso tempo ? scelta di parametri differenti per l’analisi dei di dati ? problemi con i dati esterni ? utilizzo di fonti diverse Realizzare i report in istanti di tempo differenti può portare a dei risultati diversi poiché nel tempo trascorso si sono verificate delle transazioni che possono aver mutato i dati. La scelta di parametri differenti per l’analisi dei di dati può allo stesso modo produrre risultati differenti qualora, ad esempio, si decida di prendere in considerazione tutte le polizze vita o solo quelle più vecchie. I dati esterni che spesso vengono utilizzati nei report non sono coordinati fra di loro e non c’è neppure coordinamento con i dati interni utilizzati. Ad esempio, per realizzare un report possono essere stati utilizzati dati del Wall Street Journal mentre in un altro i dati di Business Week. I dati dei due giornali, anche se riguardano lo stesso argomento, possono essere “......Convinti delle promesse dei produttori che il loro sistema di gestione dati sarebbe stato in grado di soddisfare sia le necessità di produzione (l’OLTP) che di supporto alle decisioni, gli EDP aziendali hanno per qualche tempo scelto di far accedere gli utenti direttamente ai database operazionali. In breve hanno dovuto fare marcia indietro dopo aver constatato che le operazioni sui dati tipiche dell’analisi per il supporto decisionale sono molto diverse da quelle tipiche dell’OLTP e pesanti nell’esecuzione.” B. Cortona :Come accedere ai patrimoni di dati, Zerouno 4/1995 302 6 Capitolo settimo La filosofia Data Warehouse diversi Più in generale poi, ci possono essere delle discrepanze nei risultati dovuti alla scelta di fonti diverse per realizzare lo stesso report. Il problema della produttività Un altro problema è quello relativo alla produttività, ovvero alla efficienza dovuta alla naturale evoluzione di questa struttura. Per realizzare i report occorrerà localizzare i dati che sono sparsi nel legacy, estrarli e realizzare programmi di analisi dei dati. I dati che servono in un report sono sparsi nel legacy. Questi si sono stratificati nel tempo senza pensare che un giorno si sarebbero dovuti integrare. Per cui, stessi dati potranno avere nomi diversi come dati diversi potranno avere lo stesso nome. Quindi, localizzare i dati è un processo difficile e noioso. Una volta localizzati, i dati devono essere estratti. Per ogni fonte di dati si dovrà realizzare un programma per l’estrazione. Infine, si dovrà realizzare il report. Tutte queste attività occupano tempo, ed un eccessivo impiego dello stesso può portare a realizzare dei report che non hanno nessun valore perché non sono più attuali. Dai dati all’informazione Un altro limite della architettura legacy è quello relativo alla capacità di fornire informazioni. I decisori hanno bisogno di informazioni di carattere complesso derivanti dall’aggregazione di più fonti. Spesso questa integrazione è difficile poiché i dati vengono estratti da database che non sono stati progettati per servire questi scopi, ma per supportare delle transazioni. Inoltre, un altro limite è rappresentato dall’orizzonte temporale dei dati. Mentre i decisori hanno bisogno di informazioni storiche che mostrino gli andamenti passati e le previsioni sul futuro, ai database operazionali interessa solo mantenere aggiornati i dati e, quindi, tendono ad avere la memoria più corta (perché si tengono in linea solo i dati correnti). 303 Capitolo settimo La filosofia Data Warehouse 7.4. Il magazzino dei dati Per superare l’empasse dei problemi visti fino ad ora si è trovata la soluzione Data Warehouse. Il cuore di questa architettura si basa su due tipi di dato. Quello primitivo residente nel legacy e quello derivato residente nel Warehouse. I dati derivati sono ricavati in tutto o in parte da quelli primitivi e posti nel Warehouse (o repository), vale a dire un grande database. Il Data Warehouse è di sola lettura e periodicamente viene aggiornato. Quindi, fra un aggiornamento e l’altro i dati sono sempre gli stessi, al contrario dei database operazionali che sono soggetti ad un continuo mutamento. Si possono distinguere nel Data Warehouse quattro livelli. Il primo è il livello operazionale composto di dati primitivi del legacy ed eventualmente di altre fonti esterne. Il secondo è quello del Warehouse (o repository) in cui i dati, dopo una attività di acquisizione vengono inseriti a livello atomico. I dati non vengono letti direttamente da qui ma verranno ulteriormente estratti o sintetizzati nei Datamart (terzo livello, o livello dipartimentale)7, che rappresentano database destinati a servire particolari funzioni richieste dall’utente finale (analista DSS, data mining, ecc..). Il quarto livello è quello individuale, ovvero quello dell’analista o del decisore che con il suo PC utilizza delle applicazioni che vanno a “pescare” dati dal Datamart per effettuare l’attività di analisi. Se la struttura logica di un Data Warehouse si dispone su questi quattro livelli, la struttura “fisica”, o meglio hardware, è un Client Server. Infatti, l’analista opera con le sue applicazioni da PC mentre i vari database risiedono su server. Quindi, l’ambiente è quello di una rete con elaborazione distribuita8. Un Datamart rappresenta uno speciale subset di dati estratti da una unità centrale e tali dati vengono selezionati per servire una particolare funzione o applicazione.” White Paper di NCR corporation : Data Warehousing :Clearing the Confusion 8 L’architettura C/S può essere a due o atre livelli. I sistemi a due livelli sono piuttosto semplici. Il client spesso definito Fat client perché svolge la maggior parte della elaborazione, comunica al server le richieste di accesso al database mediante SQL o attraverso una interfaccia come ODBC. Nei sistemi a tre livelli, l’elaborazione viene in buona parte affidata ad un application server distinto. In questo modo l’interfaccia utente, l’aspetto elaborativo e la gestione del database vengono separati. A. Dickman Zerouno 2/1996 (trasduzione da InformationWeek) 304 7 Capitolo settimo La filosofia Data Warehouse Figura 7.2. Livelli del Data Warehouse 7.5. Il costo del Data Warehouse La valutazione dell’investimento in strutture Data Warehouse non può essere fatta tramite tecniche classiche come, ad esempio, il ROI. E’ impossibile “pianificare” e verificare quali siano i reali costi e benefici che questo tipo di architettura determina 9. Fortunatamente il Data Warehouse è una architettura incrementale, per cui si può costruire un primo Data Warehouse con un “Realizzare una soluzione di Data Warehousing ben dimensionata sulle esigenze aziendali comporta tutta una serie di difficoltà da superare ; non soltanto nei criteri e nei metodi di implementazione ma anche nella capacità dell’azienda di supportare nel tempo questa scelta a fronte di una chiara valutazione dei costi diretti (software, hardware, reti) e soprattutto quelli indiretti, quali la definizione e il mantenimento della organizzazione preposta al ruolo di gestore del Data Warehouse (con figure professionali dedicate) , con tutte le complesse problematiche relative all’aggiornamento periodico dei dati estratti dai data base operazionali e inseriti nel Data Warehouse in funzione delle differenti esigenze di supporto decisionale sparse nell’azienda” S. Uberti Foppa :Quando serve un D/W, Zerouno 4/1995 Inmon in una intervista rilasciata a Giorgio Marras di Zerouno del giugno 1996 affermava che per ogni dollaro speso per soddisfare le esigenze dell’executive community se ne spendono almeno 9 per acquisire dati dalle applicazioni legacy e trasferirli all’ambiente EIS. Questo in assenza di un ambiente Data Warehouse. Attraverso il D/W questa componente di costo tende a scendere. 9 305 Capitolo settimo La filosofia Data Warehouse modesto impiego si denaro. Una volta che la prima porzione di D/W è stata costruita l’analista può esplorarne le possibilità10. Comunque una società di ricerche, Metrica, ha realizzato una indagine su 117 aziende Europee (non ci sono aziende italiane) al fine di valutare quale fossero i vantaggi economici e commerciali del D/W legati a sistemi DSS. Il 55% del campione ha già inserito sistemi di Data Warehouse e il 30% ha deciso di realizzarlo nei prossimi due anni. Solo 31 delle 64 aziende che hanno implementato sistemi DSS e D/W hanno potuto o saputo quantificare in termini economici il vantaggio portato dalla scelta effettuata. Le altre non sono state capaci di definire i criteri di valutazione economica o di misura dei risultati. Queste 31 aziende hanno valutato in media un guadagno attribuito all’uso di un DSS basato su D/W pari a 5,4 milioni di dollari. Il settore delle telecomunicazioni mostra un guadagno maggiore (10,1 milioni), seguito dalla distribuzione (8,6 milioni), dalla finanza (7,8 milioni) e dagli altri (3,2 milioni). Il guadagno che un DSS può portare 12 Milioni di $ 10 8 6 Finanza 4 Distrib 2 Telecom 0 Altri 1 10 W.H. Inmon :”Building The Data Warehouse” 306 Capitolo settimo La filosofia Data Warehouse Figura 7.3. Guadagno che un Dss può portare (fonte Zerouno) Più visibili dei benefici economici sono i vantaggi commerciali. Il miglioramento del servizio al cliente rappresenta uno dei risultati maggiori, seguito dall’aumento dell’efficienza operativa, dal miglioramento della redditività del cliente dalla migliore comprensione del mercato tramite segmentazione. Ovviamente le ricadute sul business variano da comparto a comparto. Le aree di maggiore applicazione del D/W sono oggi quelle delle vendite e marketing e (nelle società finanziarie) della gestione dei rischi e redditività. Una delle principali sfide che si presenta, ad esempio, alle banche per lo sviluppo delle attività a livello regionale è quella di garantire un servizio al giusto prezzo alle persone giuste e nel giusto modo, vale a dire in termini redditizi. L’unica via per raggiungere questo scopo è possedere informazioni su ogni cliente e saperle utilizzare al momento opportuno. Utilizzi di Data Warehouse Dati totali 30% 55% 15% Giallo :non previsto Azzurro :previsto entro due anni Granata :Dispone di un DSS 307 Capitolo settimo La filosofia Data Warehouse Dati per settore Distribuzione Finanza 21% 17% 62% 33% 0% 67% Altri Telecomunicazioni 33% 36% 40% 56% 11% 24% Giallo : Dispone di un DSS Granata : Non previsto Azzurro :previsto entro 2 anni Figura 7.4. Data Warehouse attuali o pianificati nelle aziende europee (Fonte : METRICA) 7.6. L’ambiente Data Warehouse Il vero cuore dell’ambiente architetturale Data Warehouse è il warehouse o repository. Questo rappresenta una singola integrata sorgente di dati destinata a fornire materiale utile per il DSS processing. Un Data Warehouse è una collezione di dati che supporta le decisioni del management ed è orientato al soggetto, integrato, non instabile e a tempo differente11. Orientato al Soggetto 11 W.H. Inmon “Building of the Data Warehouse” 308 Capitolo settimo La filosofia Data Warehouse Si può portare come esempio di orientamento al soggetto12 quello di una compagnia assicuratrice. Le classiche operazioni di sistema sono organizzate intorno alle applicazioni della compagnia. Per una compagnia assicuratrice le applicazioni possono essere auto, vita, danni, ecc.. Invece le grandi aree soggetto della compagnia possono essere cliente, polizze, premi e richieste. Ambiente operazionale Auto Vita Salute Danni Applicazioni Ambiente Data Warehouse Clienti polizze premi richieste Soggetti Figura 7.5. Un esempio di orientamento al soggetto In generale il Data Warehouse è orientato su quelli che sono i grandi soggetti della organizzazione, i quali sono stati definiti nel modello dei dati. I soggetti tipici sono : ? cliente ? prodotto ? transazione o attività ? ecc.. Le tabelle presenti nella base dei dati sono strutturate sui soggetti dell’azienda come si vede nell’esempio in figura. Sicuramente il Data Warehouse contiene solo tipi di informazioni utili al processo decisionale ; ad esempio i dati non sono organizzati per applicazione (come acquisti, spedizioni, ecc..) bensì per soggetto (per nome del cliente, piuttosto che per vendite dei maglioni in una determinata area, oppure per richieste di indennizzi, ecc..). Inoltre, i dati devono essere memorizzati in base a regole definite. Non è un problema da poco se si considera che i data base operazionali da cui provengono i dati, sono strutturati secondo 12 309 Capitolo settimo La filosofia Data Warehouse Base dei dati del cliente 1985-1987 Base dei dati del cliente 1988-1990 Attività del cliente 1986-1989 Cliente ID dalla data Alla data nome indirizzo telefono sesso .......... Cliente ID dalla data Alla data nome valutazione del credito Impiego indirizzo telefono ........... sesso Cliente ID mese Numero di transazioni medie nel mese Numero di transazioni più elevate per mese Numero di transazioni più basse per mese ...................................... Figura 7.6. Esempio di organizzazione del D/W per soggetto cliente (Building the D/W) Un aspetto fondamentale delle tabelle riguardanti il soggetto è che queste sono tutte collegate da una chiave comune (in questo esempio Cliente ID) in modo tale da realizzare una correlazione fra tutti i dati riguardanti un cliente. Un altro aspetto fondamentale è che i dati relativi al soggetto possono risiedere anche su differenti mezzi di memorizzazione. Cliente Dati del cliente 1985-1987 Attività del cliente dettagli 1987-1989 Dati del cliente 1988-1990 Attività del cliente 1986-1989 Attività del cliente dettagli 1990-1991 Figura 7.7. Il soggetto può essere tenuto in differenti mezzi di memorizzazione convenzioni (codici di identificazione clienti, merci) e modelli (gerarchici, relazionali, flat file). S. Umberti Foppa : Quando serve un D/W, Zerouno 4/1995 310 Capitolo settimo La filosofia Data Warehouse I dati che hanno una maggiore probabilità di accesso e un basso volume di immagazzinamento, risiederanno su mezzi che possono garantire un accesso più veloce e che sono relativamente più cari. Invece i dati che hanno una bassa probabilità di accesso e che sono di volume considerevole risiederanno su di un mezzo più economico e meno veloce. Un elemento importante è che esiste nel D/W un livello di sintesi ed un livello di dettaglio per gli stessi dati (granularità). Saranno, quindi, i dati dettagliati, i quali sono più voluminosi e con minore probabilità di accesso ad essere registrati su mezzi più economici, come i nastri magnetici ad esempio, mentre i dati di sintesi meno voluminosi e con maggiore probabilità di acceso saranno registrati invece su dischi fissi. Altro elemento fondamentale che deve essere sempre presente nelle tabelle è il tempo. Integrato I dati che derivano dalle varie fonti aziendali presentano delle caratteristiche differenti. Questi dati devono per questo essere integrati e resi uniformi nel D/W che li andrà ad accogliere. Integrazione Operazionale Data Warehouse Codice Applic. A Applic. B Applic. C Applic. D m,f, 1,0 x,y m,f Maschio, femmina Attributi di misura Applic. A Applic. B Applic. C Applic. D cm, pollici yards mcf cm sorgenti multiple 311 Capitolo settimo Applic. A Applic. B Applic. C Applic. D La filosofia Data Warehouse descrizione descrizione descrizione descrizione ? Descrizione conflitti di chiavi Applic. A Key char (12) Applic. B Applic. C Applic. D Key dec fixed (9,2) pic ‘9999999’ Key char (10) Key char (12) Figura 7.8. Esempi di integrazione Non instabile L’ambiente operazionale è soggetto ad una regolare attività di accesso e manipolazione. Si effettua un continuo aggiornamento dei dati nell’ambiente operazionale. Invece nel D/W i dati vengono tutti caricati (solitamente in massa) nel Warehouse, e poi una volta caricati si accede ad esso. Ma l’aggiornamento dei dati (in senso lato) non viene effettuato nell’ambiente D/W. Tempo differente L’ultima caratteristica rilevante è quella della differenza di tempo rispetto all’ambiente operazionale. La differenza di tempo si può verificare in diversi modi : ? L’orizzonte temporale del D/W solitamente è molto più lungo di quello operazionale. Ad esempio, l’orizzonte temporale di un ambiente operazionale può essere dai 60 ai 90 giorni mentre quello D/W può essere dai 5 ai 10 anni. ? I database operazionali contengono solo “valori correnti” i quali possono essere in ogni momento acceduti e modificati, mentre il D/W rappresenta niente altro che una sofisticata serie di istantanee prese in un dato istante di tempo. 312 Capitolo settimo La filosofia Data Warehouse ? La struttura delle chiavi nell’ambiente operazionale può avere come non avere alcuni elementi di tempo (giorno, mese, anno) mentre nell’ambiente D/W la struttura della chiave deve sempre contenere un elemento temporale. 7.6.1. Il Data Warehouse come evoluzione Inmon afferma che il Data Warehouse non è una rivoluzione ma bensì una evoluzione nel tempo. Quindi, il D/W si costruisce gradualmente. Questo permette di poter realizzare delle modifiche “in corsa” e di poter verificare qual è l’utilità nelle varie parti per le quali è stato creato. Questo può spingere l’azienda ad estendere la positiva esperienza anche ad altre parti della stessa. In un primo momento il popolamento del Warehouse sarà limitato ad una sola area soggetto. In momenti successivi anche i dati riguardanti le altre aree soggetto identificate dall’azienda popoleranno il Warehouse (detto anche repository). Una volta popolato il repository, si collegheranno ad esso alcuni Datamart i quali estrarranno dal repository stesso i dati necessari alle specifiche analisi DSS e saranno sistemati in una forma (modello) più consono al tipo di funzione che si dovrà svolgere. L’esperienza positiva a livello dipartimentale potrà a questo punto essere ripetuta per altre parti dell’azienda realizzando altri Datamart per finalità differenti. Tutto questo processo si svolgerà in un arco di tempo che può essere molto lungo che di norma si aggira intorno a qualche anno. 7.6.2.Due elementi concettuali del Data Warehouse I due elementi concettuali di maggior peso in un Data Warehouse sono la granularità dei dati e la partizione dei dati. Con la granularità dei dati ci si riferisce ai diversi livelli di dettaglio che caratterizzano il D/W, mentre con partizione dei dati ci si riferisce invece ad 313 Capitolo settimo La filosofia Data Warehouse una separazione dei dati in diverse unità fisiche e che possono essere maneggiati in maniera indipendente13. 7.6.2.1. La granularità In una architettura D/W esistono solitamente diversi livelli di dettaglio dei dati. Questo, ovviamente, riflette gli usi che si dovrà fare di quei dati. In questo ambito si possono stabilire solo una serie di indicazioni riguardo le scelte del livello di dettaglio da realizzare nel D/W ma ogni caso fa storia a se. Un esempio di diversi livelli di dettaglio può essere dato dalla figura sottostante. In questo caso viene mostrata una struttura D/W in cui a livello più basso si trovano i dettagli relativi alle vendite di un certo periodo molto indietro nel tempo. A livello più elevato si pone il repository, cioè il nostro Warehouse, in cui si trova quello che, in questo caso, viene detto livello di dettaglio corrente delle vendite. Da questo magazzino dei dati saranno poi estratti e portati al livello più elevato di Datamart dei dati che verranno ulteriormente sintetizzati (vendite di un particolare prodotto per mese o per settimana) ed utilizzati per le varie ricerche DSS o DataMining. M E T A D A T A 13 Dati sintetici (Datamart) ES : vendite mensili per linea di prodotto ‘81-‘92 Dati sintetici (Datamart) ES : vendite settimanali per linea di prodotto ‘84-‘92 Dettaglio corrente ES : vendite ‘90-‘91 W.H. Inmon : “Building of the Data warehouse” 314 Capitolo settimo La filosofia Data Warehouse Vecchio dettaglio ES : vendite 84-89 Figura 7.9. Esempio di struttura del Data Warehouse Questo rappresenta solo uno dei tanti esempi di struttura D/W il quale non deve però essere minimamente considerato come regola. Diversa all’interno dei livelli esaminati può essere l’articolazione del dettaglio, come può essere diverso anche il tipo di informazioni residenti, ad esempio, nei mezzi di registrazione più economici. Possono essere inserite non solo delle informazioni di dettaglio più vecchie ma anche informazioni di minor importanza che vengono tenute per motivi ad esempio legali, oppure hanno un grado di dettaglio maggiore che nel repository e costituiscono quello che viene chiamato true archival. L’importanza della granularità (cioè del livello di sintesi dei dati) si pone in rapporto all’uso che si deve effettuare dei dati nelle analisi DSS, MIS o altro. Ad esempio, cercare delle informazioni ad un livello di dettaglio più basso può essere più laborioso che cercare le stesse informazioni ad un livello di dettaglio meno elevato poiché si dovrà ricercarle in un minor numero di record i quali, inoltre, occuperanno anche un minore spazio in memoria. Granularità Basso livello di dettaglio ESEMPIO : dettaglio delle chiamate telefoniche per mese dei clienti 40.000 bytes per mese 200 records per mese Alto livello di dettaglio ESEMPIO : sintesi delle chiamate telefoniche per mese dei clienti 200 bytes 1 record per mese Figura 7.10. Esempio di diversi livelli di sintesi 315 Capitolo settimo La filosofia Data Warehouse In generale si può parlare di due livelli di granularità dei dati all’interno di un’azienda. Questi due livelli riflettono due bisogni diversi. Il primo risponderà a quelle che sono le esigenze di automazione di certe procedure, per cui si tratta di un livello eminentemente operazionale in cui i dati che servono all’azienda devono essere manipolati. Anche per questo il data base avrà una struttura particolare che faciliti le operazioni da realizzare (in questo caso l’ambiente è quello operazionale e l’orizzonte temporale è breve). L’altro livello è quello in cui i dati risultano da una sintesi di dei precedenti. Questi ultimi sono deputati al servizio di sistemi DSS di supporto alle decisioni. Ora, solitamente nel repository entrano dati di natura operazionale che possono essere sia di dettaglio che leggermente sintetizzati. Questi dati non saranno sfruttati direttamente dall’analista DSS, ma costituiranno quel magazzino da cui i vari Datamart dipartimentali estrarranno i dati necessari per le loro analisi producendo eventualmente una ulteriore sintesi dei dati stessi. 7.6.2.2. La partizione dei dati IL secondo grande elemento di natura concettuale è quello relativo alla partizione. Partizionare i dati significa dividere i dati in separate unità fisiche in modo tale che questi possano essere meglio “maneggiati”, in quanto le unità sono indipendenti ed in caso di eventuali guasti la gestione delle parti rispetto ad un tutto indistinto può essere per questo più facile. E importante sapere non se la partizione deve essere fatta ma come la partizione deve essere fatta14. 14 W.H. Inmon :”The Building of the Data Warehouse” 316 Capitolo settimo La filosofia Data Warehouse 1991 1993 ****** ****** ****** ****** ****** ****** 1992 ****** ****** ****** 1994 ****** ****** ****** 1990 ****** ****** ****** 1995 ****** ****** ****** La partizione dei dati ? ? divisione dei dati in più piccole unità fatta a livello di applicazione o a livello di DBMS Figura 7.11. Esempio di partizione di dati Molti sono i criteri secondo cui i dati possono essere suddivisi, ad esempio : ? per data ? per linea di business ? per distribuzione geografica ? per unità organizzative ? per uno o più criteri insieme ? ecc.. La partizione può avvenire sia a livello DBMS che a livello di applicazione. In quest’ultimo caso questa partizione viene effettuata dal codice del programma ed è controllata strettamente dal programma e dall’utente che svolge le sue funzioni e le sue analisi. 317 Capitolo settimo La filosofia Data Warehouse Nell’ambito D/W la partizione dei dati ha senso solo a livello di applicazione, in quanto i criteri per partizionare i dati e per ottenere da questi informazioni, aggregandoli ogni volta in maniera differente, possono essere molteplici. Se questa partizione di dati avvenisse a livello di sistema (o DBMS) si limiterebbero possibili aggregazioni dei dati scegliendo dei criteri di aggregazione che poi rimarrebbero costanti e rigidi nel tempo. Questo inficerebbe la flessibilità di utilizzo dei dati in un modo differente da quello prestabilito. Il DBMS, quindi, deve essere considerato nel D/W come una unica parte da cui le varie applicazioni o le interrogazioni possono di volta in volta selezionare i dati a loro necessari seguendo criteri diversi. I DBMS dovranno avere caratteristiche tali da non ostacolare la diversa suddivisione dei dati a seconda dei diversi criteri scelti. 7.6.3. Struttura dei dati nel Data Warehouse: Le strutture dei dati nel D/W possono essere molteplici ed ognuna riflette al meglio quelli che sono i bisogni dell’azienda. Possono però essere indicati alcuni tipi di strutture più conosciute come: ? simple cumulative ? rolling summary ? simple direct ? continuous Nella simple cumulative le transazioni quotidiane vengono trasportate dall’ambiente operazionale a quello D/W e sintetizzate in un record. La sintetizzazione può essere effettuata per cliente, per conto, oppure per tutti gli altri grandi soggetti del D/W. La sintetizzazione avviene solitamente in maniera giornaliera, per cui i dati relativi ai clienti, ai conti ecc.. saranno nel repository su base giornaliera. 318 Capitolo settimo La filosofia Data Warehouse Transazioni quotidiane Dati operazionali Sintesi su base giornaliera 1 gen 2 gen 3 gen .... 1 feb 2 feb 3 feb .... 1 mar 2 mar 3 mar ... ........................................ Figura 7.12. Struttura dati simple cumulative Nella struttura rolling summary le sintetizzazioni sono più di una. E’ simile alla precedente però, raggiunto un certo numero di sintetizzazioni giornaliere (mettiamo siano trascorsi 7 giorni), il dato viene sintetizzato in una nuova struttura (che in questo caso prende il nome di settimana). A loro volta i dati così sintetizzati possono subire ulteriori sintetizzazioni ( ad esempio per mesi, anni ecc..). Questa struttura di dati è adatta nei casi in cui le unità di dati siano molto poche ed abbiano una struttura cumulativa. 319 Capitolo settimo La filosofia Data Warehouse Transazioni quotidiane Dati operazionali Sintesi su base giornaliera ......... 1 day 2 day 3 day ............. 7 day ......... week1 week 2 week 3......... week5 ......... mon1 mon2 mon3 ...........mon12 ......... year 1 year 2 year 3 ............year n Figura 7.13. Struttura rolling summary Nella struttura simple direct i dati vengono estratti direttamente dall’ambiente operazionale senza sintetizzarli. Questa struttura non rappresenta che una fotografia dei dati operazionali in un certo istante di tempo. I dati non sono estratti su base giornaliera come i precedenti. I periodi di tempo scelti possono essere più lunghi come la settimana o il mese. Quindi, potremo avere, ad esempio, dati sui clienti per il mese di gennaio, febbraio ecc.. Clienti di Gennaio 320 Capitolo settimo La filosofia Data Warehouse Rossi Mario via Verdi 45 Roma Bianchi Antonio via Magellano 2 Genova Boghetto Maurizio via Lavagnini 23 Agliana Paolino Paperino via Vicolo stretto Paperopoli ........................... ........................... ................. .......................... ........................... ................. Dati operazionali Figura 7.14. Struttura simple direct Quando si hanno 2 o più semplici file direct si può creare un file continuous. In esso confluiscono i dati, ad esempio, di tutti i mesi considerati. Clienti di Gennaio Rossi Mario via Verdi 45 Roma Bianchi Antonio via Magellano 2 Genova Boghetto Maurizio via Lavagnini 23 Agliana Paolino Paperino via Vicolo stretto Paperopoli ........................... ........................... ................. .......................... ........................... ................. Clienti di Febbraio Dei Paperoni Paperon via Dell’oro Paperopoli Bianchi Antonio via Magellano 2 Genova Boghetto Maurizio via Lavagnini 23 Agliana Paolino Paperino via Vicolo stretto Paperopoli Baldo Bracco viale Dei giardini Monopoli ........................... ........................... ................. Rossi Mario via Verdi 45 Roma Dei Paperoni Paperon via dell’oro Paperopoli Bianchi Antonio via Magellano 2 Genova Boghetto Maurizio via Lavagnini 23 Agliana Paolino Paperino via Vicolo stretto Paperopoli Baldo Bracco viale Dei giardini Monopoli ........................... ........................... ................. Figura 7.15. Creazione di un continuous file da direct files 7.7. Il disegno del Data Warehouse I due maggiori aspetti realizzativi del Data Warehouse sono l’interfaccia di estrazione dai Database operazionali (fase di acquisizione dei dati) e il 321 Capitolo settimo La filosofia Data Warehouse disegno della architettura Data Warehouse vera e propria (architettura D/W)15. Parlare solo di disegno per la realizzazione di un Data Warehouse è riduttivo. In un primo momento il D/W viene “popolato” di dati (in base alle prime specifiche di mapping concordate fra progettisti e utenti finali). I dati inseriti nella struttura di D/W vengono poi utilizzati dagli strumenti DSS. Successivamente, in base alle informazioni di ritorno che si otterranno dagli utilizzatori finali, questo Data Warehouse potrà variare, nel senso che nuovi dati, nuove fonti di dati o modifiche dei dati già presenti nello stesso potranno verificarsi col tempo (feedback). 7.7.1. Si parte dai dati operazionali Il punto di partenza è senz’altro rappresentato dai dati operazionali. Questi si trovano nei database e nelle applicazioni deputate a svolgere funzioni di carattere operazionale. E’semplicistico affermare che i dati provenienti dalle varie fonti saranno estratti da queste ed inseriti nel Warehouse perché tutto ciò non riflette esattamente la realtà. Estrarre i dati dai più database o applicazioni implica tutta una serie di problematiche che devono essere accuratamente valutate e risolte. Mancanza di integrazione Un primo problema è quello della mancanza di integrazione dei dati in quanto questi possono provenire da più fonti. Tali dati sono sorti, non tanto per soddisfare le esigenze del D/W, ma piuttosto per determinati problemi di carattere operazionale senza pensare che questi , un giorno, avrebbero dovuto integrarsi con altri. Può accadere, ad esempio , quello che la figura mostra. “Spesso la costruzione di un magazzino dei dati separato dai data base operazionali rientra all’interno di più ampi progetti di revisione del sistema informativo, come un 15 322 Capitolo settimo La filosofia Data Warehouse Mutui Stessi dati, differenti nomi. Leasing Differenti dati, stesso nome. Fidi Dati che si trovano solo qui Port.glio Clienti Differenti chiavi, stessi dati. Figura 7.16. Difficoltà nel riconoscere i dati fra le varie applicazioni (Building the D/W) Come si vede può accadere che gli stessi dati abbiano nomi differenti oppure dati differenti possano avere gli stessi nomi ecc.. Occorre effettuare un’attività di analisi dei dati volta a realizzare una integrazione degli stessi portandoli tutti ad un formato uniforme, a controllarne la validità arricchendoli, eventualmente, di ulteriori informazioni che si possono ricavare implicitamente dai dati stessi16. Un esempio di attività di integrazione è rappresentata dalla codifica dei dati (vedere la figura sugli esempi di integrazione). Questi esempi mostrano come di per sé le attività di integrazione non siano difficili ma, moltiplicando queste per un numero elevato di file coinvolti nella integrazione, provenienti da una moltitudine di fonti, si potrà vedere come gli intrecci fra i vari tipi di file rendano tale attività di integrazione molto complessa. Efficienza di accesso Un altro problema è quello della efficienza di accesso ai sistemi operazionali esistenti. Come si fa ad accedere ai sistemi operazionali esistenti e scaricarli nel Warehouse e come si fa nell’attività di aggiornamento a riconoscere quali downsizing delle applicazioni da ambiente mainframe centralizzato ad architetture client server”. S Umberti Foppa :Quando serve un D/W , Zerouno 4/1995 323 Capitolo settimo La filosofia Data Warehouse sono i dati già scansionati precedentemente (e quindi già esistenti nel Data Warehouse) da quelli nuovi. E’ impensabile che ogni volta i dati vengano scansionati e trasferiti nel Warehouse. I tipi di caricamenti nel D/W per Inmon sono tre : 1. Scarico da archivio dati (dati storici) 2. Scarico di dati correnti contenuti nell’ambiente operazionale (dati correnti) 3. Scarico nel Warehouse dei cambiamenti intervenuti nell’ambiente operazionale dall’ultimo aggiornamento (modifiche dati) Lo scarico dei dati storici presenti nell’ambiente operazionale non determina grandi problematiche poiché avviene raramente, ovvero quando si ha il primo popolamento del Data Warehouse e in seguito quando nuove fonti vengono aggiunte. Allo stesso modo i dati correnti (nuovi) non danno grossi problemi perché possono essere caricati in un file sequenziale e poi da questo nel Data Warehouse senza provocare una modifica dell’insieme dei dati già esistenti nello stesso. E’il terzo caso, quello relativo alle modifiche dei dati esistenti, che pone i maggiori problemi. Si devono riconoscere in questo ambito le modifiche intervenute nei file esistenti. Occorre, dunque, individuare particolari tecniche affinché queste modifiche dei dati già residenti nel Data Warehouse, intervenute fra un aggiornamento e l’altro, siano riconosciute in fretta e scaricate nel Data Warehouse. Vengono proposte per questo alcuni procedimenti. Una prima pratica è quella del time stamp. Si scansionano tutti i dati delle fonti prendendo come discriminante il tempo di modifica. Si sceglieranno per l’aggiornamento solo quei dati con tempo di modifica posteriore a quello dei dati esistenti nel Warehouse. Però questa tecnica è molto gravosa per il sistema perché si devono controllare tutti i dati. Un’altra tecnica è quella dei file delta, che sono file destinati ad accogliere solo i cambiamenti intervenuti nelle applicazioni in un certo periodo di tempo. Quando viene costruito un delta file il processo di scansione dei dati diviene efficiente in quanto 16 Per vedere queste fasi in dettaglio consultare il capitolo relativo al progetto MIDA nella 324 Capitolo settimo La filosofia Data Warehouse vengono toccati solo quei dati che in un certo tempo T si modificano. Ma la realizzazione di un delta file non è un caso molto frequente. Può essere utilizzato in luogo di un delta file i log file. Il log file contiene essenzialmente gli stessi dati del delta, ma rispetto a questo ci sono alcune differenze. I log sono costruiti per il processo di recovery ed è proprio perché è destinato a servire questa funzione che il suo utilizzo è molto problematico17. Una ulteriore tecnica è quella del before and after. Attraverso questa tecnica, più teorica che pratica, si effettuerà prima di ogni estrazione una immagine del database fonte e si confronterà con quella effettuata l’estrazione precedente. Dal confronto dei due file si evidenzierà solo le variazioni intervenute nel tempo intercorso fra le due estrazioni. Tuttavia questo procedimento è molto laborioso e si può utilizzare solo come ultima risorsa. Dati correnti Un altro problema è rappresentato dai dati correnti ed in particolare dalla validità di questi dati. Con questo si intende che un dato corrente al momento in cui viene catturato ed inserito nel Warehouse ha una sua validità. Ma in un momento immediatamente successivo può perdere questa validità poiché nel frattempo tale dato è mutato. Di conseguenza, nel Data Warehouse vengono a trovarsi dei dati che non sono veritieri e non possono essere modificati per un certo periodo. Per limitare questa situazione di “errore” dovuta a dati che cambiano velocemente nel tempo si dovrà realizzare degli accorgimenti. Certi tipi di dati che si modificano con grande velocità nel tempo possono essere valutati non singolarmente ma complessivamente entro un certo ? T(daily balance, weekly balance, monthly balance). Si valuterà cioè, il loro mutamento nel tempo. Sarà questo dato complessivo che entrerà nel Warehouse rendendolo certamente più stabile e veritiero del singolo dato. parte che riguarda l’acquisizione dei dati. 17 Per vedere queste fasi in dettaglio consultare il capitolo relativo al progetto MIDA nella parte che riguarda l’acquisizione dei dati. 325 Capitolo settimo tx La filosofia Data Warehouse Current value Current value Bilancia gior.era Bilancia sett.le Bilancia Mensile Figura 7.17. La condensazione dei dati è un fattore vitale nella gestione del d/w Scelta dei dati. Occorre stabilire in maniera accurata quali sono i dati di cui si abbisogna. Il rischio che si corre è quello di creare degli enormi database con una massa di dati inutilizzati di cui, con l’andare del tempo, se ne può perdere il controllo poiché le dimensioni del Data Warehouse aumentano smisuratamente rispetto alle esigenze reali, mandando in crisi il sistema. 7.7.2. Modello dei dati Un passo molto importante nel disegno del Data Warehouse è quello della progettazione concettuale e della scelta del modello dei dati del grande database centrale (repository o warehouse). La scelta del modello può essere diversa a seconda della architettura che si è progettato. Ad esempio, se si realizza una struttura classica di Data Warehouse in cui c’è un grande database centrale che dovrà servire tutta una serie di Datamart, allora occorrerà garantire a questo una certa flessibilità nel tempo. Ovvero, il 326 Capitolo settimo La filosofia Data Warehouse repository dovrà essere in grado di accogliere sia dati che si modificheranno nel tempo, sia nuovi dati, sia nuovi tipi di dati. Si deve garantire, quindi, che questo database non sia di ostacolo ad una evoluzione del progetto ma che, al contrario , ne favorisca l’evoluzione inserendo le nuove componenti senza difficoltà come i tasselli di un grande puzzle. La struttura, inoltre, dovrà garantire il massimo dell’affidabilità. Per questo tipo di esigenze viene scelta solitamente una struttura relazionale che oltre a basarsi su solide fondamenta matematiche (che ne fanno una struttura dalle caratteristiche ben definite), permette una integrazione e una modifica dei dati senza grandi stravolgimenti. Si costruisce, quindi, un vero e proprio magazzino dei dati che sarà sempre stabile nel tempo e facilmente integrabile. L’utente per i suoi bisogni non accederà ai dati direttamente dal magazzino ma dai vari Datamart, che “pescano” le informazioni dal magazzino stesso. Questi Datamart sono database costruiti per soddisfare le particolari richieste dell’utente in modo più efficiente possibile. I modelli che possono essere scelti sono molteplici e vanno dal relazionale (con qualche denormalizzazione), allo schema a stella o a quello a fiocco di neve ( che sono, però, anch’essi una derivazione del modello relazionale), al modello ad oggetti, ai modelli multidimensionali. Se il progetto non prevede la realizzazione di un magazzino centrale che serve più Datamart, ma la sola realizzazione di un Datamart è logico che il modello scelto rifletterà direttamente le esigenze dell’utilizzatore. Però , questo fatto può limitare molto gli sviluppi futuri del progetto di Data Warehouse proprio per le caratteristiche del modello scelto che è destinato a servire certe funzioni piuttosto che altre e che spesso ha una struttura proprietaria come i modelli ad oggetti e quelli multidimensionali limitandone le possibilità di espansione e di accesso. 327 Capitolo settimo La filosofia Data Warehouse 7.7.3. Data Warehouse come istantanea I Data Warehouse che si possono costruire per servire le funzioni più diverse all’interno di una azienda sono di vario tipo (marketing, finanza, vendite, produzione, ecc..). Nonostante però le diversità che si possono trovare nei vari d/w esiste un elemento che non varia mai . Internamente ogni Data Warehouse fa perno su di una struttura di dati chiamata “snapshot”. Le istantanee sono create come risultato di determinati eventi. Ogni evento determina una snapshot, vale a dire un record che presenta certe componenti. Si ha, quindi, una interazione fra : EVENTO? SNAPSHOT Evento Snapshot Tempo Chiave Dati primari Dati secondari Figura 7.18. Rappresentazione della struttura di una snapshot Questi eventi possono essere generati da particolari attività oppure dal passare del tempo. Le prime sono attività che si verificano in base ad un determinato accadimento e non si sa se e quando si verificheranno (telefonata di un cliente, una polizza di assicurazioni ecc..), mentre le seconde si verificano per il naturale passare del tempo, come la fine del giorno, della settimana, del mese. Un record di Data Warehouse è una istantanea fatta in un determinato istante di tempo ed include una varietà di dati. Una snapshot contiene molti componenti i quali possono essere distinti in 4 gruppi : 1. la chiave 2. l’unità di tempo 3. i dati primari legati alla chiave 4. i dati secondari non legati alla chiave 328 Capitolo settimo La filosofia Data Warehouse La chiave è l’elemento identificativo del record, però identifica solo i dati che sono direttamente legati ad essa (dati primari). L’altro elemento caratteristico nel D/W è il tempo. Questo indica il momento in cui il dato è stato catturato e ha preso posto nel D/W. In alcuni casi si distinguerà fra il momento in cui il dato è stato catturato dal D/W da quello in cui il dato è effettivamente sorto. I dati primari sono campi che non costituiscono la chiave e che sono direttamente legati ad essa. Ad esempio, si supponga che la chiave identifichi le vendite dei prodotti. L’elemento di tempo descrive quando questa vendita è avvenuta. I dati primari descrivono quale prodotto è stato venduto, a quale prezzo, le condizioni di vendita, chi è stata la controparte, e così via. I dati secondari descrivono altre informazioni non propriamente legate all’oggetto primario del record ma che si possono catturare al momento della creazione delle snapshot. Un’informazione secondaria , ad esempio, relativa alla vendita del prodotto può essere quella del tasso di interesse applicato dalle banche al cliente al momento in cui si verifica la vendita stessa. Si tratta, cioè, di informazioni incidentali che si otterranno a causa di quella particolare operazione. Queste informazioni non hanno una correlazione diretta con la chiave che identifica quel particolare evento ma comporranno insieme agli altri dati la snapshot. Come è logico pensare, i componenti che sicuramente costituiranno i record di snapshot saranno i primi tre mentre i dati secondari possono anche non apparire. Nel più semplice caso di D/W ogni individual activity (ogni singolo evento), che risulta essere interessante per l’utente finale, viene inserita nel Warehouse. Si può così, stabilire un rapporto uno ad uno fra questa attività e la snapshot (una attività, una snapshot). Si consideri un esempio particolare, quello relativo al pagamento di una polizza assicurativa. Il premio viene pagato semestralmente , per cui ogni sei mesi verrà creato un record nel Warehouse che descrive il pagamento del premio, la cifra pagata, il luogo dove deve essere pagato, e così via. 329 Capitolo settimo La filosofia Data Warehouse Quando si ha a che fare con un piccolo volume di dati stabili e quando c’è bisogno di un meticoloso livello di dettaglio, allora si può pensare di impiegare semplicemente le individual actiivity. Ma non sempre è così. In molti casi si ha a che fare con un volume elevato di dati i quali possono essere soggetti a numerosi cambiamenti col passare del tempo. Inoltre, è difficile che le analisi di business richiedano un elevato livello di dettaglio. Quando si verifica una sola di queste situazioni occorre creare una nuova categoria di dati nel D/W. Si parlerà di aggregate o profile record. Questo record rappresenta l’aggregazione di un certo numero di individual activity. Quindi , la differenza fra i due tipi di record è che l’individual activity è un singolo evento mentre il profile rappresenta una aggregazione di eventi uguali (ad esempio, si può considerare come singolo evento la rilevazione del chilometraggio di una vettura, mentre si può considerare una aggregazione la media di più rilevazioni). Si può dire , allora, che il profile è un dato di sintesi che potrà trovare posto nel repository o nel Datamart. Operazionale Data Warehouse Clienti Chiamata 1 Chiamata 2 Chiamata 3 Chiamata 4 . . . . Cliente/mese ...................................... ...................................... ...................................... ...................................... ...................................... ...................................... ...................................... Chiamata n Figura 7.19. Creazione di un profile record da una serie di record dettagliati relativi alle chiamate giornaliere dei clienti di una azienda. 330 Capitolo settimo La filosofia Data Warehouse Creare dei profile record è una vera e propria tecnica di gestione del volume dei dati, poiché attraverso la realizzazione di questi record si può ottenere una riduzione notevole del volume dei dati presenti nel D/W. La creazione del profile può essere mirata alla realizzazione di record che hanno diversi livelli di sintesi. Inoltre, gli stessi profile possono essere soggetti a loro volta a sintesi. Tutto dipende dalle specifiche che l’utente fornisce. Però, ogni volta che si usa la tecnica del profiling si ha una perdita di dettaglio, quindi di dati. Ma la perdita non può e soprattutto non deve essere una cosa negativa quando a perdersi sono quei dati che non hanno rilevanza ai fini dell’analisi DSS. In questo modo, anzi, ne guadagnerà la capacità informativa del dato. Occorre, quindi, che questi dati siano ben identificati dall’utente insieme all’architetto D/W. Si può decidere, qualora non si vogliano perdere i dettagli, di realizzare degli archivi appositi che li contengano. Attraverso il D/W si è detto che si realizza una istantanea. L’ambiente monitorizzato nel D/W è quindi quello che si ha in un istante di tempo. Fra un aggiornamento e l’altro molti dati possono cambiare e quindi la fotografia può non essere più così vera. Per cui si può correre il rischio di effettuare delle analisi che possono in un determinato momento non rispecchiare più la verità. Si parla in questo caso di ciclicità dei dati riferendosi all’intervallo di tempo trascorso fra un aggiornamento e l’altro. Il problema, quindi, è quello di individuare, in base al tipo di dati inseriti nel D/W e alle necessità dell’utente, qual è il tempo che dovrà trascorrere tra un aggiornamento ed un altro. Si parla anche di wrinkle of time18. 18 W.H. Inmon :”building the Data Warehouse” 331 Capitolo settimo La filosofia Data Warehouse Wrinkle of time 24 h di ritardo Cambia Cambia Figura 7.20. Wrinkle of time 7.7.4. IL Metadata Un aspetto molto importante dell’architettura Data Warehouse è il Metadata. Il Metadata viene definito come il dato dei dati ed assomiglia molto da vicino ad un dizionario dei dati. E’, dunque una base dei dati che descrive la base dei dati stessa. Concettualmente viene visto come un tutt’uno in cui si danno informazioni su cosa si trova dentro il D/W19. “Il Metadata è il dato dei dati. Il Metadata fornisce le informazioni richieste riguardo all’automazione del processo di raccolta, trasformazione e caricamento dei dati nel warehouse. Provvede all’amministrazione del Warehouse con tutte le strutturali e monitorate informazioni che permettono una efficiente organizzazione del warehouse. Inoltre, provvede alla visualizzazione del contenuto dei dati del warehouse, permettendo all’utente finale di navigare nel warehouse attingendo da esso i dati che gli servono. S. Anderson and E. Walker “Building a SAS Data Warehouse”, SAS Institute, 1995”. IBM nella sua White Paper sul Data Warehouse (Data Management solution) descrive in metadata in questi termini : Il Metadata descrive le informazioni gli elementi dei dati o i tipi dei dati, come file, report, processi di workfow, e altro. Viene tipicamente utilizzato nei database tradizionali, ma nell’ambiente Data Warehouse esso assume un importante funzione per gli end-users.....Essi hanno bisogno di conoscere i dati di cui possono disporre, che cosa essi effettivamente rappresentano, quali occorrono , e così via.....” F Turconi nell’articolo apparso su Informatica oggi & Unix afferma : Il Metadata indica il componente di controllo e di relazione fra oggetti...........Esempi intuitivi di metadata sono : ? la modalità di utilizzo di un dato ? un algoritmo di encode/decode dati ; ? del codice usato frequentemente ; ? La descrizione dei processi di conversione/trasformazione. Il Metadata ha diverso significato e utilizzo a seconda del livello in cui si trova e viene utilizzato : 332 19 Capitolo settimo La filosofia Data Warehouse Le notizie che tipicamente sono inserite nel Metadata riguardano : ? la struttura dei dati come è conosciuta dal progettista ? la struttura dei dati come è conosciuta dell’analista ? le sorgenti di dati che alimentano il D/W ? la trasformazione dei dati nel passaggio dalle fonti al d/w ? il modello dei dati ? le relazioni fra il modello dei dati e il D/W ? La storia delle estrazioni C’è, comunque, una profonda differenza del ruolo del Metadata in un ambiente operazionale rispetto ad un ambiente D/W. Ambiente operazionale Data Warehouse Metadata Uso saltuario Progettista Metadata Uso continuativo Analista DSS, EIS Figura 7.21. Diverso uso del Metadata ni due ambienti operazionale e D/W ? ? ? Negli ambienti di produzione e operazionali per documentare i dati esistenti e arricchire i processi di manutenzione ; nel warehouse per indirizzare gli utenti ai dati e documentare il mapping fra i dati ; negli ambienti distribuiti e dipartimentali per disciplinare e organizzare evitando che le visioni parziali influenzino i contenuti attuali dei dati. 333 Capitolo settimo La filosofia Data Warehouse Una prima differenza nasce dal tipo di utente del Metadata nei due ambienti. Nell’ambiente operazionale è il progettista che usa il Metadata quando deve “agire” su esso, e cioè quando si devono portare delle modifiche, ad esempio su delle tabelle di dati. L’uso in questo caso è saltuario. Nel D/W è l’analista DSS che deve utilizzare il Metadata per verificare quali sono i dati a sua disposizione, da dove provengono, qual è il loro grado di sintesi, e così via. L’utilizzo del Metadata è in questo caso continuo. Un’altra ragione delle differenze fra Metadata nell’ambiente operazionale e di quello D/W è dovuto al fatto che nel D/W il Metadata deve accogliere la gestione del mapping . Ambiente operazionale Data Warehouse Mapping Metadata Figura 7.22. Il Mapping dei dati da inserire nel D/W (Building the D/W) Questa attività di mapping è molto più complessa nell’ambiente D/W rispetto a quello operazionale. Occorre, in effetti, realizzare attività come la conversione, il filtraggio, la sintesi, cambi di struttura e così via. Queste sono tutte attività che non rientrano in una mappatura operazionale. Una terza ragione sta nel fatto che mentre nell’ambiente operazionale si ha una sola definizione dei dati poiché contiene dati correnti, il D/W deve gestire più strutture/definizioni dati. Tutto ciò è dovuto al fatto che il D/W è un contenitore di dati storici e nel tempo la struttura e la definizione dei dati 334 Capitolo settimo La filosofia Data Warehouse possono variare mentre questi problemi nel sistema operazionale non si hanno per il semplice motivo che questo si occupa solo della gestione dei dati correnti. Ambiente operazionale Data Warehouse Metadata Metadata Struttura Contenuto Struttura ........... ............ Contenuto 93 94 95 96 97 00 Figura 7.23. Il D/W contiene dati che riguardano un lungo periodo di tempo che devono essere gestiti che hanno strutture/definizioni diverse. L’ambiente operazionale contiene solo una singola e corretta definizione dei dati di un solo tempo. Comunque, anche se concettualmente il Metadata è un tutt’uno, fisicamente si suddivide in più Metadata. Ci sarà un Metadata ad uso del progettista che da notizie relative al processo di acquisizione dei dati oltre che dei dati 335 Capitolo settimo La filosofia Data Warehouse presenti nell’architettura e ci sarà un Metadata ad uso degli utenti finali legati alle applicazioni da essi utilizzate. 7.7.5. Ritorno dei dati all’ambiente operazionale Il normale processo che caratterizza il D/W prevede un’acquisizione dei dati dalle varie fonti, ma non prevede che ci sia un procedimento inverso, vale a dire un ritorno dei dati dall’ambiente D/W a quello operazionale. E’ possibile, comunque, che qualche volta si verifichino casi di D/W in cui si abbia questa situazione. Query Data Warehouse Applicazione legacy Risultato della query Figura 7.24. Ritorno del risultato di una query al l'ambiente legacy (Building of the D/W) La figura mostra un caso in cui viene effettuato sul D/W una query. Il risultato di questa query porterà a modificare i dati della legacy application da cui è partita. 336 Capitolo settimo Richiesta di finanziamento La filosofia Data Warehouse Banca query ON-LINE Dati storici sui clienti Dati correnti sul cliente Risposta Preapprovazione Richiesta Approvata o Rigettata Figura 7.25. Richiesta di finanziamento in un Istituto bancario 7.8. Dati esterni/non strutturati e Data Warehouse I dati che interessano l’azienda sono di due tipi : interni ed esterni. I dati interni sono quelli su cui l’azienda costruisce in un primo momento il proprio d/w. Sono caratterizzati dall’essere strutturati, ovvero hanno un formato regolare e stabilito a priori. 337 Capitolo settimo La filosofia Data Warehouse I dati esterni sono invece definiti non strutturati e cioè di formato non prevedibile data la molteplicità delle fonti da cui possono derivare20. Il d/w può prevedere il loro immagazzinamento e ciò sarebbe auspicabile. Ma più frequentemente questi dati vengono inseriti manualmente da PC nell’elaborazione dei rapporti. Questo crea alcuni problemi : il dato viene preso all’esterno ed utilizzato nel report senza avere esatte indicazioni relative alla fonte dei dati da cui provengono ed inoltre, entrando all’interno dell’azienda sotto forma di report, sarà difficile richiamare questi dati in momenti successivi per essere utilizzati di nuovo. Occorre, quindi, che l’entrata di dati esterni nel d/w sia prevista e in qualche modo disciplinata, affinché il dato esterno risulti da fonti certe ed affidabili, potendo così essere facilmente trovato come qualunque dato interno. 7.8.1. Inserimento dei dati esterni/non strutturati nel Data Warehouse Ci sono alcune questioni che devono essere risolte per realizzare l’inserimento dei dati esterni/non strutturati nel d/w. Queste possono essere riassunte in quattro categorie : 1. frequenza di apparizione 2. forma del dato 3. imprevedibilità della cattura 4. dati multimediali 20 Le fonti esterne dei dati possono essere molteplici. Inmon ne indica qualcuna : ? the Wall street Journal ? Business Week ? Forbes ? Fortune ? Corrispondenze industriali ? Rapporti tecnologici ? Dun and Bradstreet ? Rapporti creati da consulenti specificatamente per l’azienda ? Rapporti di analisi competitive ? Rapporti di raffronti ed analisi di vendita ? Internet ? ecc. 338 Capitolo settimo La filosofia Data Warehouse La prima questione riguarda la realizzazione di un appropriato sistema di monitoraggio per la cattura sistematica del dato quando questo viene in essere in maniera regolare21. La seconda riguarda la forma dei dati esterni, la quale è totalmente indisciplinata. Per poter essere utilizzati i dati devono essere trasformati in un formato che sia compatibile con quello dei dati interni del d/w. La terza riguarda l’imprevedibilità della venuta in essere del dato che può venire da una sorgente e in un tempo imprecisato che ne rende estremamente ardua la cattura. La quarta questione è relativa alle difficoltà di immagazzinare un nuovo tipo di dato che è quello multimediale. I due più comuni tipi di dati multimediali sono la voce e l’immagine. I problemi con questi dati derivano dalla immaturità della tecnologia necessaria per poterli immagazzinare e consultare. A questo riguardo esiste una particolare tecnologia che si sta imponendo per il trattamento ed immagazinamento di questi dati multimediali che è quella degli oggetti (vedi capitolo 5). In più, il dato multimediale, essendo per natura un dato “pesante” dal punto di vista della occupazione dello spazio di memoria, può produrre un enorme aumento delle dimensioni del d/w e un rallentamento del tempo di caricamento dei dati. 7.8.2. Metadata e dati esterni Sappiamo come il Metadata sia un componente fondamentale per il d/w in ogni scenario. Anche nel caso dei dati esterni presenti nel d/w assume un ruolo fondamentale. Attraverso il Metadata si può accedere e controllare i dati esterni che sono stati inseriti attraverso tutta una serie di informazioni presenti nello stesso22. Scorrendo il Metadata l’utilizzatore può verificare Spesso un dato esterno può essere naturalmente ripetitivo e quindi può essere sottoposto anche ai cosiddetti ”report secondari” che non sono altro che una sintesi del dettaglio primario inserito nel d/w. Per maggiori informazioni vedere Building of the Data Warehouse di W.H. Inmon pag. 270 22 Il contenuto tipico di un Metadata per i dati esterni comprende : ? documento ID ? data di entrata nel warehouse ? descrizione del documento 339 21 Capitolo settimo La filosofia Data Warehouse quali dati esterni sono disponibili per la sua ricerca e se quei dati gli servono o no. In associazione con il Metadata può essere utilizzato il Notification file che è un file creato per gli utilizzatori del sistema indicante quali classi di dati possono essere rilevanti per loro. Quando un dato viene inserito nell’ambiente d/w e nel Metadata viene comunicato a chi può essere interessato a ciò in modo tale che questo utilizzatore sia a conoscenza della presenza di tali dati. Spesso, soprattutto per ragioni di costo, non è conveniente immagazzinare tutte le informazioni esterne nel d/w. Si può tenere traccia di queste nel Metadata ed indicare in quale altro mezzo (schedari, nastri magnetici, ecc. ) è possibile ritrovarle. I dati esterni hanno un loro periodo di vita utile per l’azienda per cui, una volta trascorso il periodo in essere, si dovranno eliminare per far posto ad informazioni più attuali. Queste, comunque, possono essere sempre inserite in archivi esterni di cui se ne può dare notizia nel Metadata. 7.8.3. Confronti fra dati interni e dati esterni Uno dei più importanti usi delle informazioni esterne è quello di confrontare i dati interni all’azienda con quelli esterni. Ad esempio, si può confrontare l’andamento del mercato di un prodotto di un settore con quello dell’azienda. Affinché i dati possano essere confrontabili occorre però che dati interni e dati esterni siano letti sulla base di una chiave comune. Ad esempio, se l’impresa vende una bibita a base di cola e vuole comparare l’andamento delle sue vendite con quelle del settore delle bibite dovrà accertarsi che i dati esterni non comprendano anche la vendita di altre bibite ? ? ? ? ? ? ? ? sorgente del documento data della sorgente del documento classificazione del documento indice delle parole data di eliminazione riferimento alla locazione fisica lunghezza del documento riferimenti ad altri documenti 340 Capitolo settimo La filosofia Data Warehouse come, ad esempio, la birra. L’andamento della vendita della birra può falsare la lettura dei dati esterni nel confronto con quelli interni. Occorre quindi cautela nel utilizzo dei dati esterni i quali devono essere resi comparabili con quelli interni, “depurandoli” di tutti quei fattori che ne possono falsare la lettura. 7.9. Data Warehouse o Datamart L’architettura di un Data Warehouse classica prevede un repository centrale nel quale confluiscono i dati da tutte le fonti (legacy o esterne). Questi dati verranno poi “ribaltati” sui Datamart, dai quali accederanno direttamente gli utenti. Un’alternativa a questa architettura sarebbe quella di costruire direttamente dei Datamart (si parla in questo caso di Dipartimantal Data Warehouse) in cui i dati entrino direttamente dalle varie fonti per essere utilizzati senza che vi sia la “mediazione” del repository. Questo tipo di approccio nella parte iniziale della prima implementazione è molto meno costoso di quello classico mentre nelle fasi successive di sviluppo il costo cresce notevolmente per problemi di integrazione23. Avere un repository centrale con dati in forma atomica e normalizzati, in modo tale che si possa sempre effettuare una integrazione degli stessi senza creare stravolgimenti, permette di avere a disposizione dati che potranno essere utilizzati da qualunque Datamart che in seguito si volesse creare. Realizzare direttamente dei Datamart può provocare alcuni problemi : Un Data Warehouse centrale fornisce una crescita per future espansioni e abilità alla realizzazione successiva di un Data Warehouse a più livelli, ma ha costi di sviluppo più elevati (oltre 200-300 milioni di lire) e tempi di realizzazione lunghi (oltre i 18- 24 mesi) e impone carichi di lavoro e prestazioni più elevate sui sistemi e sulla rete. Una architettura alternativa è costituita dai Datamart, database disegnati per una singola funzione o applicazione. Questi sono più facili da realizzare. I Datamart richiedono investimenti di sviluppo di software nell’ordine di 30-40 milioni di lire in tempi di tre o quattro mesi (spesso si adattano a pacchetti esterni), offrono una buona disponibilità e prestazioni con assetti tecnologici esistenti ;tuttavia i dati non sono integrati e possono sorgere problemi con le applicazioni successive.” F. Turconi :Il costo nascosto dei D/W, Zerouno, 6/1996 341 23 Capitolo settimo La filosofia Data Warehouse ? Moltiplicazione dei processi di acquisizione dati. Si avrà un processo di acquisizione per ogni Datamart. Applic a Marketing Applic b Finanza Vendite Applic c Produzione Applic d Applic e engineering Applic f Risorse umane Produzione Applic g Figura 7.26. Esemplificazione di problemi di Acquisizione dati (Building the D/W) ? Non c’è integrazione fra i dati dei diversi Datamart. ? Difficoltà di manutenzione di una struttura di soli Datamart. Ad esempio, un singolo cambiamento in una vecchia applicazione legacy può costringere ad effettuare tante modifiche quanti sono i Datamart che utilizzano questa fonte. 342 Capitolo settimo La filosofia Data Warehouse ? Impossibilità di realizzare un unico metadata e, in caso di integrazione, difficoltà di aggiornamento dello stesso. La complessità di aggiornamento dei cataloghi informativi, distribuiti, eterogenei, fra di loro e provvisti a volte di interfaccie diverse è costosa se il numero di applicazioni cresce nel futuro24. 7.10. Il Data Warehouse distribuito La maggior parte delle organizzazioni costruisce e mantiene un singolo data warehouse centralizzato. In effetti, per molte ragioni il data warehouse centralizzato è preferito rispetto al data warehouse distribuito in quanto un data warehouse centralizzato offre una maggiore garanzia di integrazione dei dati i quali possono essere efficacemente utilizzati a livello di corporate. Però, esistono dei casi in cui in data warehouse distribuito si impone. Questo ha senso nelle organizzazioni che hanno una forte autonomia a livello locale e dipartimentale e nelle quali l’elaborazione è distribuita in maniera fortemente decentralizzata. E’il caso, ad esempio, di società multinazionali che devono operare in realtà molto diverse l’una dall’altra per cui la scelta dei dati necessari per le analisi dei decisori spesso ha un “taglio” ed un significato differente. Esistono diverse forme di data Warehouse distribuito. 7.10.1. Il Data Warehouse locale e il Data Warehouse globale Il d/w distribuito può solitamente essere composto da tanti d/w locali e da un eventuale d/w globale. Il d/w locale contiene dati che sono solo di interesse locale. Questo tipo di d/w ha le stesse funzioni dei d/w centralizzati eccetto lo scopo che è invece locale. In altre parole, il d/w locale contiene dati storici locali e non ci si preoccupa dell’integrazione dei propri dati del d/w locale con quelli di altre parti dell’organizzazione. 24 F. Turconi :I costi nascosti del D/W , Zerouno 6/1996 343 Capitolo settimo La filosofia Data Warehouse Europa Africa Sistema Operazionale Locale Local D/W Sistema Operazionale Locale USA : sede generale Local D/W Asia Sistema Operazionale Locale D/W Globale Local D/W Figura 7.27. Esempio di D/W locali e D/W globale Nella figura possiamo vedere come possono essere articolati dei d/w locali. I d/w locali possono essere articolati, ad esempio, in base alle diverse dislocazioni geografiche o in base alle diverse comunità tecnologiche o di prodotto che animano la corporate. Ognuno dei d/w locali estrae dal proprio sistema operazionale i dati che gli servono e li inserisce nel proprio d/w senza badare a realizzare una integrazione dei propri dati con quelli degli altri d/w locali. Ma per alcuni aspetti la corporate può essere interessata ad avere un d/w globale. Questo interesse è tanto maggiore quanto maggiori sono i “punti di contatto” , ovvero la comunanza dei dati esistenti fra i vari siti locali. Questi dati comuni fra i vari siti “indipendenti”, proprio in quanto interessano la corporate nel suo insieme, devono essere estratti in via di principio direttamente dai sistemi operazionali locali e non dai d/w locali perché questi ultimi inseriscono questi dati nel loro d/w locale seguendo 344 Capitolo settimo La filosofia Data Warehouse solamente quelle che sono le loro finalità, mentre la corporate vede gli stessi dati sotto un interesse diverso che è quello globale25. Essenziale per la corretta realizzazione di un d/w distribuito è la mappa dei dati dai sistemi operazionali locali al d/w globale. Questa mappa dovrà comprendere tutti i dati che sono comuni ai vari siti e che potranno essere efficacemente utilizzati a livello di corporate. Un’alternativa alla estrazione diretta dei dati dai sistemi operazionali è quella di creare delle aree di immagazinamento locale dei dati per il d/w globale per poi scaricarli nel d/w globale seguendo sempre, però, le indicazioni della mappa. Una delle caratteristiche del d/w globale è che i dati si presentano all’interno del Warehouse sicuramente sintetizzati, mentre la grande massa di dati grezzi rimane nei siti locali. Proprio questa sintesi dei dati può essere effettuata già a livello locale nelle suddette aree di immagazzinamento le quali possono in loco raccogliere i dati, sintetizzarli ed inviarli alla sede centrale. 7.10.2. Gestione degli sforzi di sviluppo di Data Warehouse multipli Il primo passo che molte organizzazioni fanno nel data warehousing è di costruire un d/w per le organizzazioni di marketing o finanza. Una volta che si è riscontrato un successo, questa esperienza può trovare applicazione in altri settori organizzativi. Da qui nasce lo sforzo e l’esigenza di una gestione e di un coordinamento dei dati comuni di una organizzazione da parte dell’architetto d/w. Comunque, si afferma che ci dovrebbe essere una reciproca esclusività dei dati fra i d/w locali e il d/w globale al fine di eliminare al massimo il problema della ridondanza dei dati e poi anche perché è essenziale distinguere esattamente quali debbano essere le questioni locali da quelle globali, cosa che anche se è difficile deve essere perseguita in un sistema di d/w distribuito. In effetti, a livello di principio il dato globale deve essere utilizzato per questioni di rilevanza globale, mentre il dato locale deve essere utilizzato per questioni di rilevanza locale. Per maggiori approfondimenti vedere Building of the Data Warehouse di W.H. Inmon pag. 209-211 345 25 Capitolo settimo La filosofia Data Warehouse D/w Marketing D/w Produzione D/w finanza ? D/w globale Figura 7. 28. Problemi di gestione multipla degli sforzi di sviluppo 7.10.3. Natura degli forzi di sviluppo La prima questione che deve affrontare un architetto d/w che deve gestire i diversi sforzi di sviluppo all’interno dell’azienda è quello della natura di questi sforzi. A meno che l’architetto conosca esattamente quali sono i tipi di sforzi di sviluppo del d/w che bisogna realizzare e come questi si collegano all’architettura complessiva, questi avrà molti problemi a coordinare e gestire questi sforzi. I diversi sforzi di sviluppo del d/w richiedono diversi approcci di gestione perché le questioni di sviluppo sono molto differenti a seconda dei diversi casi che si presentano. Inmon elenca quattro casi tipici : 1. Business non integrati 2. Costruzione di un d/w per ciascuna delle parti di una organizzazione 3. Diversi gruppi di una corporate curano i diversi livelli di dettaglio 4. Gruppi diversi che costruiscono lo stesso livello di dettaglio Il primo caso ed il quarto non si presentano molto spesso, mentre più frequentemente ci si imbatte in casi come quelli descritti nel secondo e terzo punto. 1) Business non integrati 346 Capitolo settimo La filosofia Data Warehouse Questo caso si presenta per corporate che hanno business non integrati, ovvero business che presentano uno stato di correlazione quasi nullo. Si può portare come esempio un’impresa che abbia quattro business : una catena di fast food, acciaierie, abbigliamento bambino, manutenzione di campi da golf. Come si vede la correlazione fra questi quattro business è pressappoco che nulla, per cui ogni business può sviluppare un d/w a se stante senza cercare delle correlazioni con gli altri business. L’unica forma d’integrazione a livello corporate che è possibile per business non integrati è quella relativa al bilancio finanziario. Il d/w relativo al bilancio finanziario della corporate dovrà prendere in considerazione semplici ed astratte entità come spese, introiti, aumenti di capitale, inflazione, ecc. E’logico che in un documento di bilancio i dati business (come clienti, prodotti, vendite) non trovano molto spazio. Quindi, si può dire che si tratta di un d/w “leggero” che analizza solamente l’aspetto finanziario della corporate ; per questo l’importanza del metadata del d/w a livello corporate sarà relativa. Molto importante è invece il metadata per i singoli d/w di business. Acciaierie Abbigliamento Bambino Catena di Fast Food Manutenzione campi da golf D/W finanziario della corporate Figura 7.29. Esempio di business non integrati 2) Il Data Warehouse distribuito E’ raro che i vari business di una corporate si presentino completamente scollegati come nel caso precedente. Bene o male esiste un certo grado di 347 Capitolo settimo La filosofia Data Warehouse correlazione che occorre sfruttare. Il caso in esame può essere rappresentato, ad esempio, come quello di una corporate che ha una serie di business che presentano fra loro un certo grado di correlazione. Inoltre, la corporate ha siti sparsi un po’in tutto il mondo (USA, Africa, Canada, Europa, Sud America) ed è convinta che in ognuno di questi siti si applichino pratiche di business differenti. Un primo approccio che la corporate può compiere nella costruzione di un d/w è quello di lasciare che ogni sito costruisca in loco con gruppi autonomi il proprio d/w che riguarderà tutti i business dell’impresa . I vantaggi di questo approccio derivano dal fatto che il sito locale conosce molto meglio la realtà locale e muovendosi in autonomia dalla sede centrale può meglio “attrezzare” il proprio d/w rispetto a quelli che sono i suoi bisogni. Un altro vantaggio sta nella riduzione dei tempi e quindi dei costi di implementazione che altrimenti, in caso di coordinamento a livello di corporate, sarebbero più lunghi. Gli svantaggi sono rappresentati da una mancata visione d’insieme a livello corporate dei vari business e delle interrelazioni esistenti fra questi. Tali interrelazioni derivano da un mancato coordinamento dei vari siti locali. Un approccio alternativo a quello sopra descritto può essere quello di stabilire tra i gruppi che costruiscono un singolo d/w locale un coordinamento a livello centrale. Ma questo rallenta notevolmente i tempi di implementazione del d/w sia per i problemi impliciti al coordinamento sia per il fatto che la costruzione dei vari d/w locali difficilmente possono svilupparsi tutti di pari passo. Inoltre, il coordinamento a livello centrale può essere visto, talvolta, dagli stessi implementatori locali come una limitazione allo sviluppo del loro d/w. Si stabilirà che ogni sito locale abbia il proprio modello dei dati a fondamento del proprio d/w. Una volta che si è verificato che il d/w a livello locale ha prodotto dei benefici si può decidere di realizzare un d/w a livello corporate il quale rifletta un’integrazione dei business fra le differenti divisioni e località. 348 Capitolo settimo La filosofia Data Warehouse Il primo passo da compiere deve essere quello di identificare un modello dei dati a livello corporate che accolga i dati di business che siano significativi per la corporate e nella forma (cioè il grado di sintesi) che interessa la corporate26. Inoltre, come regola generale, il d/w corporate all’inizio deve essere piccolo e semplice, e cioè limitarsi ad uno ristretto subset di dati riguardanti il business. Questo perché si può rischiare di inserire all’inizio un quantitativo eccessivo di dati che poi l’uso ne dimostrerà la inutilità. Ma questo produrrà dei danni sia per l’eccessivo tempo di implementazione e quindi di costo del d/w, sia per l’eccessiva “pesantezza” del d/w che ne risentirà sempre in termini di costo di gestione e di efficienza di utilizzo. Il modello dei dati corporate riflette l’integrazione del business a livello corporate. Spesso si può creare una sovrapposizione dei dati a livelli corporate con quelli a livello locale. Ma questa sovrapposizione dei dati può essere vista come benefica quando gli scopi per i quali viene fatta sono diversi. I dati di cui la corporate abbisogna per analizzare i business sono caricati direttamente dalle organizzazioni locali le quali hanno una conoscenza più approfondita del dato locale. Comunque, l’archiviazione verrà fatta seguendo le specifiche del Metadata a livello corporate. La sorgente di questi dati potrà essere sia il d/w locale, sia i sistemi operazionali e comunque, spetterà sempre alle organizzazioni locali stabilire come comportarsi al riguardo. Il Metadata nell’ambito del d/w distribuito gioca un ruolo essenziale, perché è attraverso questo che si effettua un coordinamento della struttura dei dati che sono archiviati nei differenti siti autonomi. Il metadata rappresenta il veicolo principale per effettuare un’archiviazione dei dati uniforme e consistente. Si può dire che questo fornisce quelle che sono “le specifiche standard” della archiviazione. 26 Il grado di sintesi a livello locale e a livello di corporate può essere differente. Spesso i dati che un analista DSS locale considera di sintesi sono per l’analista DSS a livello corporate un 349 Capitolo settimo Africa d/w La filosofia Data Warehouse Canada d/w Europa d/w USA d/w Sud America d/w Corporate d/w Figura 7.30. Esempio di Data Warehouse distribuito 3)Costruzione del Data Warehouse a livello multiplo Questo caso si presenta quando la costruzione del d/w viene effettuata contemporaneamente da gruppi diversi i quali curano ognuno un livello di dettaglio. Ad esempio, il gruppo A si occupa dell’alto livello di sintesi dei dati, il gruppo B si occupa del medio livello di sintesi dei dati mentre il gruppo C si occupa del livello di dettaglio. Questo è un caso che si verifica molto frequentemente nella costruzione del d/w e fortunatamente è quello che presenta i minori problemi. Ovviamente ci dovrà essere un buon coordinamento fra i gruppi che nella realizzazione del d/w dovranno procedere sempre di pari passo. Gli sforzi di coordinamento riguarderanno la specificazione del contenuto e la struttura dello stesso nonché i termini e i tempi di sviluppo. Anche in questo caso il Metadata gioca un ruolo fondamentale in quanto riflette fedelmente qual è il disegno di sviluppo che si intende realizzare. mero dettaglio. Per maggiori approfondimenti vedi W.H. Inmon Building of the Data Warehouse pag. 222 e seguenti 350 Capitolo settimo La filosofia Data Warehouse Un problema rilavante in questo terzo caso è rappresentato dalla scelta da parte dei diversi gruppi di piattaforme differenti e dalla capacità che tali piattaforme hanno di comunicare fra loro. Non è usuale che i diversi gruppi scelgano la stessa piattaforma. In effetti, i diversi livelli di sintesi dei dati impongono spesso piattaforme con caratteristiche differenti (e questo può essere valido anche più in generale). Ad esempio, il livello di dettaglio, contenendo una grande massa di dati, ha bisogno di piattaforme che riducano al massimo i tempi di accesso ai dati. Quindi dovranno essere molto più performanti di quelle necessarie per i livelli di sintesi dove la massa dei dati è minore. Questo ha come conseguenza un risvolto sui costi diversi delle piattaforme che saranno scelte. Un’altra ragione della scelta di piattaforme diverse fra il livello di dettaglio e i livelli di sintesi sta nel fatto che, acquisendo una piattaforma diversa, si arricchisce la varietà di software specializzati necessari ad esempio per gli analisti DSS. Ma la scelta di piattaforme diverse pone giocoforza anche il problema della comunicazione fra di loro. Gruppo B OLAP Gruppo A Alto livello di sintesi Dettagli dei Dati Gruppo C Livello di dettaglio Figura 7.31. Differenti gruppi sviluppano differenti parti del d/w Si tratta del problema della connettività che viene attualmente risolto tramite architetture software che rendono trasparenti le varie sorgenti di dati. 4) Costruzione di uno stesso livello di dettaglio Questo caso non è molto frequente. Si determina quando gruppi diversi operano per la costruzione dello stesso livello di dettaglio. Ciò viene fatto perché evidentemente i diversi gruppi hanno un interesse particolare su certi dati che possono curare in maniera più appropriata. Non sorgerebbero 351 Capitolo settimo La filosofia Data Warehouse problemi se per ogni gruppo si potesse individuare un set esclusivo di dati, ma così non è. Il pericolo più grosso è rappresentato da una ridondanza dei dati che porta dietro di se essenzialmente due problemi. Il primo, meno importante riguarda il costo. Una forte ridondanza dei dati produce un d/w di dimensioni più grandi di quanto non sia strettamente necessario con riflessi evidenti sulla scelta delle eventuali piattaforme ad hoc che devono essere scelte. Il secondo, più importante, è che questa grande massa di dati ridondanti avrà senz’altro dei riflessi negativi sulla efficacità attendibilità dell’analisi DSS compromettendo quindi, lo scopo principale per il quale il d/w è stato creato. E’compito del Metadata far si che ciò non si verifichi cercando di limitare al massimo i problemi di ridondanza. Gruppo B Gruppo C Gruppo A Gruppo D Gruppo E Figura 7.32. La costruzione di uno stesso livello di dettaglio da parte di più gruppi può portare alla creazione di zone di ridondanza. 7.11. Un piano di migrazione La costruzione di un ambiente Data Warehouse è un’attività che deve essere realizzata passo dopo passo. Di conseguenza, lo si può definire come un processo iterativo che si sviluppa nel tempo. Quindi si può partire all'inizio attraverso un “esiguo” quantitativo di risorse e si può cominciare a costruire quest’architettura con un minimo intaccamento dell’ambiente operazionale. 352 Capitolo settimo La filosofia Data Warehouse Sono le dimensioni e la velocità di sviluppo iterativo che risultano essere le variabili dominanti nella costruzione di un ambiente D/W. In queste pagine verrà esposto in estrema sintesi un generico piano di migrazione27 in ambiente Data Warehouse proposto da Inmon nel suo libro The building of the Data Warehouse. Questo approccio, nelle sue linee guida, a detta dell’autore, è stato seguito con successo da un grande numero di compagnie. 7.11.1. I passi del piano Il punto di inizio di un piano di migrazione è senz’altro il modello dei dati. Il modello è espressione delle informazioni di cui l’azienda necessita. Questo rappresenta cosa l’impresa ha bisogno e non cosa l’impresa in questo momento ha (cioè non si deve adattare le finalità ai mezzi, ma i mezzi alle finalità) . Inoltre la sua realizzazione deve essere sganciata da ogni considerazione di carattere tecnologico. Il modello dei dati deve identificare perlomeno i seguenti dati : ? i maggiori soggetti dell’azienda ? le relazioni fra i soggetti dell’azienda ? i raggruppamenti di chiavi ed attributi che possono più efficacemente rappresentare i maggiori soggetti, incluso : ? gli attributi dei maggiori soggetti ? le chiavi dei maggiori soggetti ? gruppi ripetuti di chiavi ed attributi ? connessioni fra le aree dei maggiori soggetti ? sottotipi di relazioni Inmon fa una distinzione netta tra piano di migrazione e metodologia di migrazione. Secondo quanto afferma l’autore di The building of the Data Warehouse, mentre un piano di migrazione descrive generali attività in maniera dinamica (modo schematico), la metodologia si occupa di descrivere le stesse attività in maniera specifica e seguendo l’ordine delle attività (modo analitico). Ma così facendo, la dinamica iterativa della creazione del Data Warehouse non apparirà in tutta la sua interezza. 353 27 Capitolo settimo La filosofia Data Warehouse In teoria è possibile realizzare un’architettura senza un modello dei dati ma sarebbe come navigare senza mappa28. Il secondo passo è quello relativo alla definizione del sistema dei record, cioè i record scelti dall’esistente sistema che entreranno nel Warehouse. Con sistema dei record ci si riferisce ai “migliori” dati che un’azienda possiede. Quindi, questa fase determinerà quali sono i dati che entreranno nel Warehouse. E’ il modello dei dati che verrà utilizzato come termine di raffronto per determinare, in ultima analisi, quali sono i migliori dati. In altre parole, l’architetto dei dati chiederà all’azienda (ovvero agli utenti che dovranno svolgere le diverse funzioni come analisi DSS, Data Mining ed altro) quali sono i dati dall’azienda giudicati necessari e che possono essere messi a disposizione stessa. Inoltre, giudicherà se questi si adattano alle caratteristiche del modello dei dati prescelto o no. L’identificazione delle migliori fonti di dati dal sistema esistente si stabilisce attraverso alcune caratteristiche proprie dei dati. Questi dati saranno, ad esempio : ? i più tempestivi ? i più completi ? i più accurati ? i più vicini alle fonti esterne ? strutturalmente compatibili con il modello dei dati prescelto in termini di chiavi, di attributi o in termini di chiavi ed attributi insieme. Attraverso questi criteri ed il confronto con il modello dei dati si definisce quindi quale sarà il sistema dei record. Avendo a questo punto definito quali dati inserire nel Warehouse, il passo successivo sarà quello di identificare quale sarà il disegno del Data Warehouse. 28 Inmon “Building of the Data Warehouse” 354 Capitolo settimo La filosofia Data Warehouse Se l’attività di modellazione dei dati (progettazione concettuale, logica e fisica) è stata effettuata in maniera accurata si dovranno modificare solo alcuni aspetti del modello prescelto nel disegno del D/W. Alcuni di questi riguarderanno : ? L’elemento tempo deve essere sempre inserito nella struttura della chiave se questo non è già presente ? Tutti i dati che riguardano solo le operazioni di transazione dovranno essere eliminati ? Modifica delle relazioni di integrità ? I dati di cui più frequentemente si ha bisogno devono essere inseriti nel disegno ? La struttura del dato, dove necessario, deve essere alterata : ? per aggiungere serie di dati ? per aggiungere dati ridondanti ? ulteriore separazione dei dati sotto giuste condizioni ? assorbimento di tabelle quando il caso lo richiede ? ecc. ? Effettuare un’analisi di stabilità dei dati Il Data Warehouse una volta disegnato deve essere organizzato per aree soggetto. Le tipiche aree sono : ? clienti ? prodotti ? vendite ? spedizioni ? attività ? conti All’interno di ogni area soggetto ci sono molte tabelle collegate fra loro da un sistema di chiavi comuni. Una volta disegnato il D/W il passo successivo è quello di disegnare e costruire delle interfaccie fra i sistemi di record residenti nell’ambiente 355 Capitolo settimo La filosofia Data Warehouse operazionale esistente ed il D/W. Si possono elencare le attività che si verificano a livello di interfaccia: ? integrazione dei dati dell’ambiente operazionale e di quello legato alle applicazioni ? alterazione della base di tempo dei dati ? efficiente scansione degli ambienti esistenti Arrivati al termine di questo passo, Inmon stima che circa l’80% delle risorse destinate alla realizzazione del D/W sono state consumate. Tutto ciò ci dice che tali attività richiedono uno sforzo non indifferente. Una volta terminata l’attività di interfaccia inizia quella di popolamento del Warehouse cominciando dal primo soggetto di area. Esistono molte ragioni che inducono a questo punto al popolamento di una sola piccola frazione dei dati di cui c’è bisogno in un D/W. E’ molto probabile, infatti, che cambiamenti riguardanti i dati dovranno essere effettuati. Operare solo su di una piccola parte dei dati significa che quei cambiamenti che dovranno essere effettuati potranno essere realizzati facilmente e velocemente. In effetti, popolare il D/W di una grande quantità di dati rende il D/W stesso meno flessibile ai cambiamenti che possono essere realizzati in momenti successivi. Di conseguenza, soprattutto nei momenti iniziali in cui le questioni relative alla scelta dei dati, alla necessità e alla natura degli stessi non sono ancora ben definite, è essenziale partire solo con una minima quantità di dati per permettere di testare la bontà delle scelte effettuate realizzano poi, delle correzioni “in corsa”. Sarà l’utilizzatore finale (ad esempio un analista DSS) che dovrà, ovviamente, esprimersi sulla bontà di ciò che è stato realizzato. Sarà lui a fornire indicazioni all’architetto D/W su cosa funziona, su cosa potrebbe funzionare meglio e su cosa non funziona, garantendo delle informazioni di ritorno (feedback) che avranno come effetto una modifica del D/W per meglio rispondere alle esigenze dell’utilizzatore. Il processo di popolamento e di feedback continuano per un lungo periodo di tempo (indefinito). 356 Capitolo settimo La filosofia Data Warehouse Questa fase dovrà arrivare alla realizzazione di un sistema che sia il più vicino possibile alle richieste dell’utilizzatore, compatibilmente a tutti quelli che sono i vincoli di risorse, di costi e di tempo che limitano la realizzazione della struttura D/W. Per cui, anche per questo, lo scambio di informazioni fra utilizzatore finale ed analista porterà certamente ad un miglioramento della struttura iniziale non potendo arrivare però, alla realizzazione di un sistema che possa essere considerato veramente ottimale. Sistema esistente Modello dei dati Disegno del d/w Definizione del sistema dei record Estrazione integrazione cambio della base di tempo dei dati condensazione dei dati efficiente scansione dei dati esistenti Figura 7.33. a)Passi di un piano di migrazione. 357 Capitolo settimo La filosofia Data Warehouse Primo poopolamento del Data Warehouse e continuo popolamento Feedback Architetto D/W Analista DSS Figura 7.34 b) passi di un piano di migrazione 358 Capitolo settimo La filosofia Data Warehouse 7.12. Executive information system nel Data Warehouse L’EIS (Executive Information System) è una delle più potenti forme di calcolo. Grazie all’EIS l’analista può specificare problemi ed individuare tendenze che sono di vitale importanza per il management29. L’elaborazione EIS è creata per aiutare l’esecutivo a prendere delle decisioni e può essere vista come la “finestra” dell’esecutivo sull’azienda considerando gli aspetti che sono rilevanti nella gestione del business. L’EIS non è altro che l’evoluzione dei sistemi DSS (Decision Support System), MIS (Management Information System) e di BI (Business Intelligence)30. Sistemi d’informazione EIS per i decisori MIS DSS Sistemi di produzione Figura 7.35. Sistemi di informazioni nelle imprese (fonte : Gentium Corporation) Alcune delle attività che rientrano in EIS sono : ? OLAP (On-Line Analytical Processing) ? Query e reporting “....gli EIS (Executive information system) sono gli strumenti tecnologici più utilizzati per sviluppare i cosiddetti cruscotti direzionali e rispondono con diversa modalità alla stessa finalità ultima dei data warehouse : avvicinare ai decisori i dati per decidere.”D. Sandri :La soluzione del SAS Institute, Zerouno 4/1995 30 Gentium eis :”Palnning Sciences” , white paper 359 29 Capitolo settimo La filosofia Data Warehouse ? Information retrivial ? Data Mining ? Analisi in genere ? ecc.. Figura 7.36. EIS per Oracle Corporation (tratto da CD ROM Oracle Warehouse) Non c’è una definizione precisa di quelle che sono le attività che rientrano in EIS. Tutte, comunque, sono rivolte al supporto dell’attività decisionale del management. Il Data Warehouse rappresenta il serbatoio di informazioni di questi sistemi. Informazioni poste nelle forme più adatte alle funzioni che devono essere svolte. 7.12.1. On-Line Analytical Processing OLAP (on-line analytical processing) è il nome che viene dato all’analisi dinamica d’impresa richiesta per creare, manipolare, animare e sintetizzare informazioni in forma esegetica, contemplativa, e formulare dei modelli di analisi . Questo include l’abilità a comprendere cose nuove o relazioni sconosciute fra le variabili, l’abilità ad identificare i parametri necessari e a maneggiare una grande quantità di dati, per 360 Capitolo settimo La filosofia Data Warehouse creare un illimitato numero di dimensioni ( percorsi consolidati), e per specificare condizioni ed espressioni trasversali alle dimensioni31. Un’applicazione OLAP è predisposta a cogliere le diverse relazioni esistenti fra le diverse variabili di dati e a realizzare in maniera efficiente una indagine multidimensionale. Questa indagine coinvolge un numero molto elevato di dati in relazioni complesse. Le applicazioni OLAP sono differenti dalle applicazioni OLTP (on-line transaction processing)32 le quali riguardano un grande numero di relativamente semplici transazioni. Le transazioni , normalmente, ritrovano e modificano un piccolo numero di record che sono contenuti in molte distinte tavole. Le relazioni fra le tavole sono generalmente semplici33. Quindi, le applicazioni OLAP si occupano di effettuare delle interrogazioni di dati che coinvolgono un grande numero di dati, più variabili contemporaneamente e si fondano in un modello detto multidimensionale MDM (Multidimensional Modelling). Diventa essenziale nell’ambito OLAP il tempo di accesso ai tanti dati impiegati rispetto anche alla complessità delle interrogazioni da effettuare. In generale, le attività che caratterizzano l’OLAP, e che gli OLAP database dovranno supportare, sono la Consolidation, lo Sclicing and Dicing e il DrillDown. Con Consolidation si intende far riferimento all’aggregazione dei dati. Questi possono essere un semplice raggruppamento o complesse espressioni che coinvolgono dati interrelati. Per esempio, le vendite di un negozio possono essere raggruppate in un distretto, quelle di un distretto in una E.F. Codd S.B. Codd, and C.T. Salley : “Providing OLAP (on-line analitical processing) to User-Analists : An IT Mandate . http :// www. Arborsoft.com/papers/ coddTOC.html N. Radennel suo articolo Data, Data Everywere definisce l ‘OLAP così : L’OLAP spesso viene confuso con il supporto alle decisioni. Ma praticamente, l’OLAP attività di query interattive, seguendo una linea di analisi tra più passi, come con il “Drill- Down” si sviluppa su più passi analizzando livelli di dettaglio più bassi.” Tratto da http :// www.strategy.com/dfw/iw_mct01.htm 32 L’ ambiente OLTP è solitamente l’ambiente operazionale. 33 R. Finkelstein :”Understanding the Need for On-Line Analytical Servers”, http//www.arborsoft.com/papers/finkTOC.html 361 31 Capitolo settimo La filosofia Data Warehouse regione. Lo Slicing and Dicing si riferisce all’abilità di guardare i dati di un database da più punti di vista. L’analista prende le informazioni di base che gli servono e le analizza in un modo, quindi le raggruppa in un altro modo e le rianalizza. Quindi, effettuare questa attività permette al manager di avere differenti prospettive della situazione che si trova ad affrontare. Il Drill- Down si occupa, infine, di indagare una certa informazione approfondendo in maniera mirata il grado di analiticità della stessa. 7.12.1.1. Analisi Drill-Down Per effettuare lo sclicing and dicing , è necessario essere abili nell’effettuare una analisi di “drill-down” sui dati. Questo tipo di analisi si riferisce all’abilità d’iniziare ad analizzare le informazioni partendo da un dato fortemente aggregato per “spezzarlo”, successivamente, in set di dati ad un livello di sintesi più basso. Il manager ha in questo modo uno strumento diagnostico per approfondire passo dopo passo la sua analisi, partendo da dati fortemente aggregati per poi puntare l’attenzione, attraverso un approfondimento del grado di analiticità del dato, su quei dati che sembrano nascondere la risposta alle sue domande. Si può pensare al drill-down in termini di un percorso che il manager segue da un livello di sintesi dei dati più elevato ad uno via via sempre più basso, per arrivare alla soluzione del suo problema. C’è tutta una serie di software sofisticati per presentare i risultati ad un manager. La parte più difficile delle indagini drill-down ed EIS in generale non è la rappresentazione grafica, ma i numeri che le compongono. EIS è perfettamente capace di supportare indagini drill-down se i dati esistono alla base. Ma se i dati adatti non esistono il processo diventa difficile da realizzare. 362 Capitolo settimo La filosofia Data Warehouse Questa simulazione mostra come DSS AGENT (un tool di analisi DSS) può essere usato per risolvere un problema di cattiva gestione delle scorte. IL PROBLEMA : Le vendite per articoli promozionali sono diminuite nel New England al disotto di quanto stabilito nel piano. A questo punto il DSS Agent provvede a dare intuitivo accesso alle informazioni richieste per risolvere il problema delle vendite in New England. 363 Capitolo settimo La filosofia Data Warehouse Gli articoli promozionali hanno avuto una caduta del 9% nel New England rispetto al piano di questo trimestre. Il report Articoli promozionali mette subito in allerta del problema esistente in New England. Questo report può essere visto in diversi formati. 364 Capitolo settimo La filosofia Data Warehouse Formato MAP Formato GRAPH 365 Capitolo settimo La filosofia Data Warehouse Formato Griglia. L’Users può vedere i dati in un formato multidimensionale dai quali dati può far partire la sua indagine. Attraverso una indagine Drill-Down si può partire da un’analisi dei dati fortemente sintetizzata per poi approfondire l’indagine selettivamente via via che il grado di analiticità dei dati utilizzati aumenta. 366 Capitolo settimo La filosofia Data Warehouse L’indagine eseguita ci mostra che il New England ha un dato negativo. Si vuole per questo scoprirne le cause. Si procede, quindi, approfondendo con una indagine Drill-Down. Se si punta l’attenzione sui negozi del New England (Boston, Portland, Concord) solo Boston è fuori piano. 367 Capitolo settimo La filosofia Data Warehouse Allora si torna al menu generale. Si può scegliere a questo punto una nuova analisi che contenga informazioni sulle scorte di articoli promozionali. Il tool DSS AutoPrompt permette di selezionare il negozio di Boston 368 Capitolo settimo La filosofia Data Warehouse Il Power-Drill viene identificato come potenziale problema Si sceglie a questo punto un report che analizzi giornalmente il “guasto” sul prodotto Power-Drill. 369 Capitolo settimo La filosofia Data Warehouse Si cerca a questo punto di evidenziare meglio i dati della griglia relativi al Power-Drill attraverso un grafico che mostri l’andamento delle vendite contrapposto al livello delle scorte. Si può notare che c’è una cattiva gestione delle scorte perché, mentre le vendite sono regolari, le scorte “lasciano a secco” il negozio per alcuni giorni durante il mese non potendo soddisfare pienamente la clientela. Quindi : occorre aumentare il livello delle scorte. Si provvederà, di conseguenza, ad informare di questo problema il responsabile regionale perché provveda a regolare meglio le scorte. 7.12.1.2. Il Data Warehouse per l ‘OLAP L’analista deve avere la possibilità di considerare i dati in modi diversi (slice and dice) e di poter andare a fondo nella sua analisi percorrendo via via 370 Capitolo settimo La filosofia Data Warehouse gradi di dettaglio sempre più analitici. Per questo deve disporre di una struttura dati che gli permetta di essere “attivo” ; in altre parole egli non deve “costruire” le informazioni ogni volta che ne ha bisogno. Con questo s'intende che l’analista non deve preoccuparsi ogni volta della fonte da cui arrivano i dati, né di creare appositi programmi per estrarli, integrarli, sintetizzarli in maniera appropriata alle sue ricerche. La struttura Data Warehouse garantisce proprio questo. I dati finiscono tutti in un repository centrale in forma atomica o leggermente sintetizzati e poi saranno sintetizzati e ribaltati nei Datamart dove si troverà un database con una struttura capace di gestire adeguatamente i dati in modo da servire meglio le richieste dell’utente EIS. Esistono, quindi, più livelli di sintesi dei dati e strutture capaci di garantire le flessibilità d'utilizzo dei dati. Individuale Datamart Repository Figura 7.37. La struttura del D/W è adatta a realizzare un'indagine Drill-Down che si sviluppssu duversi livelli di sintesi d'analisi. 7.12.2. Analisi e Modello Multidimensionale MDM (MultiDimensional Modelling) Il Multidimensional modelling è una tecnica sviluppata per strutturare i dati intorno ai concetti di Business aziendali e per fornire un fondamento 371 Capitolo settimo La filosofia Data Warehouse all’esecuzione d'elaborazioni sofisticate di Data Analysis. Mentre la tecnica utilizzata per il disegno degli OLTP poggia sul modello E/R realizzando la scomposizione delle informazioni su di un numero elevato di tabelle bidimensionali (colonne e righe), ognuna descrivente un'entità, il modello multidimensionale e l’analisi usano i fatti (dati numerici : ad esempio il numero delle vendite), le dimensioni (parametri di business : Mercato)34 e le gerarchie (delle dimensioni :ad esempio Il mercato nazionale, regionale, locale). Si analizzerà più approfonditamente queste caratteristiche successivamente, attraverso lo studio di schemi relazionali (a stella e a fiocco di neve) realizzati per supportare l’analisi multidimensionale. Il MDM non riguarda l’evolversi delle informazioni degli eventi in generale, piuttosto riguarda una serie di “slice in time”. Il primo passo nella costruzione di un modello è scegliere il soggetto dell’area di business (vendite settimanali, reporting, situazione finanziaria mensile, ecc..) e fare a questo modello sei fondamentali domande : 1. Quale processo di business occorre modellare ? 2. Quali sono le misure (o i fatti) ? 3. A quale livello di dettaglio è “attiva” l’analisi che si deve condurre35 ? 4. Quali sono le misure che hanno in comune (le dimensioni) ? 5. Quali sono gli attributi e le dimensioni ? 6. Ci sono attributi stabili o variabili nel tempo, se le cardinalità sono limitate oppure no36 ? “Ogni dimensione rappresenta una categoria differente di classificazione (vendite, prodotto, canale di vendita, città, e così via)”. Coniugando assieme le dimensioni si ottiene una sorta di cubo in cui ogni cella rappresenta una particolare situazione. P. Lombardi :Una nuova dimensione per i Database ?, Zerouno 9/1995 35 Per analisi attiva si intende l’ abilità di manipolare l’informazione. 36 N. Raden :Modelling the Data Warehouse, http :// www. Strategy. com/d/wf/raden/iw0196_1.htm 372 34 Capitolo settimo La filosofia Data Warehouse Argomenti/ Funzioni Operational Decision Support Dati contenuti Valori correnti Organizzazione dei dati Natura dei dati Struttura dei dati, Formato Probabilità di accesso Modifica dei dati Per applicazione Dinamica Complesso ; adatto per operazioni di calcolo Alta Modifiche a livello di campo Processi ripetitivi altamente strutturati Intorno al secondo Dati storici, aggregazioni, dati calcolati Aree di interesse trasversali Statica dopo ogni load Semplice ;adatto per l’analisi di business Bassa Modifiche non dirette Utilizzo Tempi di risposta Processi analitici altamente non strutturati Secondi, minuti Figura 7.38. Tabella di raffronto fra le funzionalità del sistema operazionale con il Decision Support (fonte :INFORMIX) Un modello altamente normalizzato di dati che poggia sull’E/R come il relazionale classico è utile per fornire un numero elevato di transazioni che coinvolgono un numero piccolo di righe. In un sistema DSS, ad esempio, il numero di transazioni concorrenti è minimo mentre il numero di righe interessate è molto elevato (milioni di righe). Questa è la differenza sostanziale fra i sistemi OLAP e i sistemi OLTP. Si possono indicare 4 tipi di differenze : 1. Transazione contro lo “slice of time”. L’OLTP registra gli eventi o le transazioni. Esempi sono gli ordini di vendita, le telefonate dei clienti, ecc.. Il modello dati multidimensionale considera gli eventi in un arco di tempo come il giorno, la settimana, il mese. 2. Contenuto particolare contro contenuto globale. Gli OLTP sono disegnati per soddisfare uno scopo particolare di origine operazionale. Invece, i modelli multidimensionali servono per soddisfare scopi di carattere decisionale ed hanno una visione unitaria dell’impresa. 3. Mantenere traccia di ogni transazione contro un “grande quadro”. Gli OLTP mantengono ogni singola transazione che si è verificata e per ricostruire una certa situazione occorre prendere in considerazione tutte le 373 Capitolo settimo La filosofia Data Warehouse transazioni che si sono verificate. Invece, il modello multidimensionale può mostrare la stessa situazione con un dato sintetico. 4. Relazioni esplicite contro relazioni implicite. Nel modello E/R si analizzano solo quelle che sono le relazioni esplicite fra le varie entità, mentre nel modello multidimensionale si analizzano più relazioni che ruotano intorno alle dimensioni e all’esistenza di determinati fatti. Un’applicazione multidimensionale permette quindi di vedere un determinato fatto sotto diversi aspetti quante sono le dimensioni che possono essere legate a questo fatto. Coniugando assieme le dimensioni si ottiene una sorta di cubo in cui ogni cella rappresenta una particolare situazione ed ogni cella contiene un particolare valore37. Si può ricomporre un fatto in modo diverso a seconda delle dimensioni utilizzate (slicing and dicing) e si può analizzare questo fatto con diversi gradi di analisi (ad esempio a livello regionale, di provincia, comune ecc.. a seconda delle gerarchie degli elementi individuati). E’come avere a disposizione un cubo magico in cui si può far mutare continuamente le facce e quindi gli scenari che ci si trova davanti. In effetti, queste tecniche vengono dette a cube fondation, ma spesso il numero delle dimensioni prese in considerazione supera quelle del cubo e per ciò si parla in alcuni casi di ipercubo (vedi nota a fondo pagina)38. “Si tratta di una sorta di spreadsheet :in ciascuna cella sono così contenuti i dati risultanti dall’interrelazione tra più dimensioni :per esempio una cella potrà fornire il totale delle vendite di un certo prodotto per canale di vendita di una certa zona in un determinato giorno dello scorso anno” P. Lombardi :Un nuova dimensione per i database, Zerouno 9/1995 38 “L’ipercubo (di cui è esempio EssBase, gestore di basi di dati multidimensionale di Arbor Software) intende descrivere un oggetto che abbia più di tre dimensioni, sempre con le facce piane e ciascuna dimensione ad angolo retto rispetto a tutte le altre. Non riuscite a visualizzarlo ? Non siete i soli : anche se lo si può estrarre dal modello matematico del foglio di calcolo, la nostra immaginazione non va oltre le tre dimensioni. La progettazione del modello a ipercubo è un processo Top-Down. Prima si selezione l’aspetto dell’attività aziendale da catturare, per esempio le vendite, la situazione finanziaria o i reclami. Poi si identificano i valori da catturare, per esempio i saldi delle vendite o dei conti (informazioni che sono quasi sempre di tipo numerico). Infine si identificano le dimensioni. Dimensioni tipiche sono :misura, tempo, scenario, geografia, prodotto e cliente. Una singola cella in un cubo può memorizzare il valore delle vendite in lire di gennaio in Lombardia della tintura blu per capelli ai grandi magazzini XYZ...... Uno degli svantaggi principali di una struttura di questo tipo è che anche le minime modifiche nella struttura dimensionale richiedono 374 37 Capitolo settimo La filosofia Data Warehouse Figura 7.39. Analisi multidimensionale secondo Oracle (Catturato da immagini del CD ROM Oracle Warehouse) Per poter gestire le analisi multidimensionali occorrono dei DBMS multidimensionali. Questi DBMS possono essere o multidimensionali, vale a dire con modello multidimensiolale, per cui i dati sono organizzati fisicamente in “cubi” di dati39, oppure sono dei RDBMS in cui il modello dei dati risulta modificato per facilitare le applicazioni multidimensionali oppure le altre funzionalità EIS in genere. una riorganizzazione del database......” N. Raden :Troppi dati per decidere, Zerouno 1/1996 (tradotto da Informationweek) 39 L’MDM non registra le informazioni in tabelle legata da chiavi, ma in schieramenti di dati logicamente legati. Ma non esiste un solo modello multidimensionale. L’MDM non ha allo stesso modo uno standard per l’accesso ai dati........” Tratto da ...ograms/cmp_wiasgate ?RF=832869835.900&num=6 # head. : Articolo di InformationWeek di N. Raden :Tecnology Analysis 375 Capitolo settimo La filosofia Data Warehouse Gerarchia degli attributi Attributi Dimensione G E O G R A F I A Regione Mid Atlantic Stato VA MD Southeast NC GA Città Fairfax Richmond Norfolk Annapolis Baltimore Potomac Reileigh Charlotte Durham Atlanta Auguasta Norcriss G E O G R A F I A Elementi degli attributi Tempo Prodotti Figura 7.40. Analisi Multidimensionale (Microstrategy) La Gartner Group40 ha identificato otto caratteristiche che questi DBMS, sia relazionali che multidimensionali, devono avere. Da quest’analisi si rivalutano i database relazionali. 1. I database devono provvedere alla gestione dei Tool. 2. Supporto del Drill-Down fino al livello di dettaglio atomico. I database multidimensionali non permettono di arrivare ad un livello di dettaglio dei dati in maniera trasparente quando l’utente usa il metodo Drill-Down. Mai i database multidimensionali registrano i dati a livello atomico di dettaglio, per cui occorrerà estrarli tramite appositi software dal reposytory centrale, se esiste. Comunque sia, il livello di dettaglio è registrato in forma relazionale ed è più semplice per i database relazionali accedere a questi dati (SQL) integrandoli ai propri. 3. Aggiornamento dei dati. Spesso l’aggiornamento di un multidatabase si risolve in un dover ricaricare completamente l’intero “data cube”, mentre 376 Capitolo settimo La filosofia Data Warehouse il relazionale accetta più facilmente le modifiche senza dover di nuovo ricaricare tutti i dati. 4. Supporto di array multipli. Il database multidimensionale non supporta la creazione di più array correlati in una singola struttura database. Al contrario la tipica struttura relazionale permette la definizione fino a 256 tavole collegate in un singolo database. 5. Database join. Il database multidimensionale non supporta le join logiche di più multidimensional array. L’impossibilità di realizzare delle join fra più database multidimensionali limita, quindi, la possibilità di effettuare query se varia la composizione delle tabelle 6. Selezione di un subset di dati. Il database relazionale può provvedere, come il database multidimensionale, a limitare l’ammontare dei dati per le proprie analisi. 7. Accesso ai dati. I database multidimensionali sono caratterizzati attualmente da strutture “proprietarie”. Vale adire che ogni produttore propone la sua. Al contrario la struttura relazionale si fonda su regole certe e soprattutto esiste un linguaggio comune per l’accesso ai dati che è l’SQL. Questo fa si che tutti i dati relazionali siano trasparenti fra loro mentre così non si può dire per i diversi dati multidimensionali. Metadata INPUT Query Generator SQL OUTPUT Mathematical Processor Cross-Tabulation Engine Data Warehouse Applicazione DSS Motore DSS 40 Tratto da :Decision Support Viewpoint. White Paper di Microstrategy 377 Capitolo settimo La filosofia Data Warehouse Figura 7.41. Architettura di un notore DSS (Microstrategy) 8. Interfaccia SQL. I database multidimensionali non supportano una interfaccia SQL per l’accesso ai dati. L’accesso avviene tramite un software apposito (un’API, Application Program Interface) che però è proprietario. Al contrario, l’analisi multidimensionale può essere tradotta per mezzo di un motore in linguaggio SQL e quindi comprensibile al DBMS. 7.12.3. Strutture relazionali per l’EIS Il modello relazionale classico, cioè quello altamente normalizzato , viene detto general-purpose. In effetti, questo modello deve perseguire più scopi : l’inserimento, l’aggiornamento e l’accesso. Deve, cioè, garantire il massimo della flessibilità di utilizzo che prevede più operazioni sia di lettura che di scrittura. Inoltre, è una struttura, quella relazionale, che poggia su fondamenta certe e quindi è stabile e garantisce un accesso ai dati trasparente tramite SQL. Ma nel Data Warehouse la situazione cambia. Si hanno Database molto grandi che sono prevalentemente in lettura. Quindi, il punto critico, sia che si tratti di OLAP o di attività di query in genere, è quello di facilitare l’accesso ai dati poiché si passa da una situazione, quella dell’ambiente operazionale caratterizzata da un grande numero di transazioni e query che coinvolgono un piccolo numero di righe, ad una in cui le transazioni sono minime e il numero di righe coinvolte nelle query è molto elevato. I punti chiave di questa situazione sono rappresentati : 1. dalla necessità di limitare il numero di join complesse che comprendano, cioè, un alto numero di righe : tutto ciò per problemi di performance 2. dall’avere un modello chiaro comprensibile all’utente. Spesso un database suddiviso in una miriade di tabelle può far perdere all’utilizzatore la visione di insieme dei dati a disposizione. In effetti, visionare dei dati relativi ad un oggetto di interesse sparsi su un certo numero di tavole è diverso che vederli raggruppati in poche logiche unità. 378 Capitolo settimo La filosofia Data Warehouse Occorrerà, di conseguenza, adattare il nostro modello in modo tale da servire in maniera più efficiente gli scopi dell’utente finale. Si parlerà , in generale, di attività di denormalizzazione fino ad arrivare a parlare di schemi a stella o a fiocco di neve. 7.12.3.1. Normalizzazione/Denormalizzazione Una prima attività per migliorare le performance e la comprensione del modello relazionale (normalizzato) è quella di realizzare una attività di denormalizzazione. Il modello dei dati produce tutta una serie di tavole legate fra loro, le quali contengono dati. Quindi, per trovare i dati il programma salta da una tavola all’altra. La dislocazione dei dati su più tabelle aumenta i tempi di ricerca dei dati (cioè l’accesso). Se gli archivi sono molto grandi i tempi di attesa saranno multo lunghi. Per migliorare l’accesso si usano delle tecniche di denormalizzazione. Queste possono essere : ? fusione delle tavole ? gli array ? deliberata introduzione di ridondanza dei dati ? dati derivati ? indici creativi ? ecc.. La fusione delle tavole ha come scopo quello di limitare le join fra le tavole coinvolte nella ricerca dei dati e quella di dare una rappresentazione di insieme dei dati più comprensibile all’utilizzatore degli stessi. Un’altra tecnica è quella della creazione di array di dati. In uno schema normalizzato, ritrovare fisicamente l’occorrenza n, n+1, n+2, ....., richiede un certo numero di accessi. Se i dati che normalmente vengono acceduti più spesso sono posti fisicamente in un singolo array, si ha un singolo accesso. 379 Capitolo settimo La filosofia Data Warehouse Programma ....... n ....... ....... n+2 ....... ....... Programma ....... n+1 ....... n+4 ....... ....... n+3 ....... ....... n n+1 n+2 n+ 3 n+4 ....... Figura 7.42. Nel primo caso il programma dovrà saltare da un blocco fisico all’altro per trovare i dati, nel secondo invece se li troverà disposti in uno stesso array (Building the D/W) La tecnica della duplicazione cerca di limitare gli accessi per quei dati che sono richiesti con maggior frequenza duplicandoli su più tabelle. In questo modo, come si vede dalla figura sotto, si moltiplicano gli aggiornamenti del dato in quanto questo si trova su più tabelle. Per quei dati che, invece devono essere estratti, elaborati tutte le volte ed in maniera sempre uguale per poi essere utilizzati nelle diverse ricerche, si può inserire direttamente la forma sintetica degli stessi, e cioè dei dati già pre-elaborati che così potranno essere direttamente utilizzati senza realizzare quegli accessi ed elaborazioni che peggiorano le performance. Si possono creare, inoltre , particolari indici, come i Bit Map, ad esempio , per velocizzare la ricerca dei dati. 7.12.3.2. Schema a stella Questo schema ha come scopo quello di organizzare i dati in tabelle in modo tale da supportare un’analisi di tipo multidimensionale. 380 Capitolo settimo La filosofia Data Warehouse Sappiamo come gli elementi fondamentali del modello multidimensionale siano i fatti e le dimensioni41. I fatti sono i “dati numerici” che devono essere rintracciati. Essi sono memorizzati in una tabella centrale detta Fact table (FT). Le dimensioni sono i “parametri di Business” che definiscono ogni transazione. Le dimensioni sono memorizzate in tabelle satellite dette Dimension table (DT) legate alla tabella centrale. Esempio : I dati memorizzati nella FT includono Vendite - Inventario - sottoscrizioni di magazzino - Spese I dati memorizzati nelle DT includono Tempo - Luoghi geografici - Account - Prodotti Le FT sono completamente normalizzate, quindi non vi sono dati duplicati nella tabella. Colonne chiave che legano la FT e DT Prod_Code 101 102 Time_code 2045 2045 Acct_code 501 502 Valori numerici Sales 3999 333 QTV 0 2 Figura 7.43. Fact Table (Informix) Le informazioni nelle DT sono utilizzate per specificare interruzioni di subtotali o vincoli sulla query. Esempio di query : “Le vendite mensili per tutte le vendite al dettaglio nelle regioni orientali” “Il Data Warehouse richiede una vista query centrica dei dati e lo schema a stella provvede a realizzare tutto ciò. La premessa base di uno schema a stella è l’informazione che può essere classificata in due gruppi :i fatti e le dimensioni. I fatti sono il cuore degli elementi che devono essere analizzati. Le dimensioni sono gli attributi dei fatti.” Tratto da :http ://www.redbrick.com/rbs/wuitepapers/star_wp.html 381 41 Capitolo settimo La filosofia Data Warehouse In questo caso le vendite sono prelevate dalla FT che è messa in Join con le DT di prodotto, time, Aree geografiche. Prodotto (linea di prodotto) e Time (Mese) sono usati come chiave di rottura nel report, mentre area geografica (regione) è usata come vincolo di ricerca42. Le DT memorizzano tutte le informazioni associate con ogni particolare dimensione. Questa include : ? la traccia delle relazioni gerarchiche di ogni dimensione ? la traccia degli attributi descrittivi di ogni dimensione Le dimensioni possono essere spesso organizzate in gerarchie. Ogni livello della gerarchia è in grado di raggiungere la successiva. Esempio : Nella dimensione del prodotto il prodotto raggiunge la Linea di Prodotto che a sua volta raggiunge il Marchio43. La gerarchia è importante nel l’MDM in quanto definisce l’intelaiatura per le funzioni Drill-Down e Drill-Up44. Chiaramente la scomposizione gerarchica non è lineare, questo vuol dire che non tutti i livelli della gerarchia non possono raggiungere i livelli successivi (anche se logicamente potrebbe essere possibile). Giorno Mese Anno Settimana Figura 7.44. Gerarchia del tempo : poiché il mese non è suddiviso in settimane dal livello settimana non posso raggiungere il mese. Dimension Elements Tratto da documenti Informix :Designing the Data Warehouse on Relational Database. Tratto da documenti Informix :Designing the Data Warehouse on Relational Database. 44 “Drill-Up è la funzione inversa del Drill-Down ; è la richiesta di una vista riassuntiva dei dati”. Tratto da documenti Informix :Designing the Data Warehouse on Relational Database. 42 43 382 Capitolo settimo La filosofia Data Warehouse Un Dimension Element è una speciale categoria di dato che rappresenta un particolare livello nella gerarchia delle dimensioni. Esiste un Dimension Element per ogni livello. Esempio : Per la dimensione del prodotto esistono tre dimension element :prodotto, linea di prodotto, marchio45. In questo modello un livello può rappresentare il Livello massimo o il livello minimo. Esempio : Livello minimo - Prodotto ; Livello massimo - Marchio46. Dimension Attributes I Dimension Attributes descrivono un particolare Dimension Element. Esempio : Manage_del_marchio descrive la dimensione del Marchio. I Dimension Attributes consentono di descrivere i dati nella gerarchia. Uno schema articolato in questo modo prende il nome di schema a stella poiché la sua rappresentazione da luogo ad una figura a stella in cui al centro si trova la Fact table e legata ad essa ci sono le Dimension Tables. Time Geography Day Month Season Years Week Sales Geography Code Time Code Product Code Amount Units Region code Postal Code State Code City Code Region Mngr State Name Store Name City Mngr Product Product Code Brand Code Prod Line Code Product Name Product Color Brand Manager Brand name P. Line Manag. 45 Tratto da documenti Informix :Designing the Data Warehouse on Relational Database. 383 Capitolo settimo La filosofia Data Warehouse Figura 7. 45. Schema a stella (Informix) Una caratteristica dello schema a stella è che le DT sono denormalizzate, per cui i dati sono ripetutamente memorizzati nelle singole tabelle a beneficio della semplicità del disegno e delle performance. Può avvenire, quindi, che un dimension attribute sia memorizzato più volte in una dimension table in relazione al livello della gerarchia delle dimensioni che esso descrive. Esempio : Una compagnia ha 100 prodotti relativi a un totale di 5 marche. Per ogni prodotto elencato nella DT del prodotti vi è la relativa marca come anche tutti gli attributi della marca (brand Mamager-Brand Name...). In un modello normalizzato gli attributi della Marca sarebbero memorizzati in una tabella delle marche, e solo la chiave esterna a questa tabella sarebbe istanziata più volte47. Un modello di questo genere permette di realizzare 4 vantaggi : 1. Permette di definire una struttura multidimensionale con un modello molto semplice. Consente di definire relazioni gerarchiche in ogni dimensione, e semplifica il processo di creazione delle join che coinvolgerebbero più tabelle. 2. Riduce il numero di join fisiche che una query potrebbe generare migliorando le performance. 3. Semplificando la vista del modello dei dati si riducono le possibilità che un utente realizzi query che richiedono notevoli risorse per essere risolte. 4. Consente uno sviluppo ed una evoluzione del Data Warehouse con un basso livello di manutenzione. Questo modello pone, come altri però, dei problemi di aggregazione dei dati. I fatti, ovvero le misure, memorizzate nella FT devono essere al massimo dettaglio. Ora, la FT tende ad essere molto grande per cui estrarre i dati al massimo dettaglio di atomicità può produrre delle performance non proprio ottimali. Inoltre, un numero significativo di query richiedono totalizzazioni o 46 47 Tratto da documenti Informix :Designing the Data Warehouse on Relational Database. Tratto da documenti Informix :Designing the Data Warehouse on Relational Database. 384 Capitolo settimo La filosofia Data Warehouse aggregazioni di dati. Realizzare un processo di pre-sintesi dei dati che poi potranno essere utilizzati nelle query può essere utile. A questo punto il problema non è se aggregare ma come e quando aggregare. Quando si effettua un’aggregazione occorre prendere in considerazione questi due elementi : ? La densità dei dati :dove sono concentrati i dati e in quali Dimension Elements il numero di righe aumenta. ? Modelli di utilizzo : quali aggregazioni potrebbero aumentare le performance per specifiche query eseguite frequentemente. Se un dato dimension element è rappresentato in un grande numero di righe qualora sia confrontato con un altro elemento nella gerarchia, effettuare delle aggregazioni per questo elemento può migliorare le performance. Se si combina più dimensioni questa analisi diventa ancora più significativa. Un altro elemento, come detto, è la densità dei dati. E’difficile, ad esempio, che ogni prodotto sia venduto in ogni magazzino in tutti i giorni. Ed anche se questo prodotto fosse venduto tutti i giorni, la densità sarebbe bassa. La densità dei dati rende difficile determinare quanti record il DBMS dovrà processare. Esempio : Quando si decide, per esempio, di aggregare per Linee di prodotto vendute per Regione , può essere cruciale individuare il numero di differenti prodotti venduti per ogni magazzino nelle differenti regioni. Si consideri un semplice database contenente 4 magazzini per due regioni ( totale 8 magazzini), che vendono 4 prodotti per due Linee di prodotto (8 prodotti). Solo uno dei prodotti in una linea di prodotto è venduto in ogni regione su base giornaliera, il numero dei prodotti per linea di prodotti per quel giorno si riduce ad uno. Per la richiesta “Linee di prodotto vendute giornalmente per regione”, una riga di prodotto sarà trovata per ogni linea di prodotto (2) per ogni regione(2), per un totale di quattro righe. In questo caso l’aggregazione non offre particolari vantaggi. 385 Capitolo settimo La filosofia Data Warehouse All’estremo opposto, se ogni prodotto in ogni linea di prodotto è venduto in ogni magazzino ogni giorno, allora questa richiesta dovrà processare 4 prodotti per ognuna delle 2 linee di prodotto e ognuno dei 4 magazzini in ogni regione , per un totale di 64 record. Un’aggregazione che sommi le linee di prodotto vendute per regione potrebbe risolvere questa richiesta usando solo 4 record, riducendo drasticamente i consumi48. Per determinare il numero di aggregazioni ottimali nel Data Warehouse, occorrerà realizzare una simulazione delle dimensioni del Data Warehouse. Esistono particolari strumenti che permettono di realizzare questa simulazione. 7.12.3.3. Schema a fiocco di neve In alcuni a casi la realizzazione di uno schema a stella può non essere la soluzione più adeguata perché lo schema denormalizzato richiede una occupazione di spazio eccessiva o perché la dimensione eccessiva di una tabella può avere effetti negativi sulle prestazioni, riducendo gli effetti delle aggregazioni. Quindi, la denormalizzazione, anche se è un metodo che migliora le performance riducendo la necessità di join, può comportare elevati costi di occupazione dello spazio. La normalizzazione delle DT potrebbe risolvere questo problema passando così da uno schema a stella a uno a fiocco di neve, definito così per l’aggiunta di complessità alla struttura49. 48 Tratto da documenti Informix :Designing the Data Warehouse on Relational Database. 49 Vantaggi e svantaggi dello schema a stella e dello schema a fiocco di neve : Schema a stella : Vantaggi :Facile da capire, facile definizione delle gerarchie, riduce i # join fisici, bassa manutenzione, semplice metadata. Svantaggi :dati atomici nelle fact table , grandi dimensioni nelle Dimension tables Schema a fiocco di neve : Vantaggi :Migliori vantaggi per le query che richiedano aggregazione Svantaggi : complicazione della manutenzione e metadata più complesso, esplosione del numero delle tavole del metadata. Tratto da http ://www.strategy.com. d/wf/raden/str101_q.htm 386 Capitolo settimo La filosofia Data Warehouse Esempio : consideriamo un database in cui esista un livello di aggregazione delle vendite per linea di prodotto e marca. Time Geography Mounth ...... ....... ........ ....... ...... Region code Postal Code State Code City Code .......... ........... .......... City Mngr Day Region Sales ..... ...... Geography Code Time Code Product Code Amount Units Product Product Code Brand Code Prod Line Code . State Code State Name Product Product Code Product Name Product Color Linea Prod.Line Code P. Line Manag Region Code Region Mngr State Store Store code Store Name Brand Brand Code Brand Manager Brand name Figura 7.46. Schema a fiocco di neve Assumiamo inoltre che la FT contenga 10 milioni di righe e la DT di prodotto 100.000 dove i manager di una linea di prodotto sono 15. Consideriamo ora una richiesta di vendite per Manager di linea di prodotto. Sia nel caso dello schema a stella che dello schema a fiocco di neve le informazioni possono essere lette direttamente dalla tabella di aggregazione della linea di prodotto. Però nel caso dello schema a stella le 100.000 righe della dimension table di prodotto devono essere messe in join per leggere le informazioni del managar della linea di prodotto. Nel caso dello schema a fiocco di neve gli attributi della linea di prodotto saranno separati dalla dimension table del prodotto. Quindi, le informazioni del Manager della linea di prodotto possono essere recuperate effettuando una join con una tabella di volume (15) notevolmente inferiore. 387 Capitolo settimo La filosofia Data Warehouse Vendite per linea di prodotto 250righe di aggregazione Fiocco di neve Vendite per linea di prodotto 250righe di aggregazione Stella Dimensione Linea di prodotto 15 righe Dimensione Prodotto 100.000 righe Figura 7. 47. Stella vs. Fiocco di neve (Informix) Comunque, la completa normalizzazione riporterà ai problemi sopra analizzati50. 7.12.4. Il Data Mining I dati possono essere visti come una miniera d’informazioni. Infatti, come le miniere, non è possibile definire esattamente i contorni (vale a dire che è difficile stabilire le dimensioni esatte dei contorni) ed è difficile l’estrazione dei materiali utili (le informazioni) dai dati grezzi. Se il patrimonio dati equivale a un giacimento, le tradizionali tecniche di query ( quelle che si realizzano tramite SQL) riescono a portare in superficie solo il “minerale” allo stato grezzo. L’SQL permette di rispondere solo a domande semplici aggregando e selezionando i dati. Con l’analisi multidimensionale è stato possibile effettuare delle interrogazioni più complesse che prendono in considerazione più dimensioni. Si tratta, comunque di un modo più complesso di effettuare delle aggregazioni con tecniche tradizionali. L’aumento della potenza dei computer e la contemporanea riduzione di costo ha permesso di applicare algoritmi di analisi ed esame dei dati molto più sofisticati. Spesso si tratta di applicare tecniche statistiche conosciute da decenni per scoprire nuove relazioni fra i dati. 50 Tratto da documenti Informix :Designing the Data Warehouse on Relational Database. 388 Capitolo settimo La filosofia Data Warehouse Queste tecniche dette di “Data Minimg” permettono di identificare nuove relazioni fra i dati, nuovi pattern, e di attribuire a questi delle regole, o meglio delle regolarità51. Il “Data Mining” equivale, quindi, alla raffinazione del materiale grezzo da cui si può estrarre delle informazioni. Ma ciò non sarebbe possibile senza una architettura come il D/W che fornisce dati di diversa provenienza, integrati e pronti ad essere utilizzati in queste elaborazioni di “Data Mining”. L’analisi statistica produce 5 classi di informazione : associazioni, sequenze, classificazioni, raggruppamenti e tendenze. Si ha un’associazione quando più eventi o fatti elementari vengono collegati ad un unico evento globale52. Ad esempio, l’analisi delle vendite di un certo tipo di automobile può rilevare che se è una donna ad acquistare un’auto, nel 15% questa è blu e che se nel mese precedente all’acquisto è stata effettuata una campagna pubblicitaria in cui un noto testimonial appariva a fianco di quel tipo di auto di colore blu la percentuale sale al 25%. Una casa automobilistica può utilizzare questi dati per decidere se gli conviene aumentare la produzione di auto blu oppure se è meglio per essa utilizzare sui vari media auto di colore differenti per non creare problemi di concentrazione degli ordini su di un certo colore, cosa che potrebbe rivelarsi fastidiosa per la pianificazione. Si ha una sequenza se gli eventi elementari vengono collegati nel tempo. Si può scoprire, ad esempio, che se una famiglia compra una casa, nel 60% dei casi acquisterà entro un mese un frigorifero e nel 40% dei casi entro due mesi una lavastoviglie53. Si ha una classificazione quando vengono identificati schemi o insiemi di caratteristiche che definiscono il gruppo cui appartiene un dato elemento54. La classificazione parte dalla considerazione di classi già identificate e a B. Cortona :”Minatori nei giacimenti dei Dati” Zerouno 9/1996 B. Cortona :”Minatori nei giacimenti dei Dati” Zerouno 9/1996 53 B. Cortona :”Minatori nei giacimenti dei Dati” Zerouno 9/1996 51 52 389 Capitolo settimo La filosofia Data Warehouse scoprire particolari regolarità. Ad esempio, l’insieme dei clienti perduti. Oppure si possono scoprire le caratteristiche dei clienti apparentemente fedeli che invece non acquisteranno probabilmente più di un dato prodotto e identificare le promozioni che sono state efficaci nel ribaltare le regolarità. Quindi, i benefici che si possono ottenere da queste informazioni sono notevoli. Il raggruppamento è simile alla classificazione ma consente di produrre nuovi gruppi, prima ancora non definiti. Il raggruppamento, o clustering, produce, ad esempio, quelle suddivisioni in “tribù” delle popolazioni sulla base dell’atteggiamento verso certi argomenti o del comportamento nel consumo (stili di vita)55. Il quinto tipo di informazione prodotto dal Data Mining è costituito dalle tendenze. Mentre gli altri tipi di informazioni permettono di realizzare delle previsioni, le tendenze sono esse stesse previsioni : stime del valore di certe variabili continue (ad esempio, le vendite) sulla base di schemi identificati dei dati. Tutte queste informazioni possono essere prodotte attraverso l’applicazione di una serie di tecniche combinate fra loro fra cui le principali sono : Le reti neurali, alberi di decisione, induzione di regolarità e analisi visuale dei dati56. B. Cortona :”Minatori nei giacimenti dei Dati” Zerouno 9/1996 “Lo stile di vita è l’insieme di valori, di attività, di interessi, e opinioni degli individui che maggiormente determina i diversi comportamenti di consumo......I sistemi d’analisi degli stili di vita sviluppati finora sono indirizzati soprattutto all’analisi delle attività, degli interessi, delle opinioni e in misura minore dei valori.” J.J. Lambin :”Marketing”, McGrawHill 56 Per un esame più approfondito delle tecniche sopra enunciate si rinvia ai seguenti siti internet : http ://.Info-Mine.com/ http ://www.Kdd.ORGL http ://Info. GTE.com/ http :// Miningnet.com 54 55 390