• datawarehousing

    Datawarehousing

    Tra i sistemi di supporto alle decisioni, strettamente legati ai DBMS per l’analisi (OLAP), ci sono senz’altro i sistemi di Data Warehousing.

    Cha cos’è un Data Warehouse

    Dal punto di vista funzionale un data warehouse è un insieme di tecnologie e strumenti utilizzati dal “lavoratore della conoscenza” per condurre analisi finalizzate all’attuazione di processi decisionali strategici per l’evoluzione del business aziendale.

    Dal punto di vista tecnico si tratta di un database relazionale che è stato progettato per query e analisi (OLAP) piuttosto che per l’elaborazione di transazioni (OLTP). Di solito contiene dati storici derivati da dati di transazioni, ma può includere dati provenienti da altre fonti. Un data warehouse separa i carichi di lavoro di analisi dai carichi di lavoro delle transazioni e consente a un’organizzazione di consolidare i dati provenienti da diverse fonti. Tutto questo aiuta a:

    • mantenere i record storici;
    • analizzare i dati per una maggiore comprensione del business e per migliorare il business.

    Oltre ad un database relazionale, un ambiente di Data Warehousing include una soluzione ETL (Extract, Transport, Transformation, Load), un OLAP engine (On Line Analytical Processing), strumenti di analisi, e altre applicazioni che gestiscono il processo di raccolta dei dati e la loro consegna agli utenti aziendali.

    Le esigenze che determinano l’utilizzo dei sistemi di Data Warehousing possono essere riassunte nei punti seguenti:

    • l’azienda possiede una grandissima mole di dati, ma non ha gli strumenti tecnici per ottenere i dati desiderati nella forma voluta;
    • l’azienda possiede diverse basi di dati, una per ogni area del proprio business, magari gestite da piattaforme logico-fisiche diverse e non integrate dal punto di vista concettuale, con conseguente incosistenza tra i risultati prodotti all’interno delle diverse aree;
    • il manager che deve prendere decisioni vuole selezionare, raggruppare e manipolare i dati in ogni modo possibile; l’analisi deve essere condotta in modo non pianificato, guidato dalle informazioni che emergono man mano; lo strumento deve quindi consentire una notevole flessibilità e la possibilità di condurre analisi in modo estemporaneo, senza una pianificazione preliminare;
    • il manager vuole vedere solo quello che è importante, quello che gli interessa, disinteressandosi di dettagli inutili per il processo decisionale.

    Da queste esigenze nascono alcuni requisiti che dovrebbero possedere i sistemi che trasformano i dati operazionali e transazionali in conoscenza a supporto delle decisioni:

    • i dati devono essere accessibili anche ad utenti con conoscenze limitate di informatica;
    • i dati devono essere integrati sulla base del modello standard dell’impresa;
    • i dati devono essere sintetizzati per consentire analisi mirate ed efficaci;
    • i dati devono poter essere osservati da diverse prospettive, per poter offrire una visione intuitiva e facilmente manipolabile delle informazioni;
    • i dati integrati devono essere corretti e completi.

    Un sistema di data warehousing che affronta le esigenze mostrate sopra e possegga i requisiti appena elencati, ha le seguenti caratteristiche:

    • Orientato al Soggetto: la capacità di definire un data warehouse per argomento/soggetto (ad esempio le vendite, focalizzandosi su una del tipo “Chi è stato il nostro migliore cliente per questo articolo l’anno scorso?”, oppure ai clienti, ai prodotti, agli ordini), rende il warehouse orientato al soggetto, mentre i DBMS OLTP sono organizzati intorno alle applicazioni del dominio aziendale.
    • Integrato: i data warehouse inseriscono i dati da fonti disparate in un formato coerente, con una visione unificata; la costruzione di un sistema di data warehousing non implica l’inserimento continuo di nuove informazioni, ma la riorganizzazione di quelle esistenti; una volta risolti i problemi come conflitti tra i nomi e incoerenze tra le unità di misura i data warehouse possono dirsi integrati.
    • Nonvolatile: una volta entrati nel warehouse, i dati non cambiano, poiché lo scopo di un warehouse è consentire di analizzare ciò che è successo.
    • Time Variant: per scoprire le tendenze del mercato, gli analisti hanno bisogno di grandi quantità di dati. Un data warehouse si focalizza sui cambiamenti nel corso del tempo (time variant), e non sui dati correnti come i sistemi OLTP, i cui i requisiti di prestazione richiedono che dati storici vangano spostato in un archivio.

    Un data warehouse può essere consultato direttamente, ma anche essere usato come sorgente per costruirne delle parziali repliche orientate verso speci che aree dell’impresa. Tali repliche vengono dette data mart.

    Con il termine data mart si intende un sottoinsieme o un aggregazione dei dati presenti nel DW primario, contenente l’insieme delle informazioni rilevanti per una particolare area del business, una particolare divisione dell’azienda, una particolare categoria di soggetti.

     

    Architettura di un Data Warehouse

    I data warehouse con le loro architetture e i componenti che li caratterizzano cambiano in base alle esigenze dell’azienda che ne fa uso. Ci sono tre tipi di architetture:

    • Architettura di un Data Warehouse di Base
    • Architettura di un Data Warehouse con Area di Staging
    • Architettura di un Data Warehouse con Area di Staging e Data Mart

     

    Architettura di un Data Warehouse di Base

    La figura sotto una semplice architettura di un data warehouse. Gli utenti finali accedono ai dati derivati da diversi sistemi sorgenti mediante un data warehouse.

     

    datawarehousing-base

    Le sorgenti di dati sono i sistemi alimentanti di un Datawarehouse e forniscono i dati in input. I sistemi alimentanti sono tipicamente sistemi informativi di tipo operativo e transazionale (OLTP), come ad esempio sistemi gestionali e amministrativo-contabili di tipo tradizionale o ERP, o sistemi che interfacciano il mercato (sistemi di CRM), o sistemi Web. In alternativa i dati in input possono arrivare mediante dei file flat, come dei file CSV (Comma Separated Values), esportati da altri sistemi e resi disponibili al Datawarehouse sul file system.

    Poiché c’è pochissimo controllo sulla forma e sul contenuto dei dati dei sistemi alimentanti, possono essere considerati a tutti gli effetti come parti esterne rispetto al sistema di data warehousing.

    In un sistema di Data warehouse ci sono i metadati e i dati grezzi di un sistema OLTP tradizionale, insieme ad un ulteriore tipo di dati, i dati di riepilogo (summary data). I dati di riepilogo sono molto utili nei Data warehouse perché pre-calcolano in anticipo le operazioni lunghe. Ad esempio, una tipica interrogazione del data warehouse consiste nel recuperare i dati delle vendite di agosto: questa operazione può essere lunga e dispendiosa e può venire ottimizzata mediante l’uso di una vista materializzata.

    Architettura di un Data Warehouse con Area di Staging

    Nell’architettura Data Warehouse può essere necessario pulire ed elaborare i dati operativi prima di metterli nel warehouse. Lo si può fare a livello di codice (programmativamente), anche se la maggior parte dei data warehouse utilizzano una staging area (area di sosta). Una staging area semplifica la costruzione dei riepiloghi e la gestione generale del warehouse. La figura sotto illustra questa architettura.

     

    datawarehousing-staging

    La staging area di un data warehouse è composta da un’area di memorizzazione dei dati e da un insieme di procedure ETL (Extract Transform Load). Si colloca tra i sistemi sorgente e l’area di presentazione. I dati operazionali OLTP vengono trasformati e consegnati al data warehouse in una forma appropriata per il loro utilizzo. Alla staging area accedono professionisti SQL, in quanto non è ancora semplificata per gli utenti business.

    Architettura di un Data Warehouse con Area di Staging e Data Mart

    Anche se l’architettura del Data Warehouse con Area di Staging è abbastanza comune, è spesso opportuno personalizzare l’architettura del warehouse per i diversi gruppi all’interno dell’azienda. Per far questo si possono usare i data mart, che sono sistemi progettati per una particolare linea di business. La figura illustra un esempio in cui acquisti, vendite e magazzino sono separati. In questo esempio, un analista finanziario potrebbe voler analizzare i dati storici per acquisti e vendite.

     

    datawarehousing

     

    Giulio Cantali – IT Consultant

    Creatore di Database Master, il primo percorso per diventare esperti di database

Lascia un commento

Se vuoi condividere la tua opinione, lascia un commento

Puoi usare questi tag e attributi: HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">