Lezione 9 • Microsoft Analysis Services: Principi e Funzionalità MS Analysis Services (OLAP Server) • E’ l’implementazione Microsoft di OLAP Server • Offre buone prestazione per realtà aziendali medie/grandi • E’ integrato con MS SQL Server e si presenta come un tool di servizi aggiuntivi del DBMS Server • Utilizza un modello dati multi-dimensionale per ottimizzare l’accesso ai dati mediante client OLAP • Il sistema software sottostante viene riferito come Analysis Server Architettura di Analysis Server Server Client Custom Applications Analysys Manager DSO Client Application Client Application ADO MD Source data Relational Database ROLAP data HOLAP Cube Data Storage MOLAP OLE DB Analysis Server PivotTable Service Installazione di Visual Studio 2008/1 •Si utilizza per creare data cube OLAP tramite i progetti di Analysis Service •Montare l’immagine ISO •Selezionare Install Visual Studio 2008 Installazione di Visual Studio 2008/2 • Selezionare “Installazione Full” Installazione di Visual Studio 2008/3 • Installazione completata Configurazione Progetto Microsoft Analysis Services • File New Project Analysis Services Projects Visual Studio Analysis Services Project/1 • E’ progetto di Visual Studio che offre un tool grafico user-friendly ed integra diversi editor specializzati utili per progettare in modo completo un data cube OLAP, tra cui: • Cube Editor; • Dimension Editor. Visual Studio Analysis Services Project/2 Connessione ad Analysis Services da SQL Server Management Studio Permette di visualizzare le sorgenti Analysis Services “attive” (cioè corrispondenti ai progetti Analysis Services realizzati) Principi di Progettazione di Data Cube OLAP • Modellare la Realtà osservata in termini di Misure, Dimensioni, Gerarchie • Le Misure rappresentano i parametri di interesse e, solitamente, sono dati numerici che possono essere facilmente totalizzati e storicizzati • Le Dimensioni rappresentano gli attributi rispetto ai quali le Misure vengono prodotte. Es.: quale è stata la Vendita totale del prodotto Pane nel mese di Dicembre 2003 nella zona Provincia di Cosenza? • Le Gerarchie vengono definite sulle Dimensioni Best Practices 1. Selezionare il Processo Aziendale di interesse 2. Dichiarare la Grana 3. Identificare i Fatti 4. Scegliere le Dimensioni ma soprattutto avere un modello concettuale a supporto della progettazione: Dimensional Fact Model Dimensional Fact Model Consente di modellare a livello concettuale lo schema multi-dimensionale del data cube OLAP category brand product street Sales money quantity store city region country day month week year Modello Multi-Dimensionale dei Dati • Offre una visione chiara e intuitiva sulla tecnologia OLAP: S W Prodotto N Succo Cola Latte Crema Dentifricio Sapone Detersivo 1 2 3 4 5 6 7 Fatto: Vendite (importo) Dimensioni: Prodotto, Regione, Tempo Percorsi gerarchici di sintesi Prodotto Industria Regione Paese Tempo Anno Categoria Regione Trimestre Prodotto Città Mese Settimana Mese Ufficio Giorno AdventureWorks • L’esempio utilizzato è il database AdventureWorks sul quale sono definiti una serie di data cube OLAP • AdventureWorks è reperibile all’indirizzo: http://msftdbprodsamples.codeplex.com • Include il database AdventureWorks DW, già ottimizzato per l’analisi OLAP ed un insieme di progetti VS Analysis Services con data cube già implementati •Al termine dell’installazione del database i progetti VS già creati saranno memorizzati nel path: C:\Program Files\Microsoft SQL Server\100\Tools\Samples\AdventureWorks 2008R2 Analysis Services Project\ Progettare un Data Cube OLAP con VS Analysis Services Project Passi per la creazione di un progetto VS Analysis Services: 1. Aggiungere una Data Source 2. Definire le Views 3. Definire dimensioni e gerarchie 4. Definire le misure e creare il data cube OLAP Aggiungere una Data Source/1 Dal Menu Solution Explorer di VS Project Data Source New Data Source Aggiungere una Data Source/2 Impostare il provider e l’origine dati Aggiungere una View/1 •La tabella dei Fatti dall’origine dei dati di interesse e le tabelle che coinvolgono le Dimensioni appartengono alla View • Esistono due modelli solitamente utilizzati per la creazione di un data cube: modello a stella (star schema) e modello a fiocco di neve (snowflake schema) Star Schema Date Product Date Month Year ProductNo ProdName ProdDesc Category QOH Sales Fact Table Date Product Store StoreID City State Country Region Store Customer unit_sales dollar_sales Cust CustId CustName CustCity CustCountry Yen_sales Measurements Un’unica tabella delle dimensioni Snowflake Schema Year Year Product Month Month Year Date Sales Fact Table Date Month Date Product Store City City State State Country Country Region StoreID City State Country ProductNo ProdName ProdDesc Category QOH Store Cust Customer unit_sales dollar_sales CustId CustName CustCity CustCountry Yen_sales Measurements Più tabelle delle dimensioni correlate Aggiungere una View/2 Dal Menu Solution Explorer di VS Project Data Source Views New Data Source View Aggiungere una View/3 Esempio di selezione della View: Snowflake Schema della View Creata Dimension Wizard/1 • Quando si progettano le dimensioni di un datacube OLAP si possono utilizzare le dimensioni esistenti nel modello multidimensionale selezionato oppure creare nuove dimensioni • Il wizard Dimension Wizard (dal Menu Solution Explorer di Vs Project Dimension New Dimension) consente di creare agevolmente una nuova dimensione • Le Dimensioni Temporali sono di particolare interesse perché offrono un “naturale” schema di aggregazione multi-livello di dati: Anno, Mese, Settimana, Giorno, … • Sulle Dimensioni si possono definire Gerarchie di Livelli Dimension Wizard/2 Selezionare una tabella esistente: Dimension Wizard/3 Creare la Dimensione “Customer” e scegliere la tabella DimCustomer: Dimension Wizard/4 Scegliere le tabelle dalla vista aventi un vincolo relazionale con la tabella DimCustomer Dimension Wizard/5 Scegliere gli attributi. Il tool mostra tutti gli attributi disponibili (anche delle tabelle correlate scelte) e che saranno poi usati per definire gerarchie Editing di Dimensioni/1 Accedere alla Dimensione Customer creata: Editing di Dimensioni/2 Creare una gerarchia trascinando nell’ordine desiderato gli attributi dimensionali visualizzati nel panel di sinistra della sezione “Hierarchies” visualizzata nel panel centrale Dimensioni del Running Example Customer : Livelli { English Country Region Name, State Province Name, City } Time: Livelli {Calendar Year, Calendar Semester, English Month Name} Product: Livelli {English Product Category Name, English Product Subcategory Name, English Product Name} Promotion:Livelli {English Promotion Category, English Promotion Name, Discount Pct} Modalità di Memorizzazione ed Elaborazione di Data Cube OLAP • Le modalità di Memorizzazioni possibili sono: • OLAP Multi-dimensionale (MOLAP); • OLAP Relazionale (ROLAP); • OLAP Ibrido (HOLAP). • MS Analysis Services rende disponible il tool Configura Archiviazione per definire memorizzazione ed elaborazione del datacube OLAP • Memorizzazione ed Elaborazione sono parametri di progetto critici Creare un Data Cube OLAP/1 • Dal Menu Solution Explorer di VS Project Cubes New Cubes Creare un Data Cube OLAP/2 • Scegliere di usare le tabelle esistenti: Creare un Data Cube OLAP/3 • Selezionare la tabella da cui estrarre le Misure, ovvero la tabella dei fatti: Creare un Data Cube OLAP/4 • Scegliere di utilizzare la Misura “Sales Amount”: Creare un Data Cube OLAP/5 • Selezionare tutte le Dimensioni già create: Creare un Data Cube OLAP/6 Cliccare su Finish per completare la creazione del data cube: Deployment su VS Analysis Project Menu “Debug” “Start Debugging” effettua il deployment del progetto su MS Analysis Server Processare Data Cube OLAP Menu “Solution Explorer” Cubes “Process” effettua il processing del data cube Navigazione di Data Cube OLAP/1 Menu “Solution Explorer” Cubes attivare il data cube creato: Navigazione di Data Cube OLAP/2 Il tool mostra una serie di tab relativi al data cube, utilizzabili per definire query multi-dimensionali e analisi sofisticate su dati aggregati Navigazione di Data Cube OLAP/3 L’ultimo tab a destra “Browser” consente di navigare il data cube mediante una tabella Pivot e di visualizzare i risultati aggregati di interesse Navigazione di Data Cube OLAP/4 Esempio di navigazione con le dimensioni Customer e Product