Cos’è un Data warehouse e perchè serve alla tua azienda

Condividi questo articolo con chiunque pensi possa trovarlo utile
Tempo stimato per la lettura: 4 minuti

Cos’è un Data warehouse

 

Abbiamo parlato nell’articolo sulla business intelligence dell’importanza di poter effettuare analisi e prendere decisioni supportate dai dati.

Ci siamo poi soffermati sulla differenza tra dati ed informazioni e abbiamo quindi scoperto cosa sia e quanto sia importante la Business Intelligence.

Per ora quindi abbiamo capito che esiste un database che raccoglie dati, poi c’è una “scatola” che “fa cose con i dati” e alla fine del processo c’è un manager o un decision maker che legge le informazioni che la BI ha prodotto e prende decisioni sul proprio business.

 

 

È ora di provare a guardare meglio cosa ci sia in quella scatola e dargli un nome.

Quella “scatola” che prende dati dal database, li aggrega e ne trae informazioni si chiama Data Wharehouse.

 

Iniziamo con il dire che un data wharehouse è uno strumento simile ad un Database ma con finalità diverse.

Differenze tra Data Base e Data wharehouse

Entrambi archiviano grandi moli dati tuttavia il database ha l’obiettivo di conservare e registrare i dati da cui viene alimentato. Il Data Wharehouse invece ha l’obiettivo principale di prelevare i dati dal database per aggregarli e supportare le attività di analisi.

Il valore aggiunto di un data warehouse è l’elevato livello di qualità delle analisi possibili anche grazie all’integrazione con piattaforme di Business intelligence e analytics.

Attraverso un data warehouse le interrogazioni a fini analitici possono avvenire senza interferire con i processi di repository dei dati. Le risposte sono immediate anche su grandi volumi di dati.

 

La struttura del Data Warehouse (DWH) è pensata per gestire ed elaborare grandi moli dati in tempi brevissimi. Basti pensare che ci sono DWH talmente performanti da riuscire a storicizzare ed elaborare complessi report su moli dati di miliardi di righe.

In uno dei progetti che sto seguendo come consulente di Business Intelligence (se sei curioso di sapere qualcosa in più su cosa faccio, leggi qui) sullo strumento SAP BW4HANA (il più recente e performante tool di BI della SAP), effettuiamo analisi sul fatturato di una Utility partendo da una mole dati di circa 8 miliardi di righe.

E grazie ad un corretto utilizzo dello strumento, e facendo molta attenzione alle performance in fase realizzativa, si riescono ad ottenere report su tale mole dati in grado di aggiornarsi in meno di 10 secondi.

Un altro aspetto cruciale risiede nel fatto che il DWH è un sistema di database indipendente dai sistemi operativi di elaborazione dati in cui vengono raccolti. Pertanto la fase di analisi non va in alcun modo ad inficiare le attività operative del database.

Infine il DWH ha la possibilità di collezionare dati da innumerevoli fonti diverse, riuscendo così ad integrare dati provenienti anche da processi applicativi e di business differenti.

Principali compiti di un data wharehouse

Il processo sotteso ad un DWH è composto principalmente da tre fasi:

      • Acquisizione dei dati
      • Archiviazione dei dati
      • Presentazione dei dati

Andiamo a vederli nello specifico.

Acquisizione dei dati

Prima di caricare i dati nel DWH, è necessario codificarli in modo uniforme. Un data warehouse si alimenta dei dati provenienti sia da fonti interne all’azienda sia da fonti esterne:

  • Dati interni: sistemi di Enterprise resource planning (ERP), Customer relationship management (CRM) e Content management (CMS), banche dati operative, flat file (es. Excel, CSV, file di testo), e-mail, etc.
  • Dati esterni: applicazioni e sistemi di fornitori esterni, siti web/Internet, social media, servizi cloud, etc.

I sistemi a livello di data entry forniscono interfacce per i sistemi operativi aziendali e vengono utilizzati nella prima fase di immagazzinamento dei dati: le funzioni principali di questo componente del DWH sono l’acquisizione e l’integrazione dei dati.

Il livello di acquisizione dati di un DWH può contenere una staging area (detta anche area di lavoro). Si tratta di una sezione temporanea del database in cui i dati da caricare vengono pre-elaborati. Questa fase è necessaria soprattutto in caso di processi ETL complessi.

L’integrazione è seguita dal trasferimento dei dati estratti al database centrale, il cosiddetto core data warehouse. Questo passaggio è supportato da programmi responsabili delle seguenti funzioni:

      • Controllare l’integrità dei dati
      • Riorganizzare i dati
      • Calcolare le aggregazioni dei dati
      • Calcolare le strutture di accesso
      • Effettuare la partizione dei dati per un accesso efficiente




Archiviazione dei dati

