Sperimentazione di Servizi Innovativi alle Imprese Produttrici di Software Università della Calabria 21-10-2004 Giovanni Laboccetta Thematica s.r.l. www.thematica.it glaboccetta@thematica.it
Perché i data warehouse? L idea di base del concetto di Data Warehouse consiste nell osservare come le esigenze dei processi operativi processi decisionali siano profondamente diverse e che sia quindi sbagliato tentare di soddisfarle tutte con uno stesso ambiente.
Confronto tra DW e OLTP DATA WAREHOUSE SISTEMA OPERAZIONALE 90% di query estemporanee 90% di query predefinite Accessi in sola lettura Denormalizzato Gestisce versioni storiche dei dati Ottimizzato per accessi che coinvolgono gran parte del database Contiene prevalentemente dati numerici Basato su dati di sintesi On Line Analytical Processing (OLAP) Accessi in lettura/scrittura Normalizzato Non gestisce versioni storiche dei dati Ottimizzato per accessi che coinvolgono una piccola frazione del database Contiene sia dati numerici che alfanumerici Basato su dati elementari On Line Transaction Processing (OLTP)
A chi serve? Un management che dispone di un sistema informativo e che si domandi: "cosa è successo? "perché è successo?" e "come posso ripeterlo?" oppure "come posso evitarlo? è un buon candidato all'installazione di un sistema decisionale
Integrazione Nel Data Warehouse il significato di un dato deve essere concorde a livello aziendale e definito con precisione in termini informatici. Sistemi Operazionali Appl A Description1 Appl B Description2 Appl C Description3 Appl A m,f Appl B 1,0 Appl C x,y Appl A Date(yymmdd yymmdd) Appl B Data(mmddaa mmddaa) Appl C Data (assoluta) Popolamento Data Warehouse Description m,f Data(ddmmyy ddmmyy)
Struttura di un DW
Architettura concettuale di un DW Ad un livello A due livelli A tre livelli
Architettura ad un livello Decision Support System Dati Real-Time Operational System Vantaggi Svantaggi Minimizzazione del volume di dati memorizzati Sviluppo rapido e costi ridotti Evita il problema della sincronizzazione dei dati ripetuti Esecuzione ripetuta della stessa query Mancanza di storicizzazione dei dati Contesa sui dati tra sistemi operazionali e sistemi decisionali
Architettura a due livelli Decision Support System Dati Derivati Dati Real-Time Operational System Vantaggi Svantaggi Assenza di concorrenza tra applicazioni operazionali e decisionali Diverse derivazioni degli stessi dati Alto livello di duplicazione dei dati, spesso incontrollato
Architettura a tre livelli Decision Support System Dati Derivati Dati Riconciliati Dati Real-Time Operational System Vantaggi Svantaggi Dati storici memorizzati nel livello dei dati riconciliati Supporto ad esigenze non previste Notevole riduzione dei problemi di duplicazione dei dati Inadeguatezza del modello nel caso di sorgenti operazionali particolarmente eterogenee fra loro
Architettura logica a tre livelli A questo livello vi sono le applicazioni per il supporto alle decisioni Staging BIW
Un modello concettuale per i DW Per i DBMS relazionali viene usato il modello Entity/Relatioship (E/R) Non utilizzabile per i DW perché: 1. I DW utilizzano una visione multidimensionale dei dati, mentre l'e/r propone una visione piatta degli stessi 2. Non risulta semplice formulare le interrogazioni sullo schema E/R 3. Il modello E/R è difficilmente comprensibile dai non addetti ai lavori, quindi non rende semplice il dialogo tra progettista ed utente 4. L'E/R produce una documentazione non sempre priva di ambiguità e non sempre sufficientemente espressiva
Dimensional Fact Model (DFM) Modello Multidimensionale Fatto Fatto Dimensione Dimensione Gerarchie Gerarchie Misure Misure Processo di business da modellare Rappresentazione della granularità dei fatti Aggregazione delle istanze dei fatti Attributo numerico di un fatto
Esempio di uno schema DFM
Analisi multidimensionale I dati raccolti vengono visti come un ipercubo in cui ogni dimensione rappresenta una classe di dati
Principali tecniche per esplorare i dati Drilling Down/Up Drill Up Nazione Regione Provincia Drill Down
Slice and Dice Prodotti Regioni Vendite Noccioline Calabria 50 Noccioline Sicilia 60 Noccioline Basilicata 100 Pistacchi Calabria 40 Pistacchi Sicilia 70 Pistacchi Basilicata 80 Patatine Calabria 90 Patatine Sicilia 120 Patatine Basilicata 140 Vendite per Regione Calabria Sicilia Basilicata Noccioline 50 60 100 Pistacchi 40 70 80 Patatine 90 120 140
OLAP (On Line Analytical Processing) Supportare complesse analisi del processo decisionale Analizzare i dati da varie prospettive Agire dinamicamente su enormi quantità di dati Per supportare un sistema OLAP, i dati devono essere organizzati attraverso modelli multidimensionali
OLAP ROLAP (Relational OLAP) Uso di strutture relazionali MOLAP (Multidimensional OLAP) Uso di strutture fisiche specializzate
ETL L ETL (extract transform and load) è il processo di estrazione, trasformazione e consolidamento di dati da sorgenti eterogenee in un data warehouse. Supportato da tools grafici: Microsoft SQL Server 2000 DTS (Data Transformation Services) DB2 Warehouse Manager Oracle Warehouse Builder Business Objects Data Integrator
ETL Operazioni ETL Extract: accesso alle sorgenti di dati Interne vs Esterne, Localizzazione e formato Transform: trasformazione, pulizia e integrazione dei dati (eta=999) Selezione dati non necessari, duplicati, corrotti, fuori dai limiti Valori mancanti default, valor medio, filtro Codifiche e normalizzazioni dei dati al fine di risolvere differenti codifiche della stessa informazione (metri, pollice; formato data ecc.) Splitting/merging
La piattaforma Business Objects Supervisor: permette di installare ed amministrare un ambiente sicuro per tutto il sistema Business Objects. Designer: permette di creare lo strato semantico su cui si farà OLAP. Infoview: portale web per l accesso ai vari strumenti di reporting BusinessObject: Applicazione client con cui si definiscono i report WebIntelligence: estende le capacità del DSS alle intranet, extranet ed Internet. Permette di creare e modificare reports attraverso un ActiveX (o un applet) scaricato in un browser Web Repository: utilizzato come contenitore dei dati e dei metadati della sicurezza, degli universi e dei report Data Integrator: utilizzato per le operazioni di ETL
BO Architettura
B.O. (Supervisor)
B.O. (Designer)
Universo IMPRESE Dimensioni condivise Dimensioni locali Misure
BO Reporting
BO Reporting
Microstrategy ROLAP(Relational On-Line Analytical Processing ) Pseudo MOLAP(Multidimensional On-Line Analytical Processing ) con Olap Services ed Intelligent Cubes
Componenti Microstrategy Desktop Microstrategy Web
Microstrategy Desktop Architect : mappatura verso schema multidimensionale (fatti, metriche, attributi, gerarchie, ) Administrator : gestione utenti, privilegi sui singoli oggetti, configurazione server microstrategy, accesso al warehouse catalog, Report Editor : creazione report, advanced reporting,
Architect : oggetti di design Public Objects (Metriche, Filtri, Prompt, Report, ) : oggetti utilizzabili dall utente finale evoluto, sviluppatore del reporting layer. Schema Objects (Attributi, Fatti, Gerarchie, ) : tipici oggetti di design per la modellizzazione multidimensionale.
Administrator User Manager : gestione utenti e gruppi, diritti di accesso al singolo oggetto Microstrategy. Database Instance Manager : gestione connessioni alle origini dati. Schedule Manager : gestione schedulazione eventi. Cache Monitor : gestione oggetti in cache
Report Editor Creazione report tramite drag and drop dei Public/Schema Objects. Gestione parametri singolo report (cache, tipi di join, ). Gestione dei report objects per la definizione degli Intelligence Cubes.
Microstrategy Desktop
Microstrategy Web Interfaccia web per il reporting e l analisi dei dati Accesso tramite browser Semplicità nelle Analisi e nel Reporting Possibilità di salvare i report in aree riservate al singolo utente
Microstrategy Web
Oracle Discoverer ROLAP(Relational On-Line Analytical Processing )
Componenti Discoverer Administrator Edition : progettazione strato multidimensionale intermedio(componente stand-alone) Discoverer Plus : progettazione reporting Discoverer Viewer : componente per la visualizzazione
Architettura
Concetti chiave EUL (End User Layer) : metalayer che protegge l utente finale dalla complessità del database, concettualmente risiede tra il DB e Discoverer e comprende un certo numero di viste e tabelle del DB. Business Area : sotto insieme di oggetti(tabelle, viste, gerarchie, misure, filtri, condizioni, ) costituenti un raggruppamento logico (Data Mart), rappresentante l area di lavoro da cui ottenere I report.
Analysis server Strumento MOLAP Fornito con Microsoft Sql-Server 2000 Server di livello intermedio per la gestione di cubi multi-dimensionali Rapido accesso dei client alle informazioni del cubo Organizzazione dei dati in cubi con dati aggregati precalcolati
Concetti chiave Tabelle dei Fatti Dimensioni Gerarchie Misure Reporting tramite MS Excel con il supporto degli Office Web Components
Server Architettura Analysis Server Custom Applications Analysys Manager Client Client Application Source data DSO Client Application ADO MD Relational Database ROLAP data OLE DB Cube HOLAP MOLAP Analysis Server PivotTable Service Data Storage
ADO MD Modello a oggetti semplificato, concettualmente vicino a ADO Incapsula l accesso attraverso OLEDB MD Accede a dati e metadati Utilizzabile da qualsiasi tool di sviluppo (VB, VC++, VBScript, JScript,...) Facile da usare
Cube Meta Data Catalog Oggetti ADOMD CellSet Data Access CubeDef Connection Axis Cube Cell
Analysis server
Analysis Manager Editor dei cubi
Analysis Manager: browsing
Client Excel
Data Transformation Services DTS Designer Il DTS designer permette di creare, modificare e configurare un DTS package utilizzando un interfaccia grafica con funzionalità drag and drop.
Struttura di un DW
Oracle
Oracle
Oracle