Data Warehouse: progettazione

La progettazione di un Data Warehouse deve avere come obiettivo quello di fornire agli utilizzatori informazioni di qualità , che siano di supporto al processo decisionale e strategico dell’azienda che richiede il DW.

I passi di progettazione sono riassumibili nel seguente schema:

Progettazione DW

La parte di Analisi consiste nel capire i requisiti da soddisfare e stabilire da quali fonti dati recuperare le informazioni.

I dati possono provenire da fonti diverse e possono presentare problemi di ridondanza e di dati non corretti, è necessario quindi far convergere i dati in un unico repository, previo controllo e pulizia degli stessi.

La Progettazione si può dividere in 3 ulteriori fasi, che si traducono in relativi schemi:

  • Progettazione Concettuale: completare la rappresentazione dei concetti dimensionali necessari per l’analisi: identificazione di fatti, misure e dimensioni => il risultato è il Dimensional Fact Model (DFM) o schema di fatto
  • Progettazione  Logica: identificare il miglior compromesso tra la necessità di aggregare i dati e quella di normalizzarli => il risultato è uno schema a stella o uno schema a fiocco di neve
  • Progettazione Fisica: individuare la distribuzione dei dati e le relative strutture di accesso => schema fisico del RDBMS

La scelta più rapida per affrontare la progettazione è l’approccio bottom-up: si parte dai dati e si arriva alle analisi, quindi, partendo dallo schema ER della base dati operazionale si ricavano i DFM, primo passo delle fasi di progettazione del DW.

Progettazione Concettuale – Dato lo schema ER della base dati operazionale:

  1. Definizione dei Fatti: entità che rappresentano eventi della vita aziendale che influenzano le decisioni aziendali (per esempio una tabella che mantiene di dati di vendita)
    1. Per ogni fatto, costruzione dell’albero degli attributi:  si ricava dagli attributi dell’entità scelta come fatto.
      1. Gli attributi possono formare gerarchie
      2. Si possono potare e innestare vertici dell’albero.
  2. Scelta delle Dimensioni: determina la granularità minima di rappresentazione dei fatti
    1. vanno scelte nell’albero degli attributi fra i vertici figli della radice
    2. il tempo è una dimensione sempre significativa
  3. Scelta delle Misure: sono attributi che descrivono quantitativamente il fatto da diversi punti di vista
    1. solitamente si ottengono aggregando rispetto a tutte le dimensioni.

Progettazione  Logica – Due possibili scelte tecnologiche: MOLAP (Multidimensional-OLAP, usa strutture interne non relazionali) e ROLAP (Relational-OLAP, usa tecnologie relazionali).

ROLAP

Lo schema assume una configurazione a stella o a fiocco di neve.

Stella:

  • tabella centrale dei fatti
    • le tuple sono costituite dai puntatori (=chiavi esterne) alle tabelle di dimensione e dai valori per le misure descritte
  • tabelle di dimensione
    • contengono le tuple con gli attributi relativi a quella dimensione
  • costellazione di fatti
    • piu’ tabelle dei fatti condividono tabelle di dimensione di uguale struttura

Fiocco di neve: estensione del modello a stella

  • Permette di evitare ridondanze eccessive nelle dimensioni
  • Dalla tabella dei fatti si raggiungono tutte le tabelle delle dimensioni, sempre muovendosi lungo associazioni n:1

Da modello concettuale DFM a modello logico “a stella”

 

See more at:
http://home.dei.polimi.it/schreibe/tecnologie/materiale/Let2005/TSI-Progettaz-DW.pdf
http://it.wikipedia.org/wiki/Schema_a_stella
http://it.wikipedia.org/wiki/Schema_a_fiocco_di_neve
http://www.na.icar.cnr.it/~mariog/Lucidi/03LSIA-DWH.pdf

Data Warehouse: Mondrian – JPivot – MDX

Pentaho Mondrian Analysis è un motore per On Line Analytical Processing (OLAP) sviluppato in Java.

Visione generale di Mondrian

Per visualizzare i risultati delle query MDX, si può combinare Mondrian con JPivot o con altri tool di visualizzazione.

JPivot è una libreria di <tag> personalizzati che permette all’utente di visualizzare e 
navigare dati per analisi OLAP. I tag vengono definiti all’interno di Java Server Faces (JSP).

Architettura di Mondrian

Mondrian è strutturato con una architettura a 4 livelli:

  • Presentation layer: interfaccia di interazione tra utenti e sistema (es. Jpivot), attraverso cui eseguire interrogazioni multidimensionali (es. MDX)
  • Dimensional layer: parsing, validazione ed esecuzione query MDX
  • Star layer: gestione cache per dati aggregati
  • Storage layer: gestione delle sorgenti dati (RDBMS)

Per descrivere il modello multidimensionale e  definire i “cubi” si usa un file XML di metadati che specifica Fatti, Gerarchie, Misure e attributi.

Esempio: da Dimensional Fact Model a file di metadati Mondrian

Da DFM a Mondrian

 

See more at:
http://it.wikipedia.org/wiki/Mondrian_OLAP
http://www.appuntisoftware.it/pentaho-mondrian-un-motore-olap-per-java/
http://bias.csr.unibo.it/turricchia/Mondrian%20-%20Jpivot.pdf