Il livello di memorizzazione dei dati è il cuore del DWH. I dati estratti vengono solitamente memorizzati nel DWH sotto forma di array multidimensionali (matrici). Tale archiviazione utilizza strutture interne al DWH, ossia oggetti studiati per storicizzare e conservare i dati stessi. Tali strutture prendono il nome di data mart.

Ogni DWH ha data mart differenti con logiche di archiviazioni differenti.

Prendendo ad esempio SAP BW esistono due tipologie di datamart:

  • Datamart fisici: ossia strutture che salvano fisicamente il dato sulla memoria. Sono strutture che vengono utilizzate solitamente per il livello di acquisizione del dato (ossia strutture di data staging) o per effettuare elaborazioni complesse che richiedono ad esempio l’utilizzo di codice ABAP
  • Data mart virtuali: sono strutture che effettuano join o union tra dati conservati nei data mart fisici. Tali strutture vengono utilizzate prevalentemente per l’ultima fase dei flussi dati ossia quella di predisposizione dei dati per la reportistica (ossia per visualizzare i dati su report).

Livello di presentazione dei dati

Il livello di presentazione dei dati funziona da interfaccia per le applicazioni finali e gli strumenti di presentazione. I metodi per la valutazione e l’analisi dei dati vengono messi a disposizione dell’utente finale con vari strumenti. Lo spettro va dai tool di reporting e interrogazione agli strumenti di collaborazione, data mining, di elaborazione analitica online (OLAP) fino agli strumenti di previsione e simulazione.

 

Conclusioni

Il data wharehouse è quindi il DB studiato e modellato per permettere alle aziende di analizzare i dati ed estrapolare  informazioni utili al proprio business che permettano di prendere decisioni strategiche.

L’architettura di un DWH può essere molto articolata in quanto sono sistemi che fanno da Hub centralizzato per gestire i dati.

Abbiamo quindi da un lato varie fonti che alimentano il DWH e dall’altro un decision maker che ha bisogno di prendere decisioni. Cerchiamo di entrare un po’ più nello specifico.

Fonti che alimentano il DWH

Le fonti dati che alimentano un DWH possono essere di natura diversa:

    • i sistemi gestionali dell’azienda in cui vengono storicizzati gli ordini di acquisto, le vendite, i pagamenti ricevuti, le movimentazioni di magazzino ecc.
    • Ai sistemi gestionali potrebbero aggiungersi delle fonti dati meno strutturate rappresentate ad esempio da file che vengono generati dalla gestione operativa dell’azienda
    • Le informazioni derivanti ad esempio dall’attività online dell’azienda. Si potrebbe ad esempio alimentare il DWH con le informazioni provenienti da Google Analytics
    • Le informazioni legate al marketing effettuato dall’azienda stessa.

Questi sono solo alcuni esempi di  possibili fonti informative ma se ne potrebbero citare molte altre.

Proprio per questo motivo è diventato fondamentale avere uno strumento in grado di accentrare tutti questi dati differenti e segmentati. Il rischio di avere informazioni derivanti dai vari reparti interni dell’azienda discordanti tra loro è molto alto. Se ogni funzione gestisce i propri dati e le proprie informazioni diventa impossibile conoscere tutto il flusso di comportamento di un cliente ad esempio e di conseguenza si potrebbero prendere decisioni sbagliate.

Se il marketing osserva solamente i costi di acquisto o i costi per click (che rimangono informazioni utili ed importanti), tralasciando ad esempio tutto ciò che accade off – line oppure non conoscendo le problematiche che i clienti riportano al Customer Service è molto improbabile riuscire ad ottimizzare il processo ed ottenere risultati.

Proprio in questa ottica nasce l’esigenza di un DWH centrale che sia in grado di relazionare tutte queste fonti dati e riuscire a trarre informazioni end to end su tutto il processo sotteso.

Utenti che utilizzano il DWH

Dall’altro lato del DWH abbiamo diversi key user ossia utenti che devono prendere decisioni. Questi potrebbero avere obiettivi e necessità di analisi differenti.




Pertanto è necessario avere uno strumento in grado di mostrare diverse angolazioni delle medesime informazioni e di elaborare analisi differenti per riuscire a rispondere a domande diverse

Per tutte queste ragioni, il DWH e un sistema di Business intelligence diventa uno strumento indispensabile per chiunque oggi voglia gestire un business.

Il contesto in cui si muove una qualsiasi azienda oggi è diventato enormemente complesso rispetto al passato e richiede costantemente di prendere decisioni che tengano conto di innumerevoli fattori (sia interni che esterni all’azienda stessa) e pensare di riuscire a farlo senza una corretta gestione dei dati e delle informazioni è praticamente impossibile.

 

Condividi questo articolo con chiunque pensi possa trovarlo utile

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *