logo academy

Data warehouse: cos’è, definizione e casi d’uso delle DWH

5 aprile, 2023

10 min

Data warehouse: cos’è, definizione e casi d’uso delle DWH
Intermedio

Cos’è una data warehouse? Per definizione, è molto più di un database: una DWH è un sistema di archiviazione e analisi per big data, che sostiene i processi decisionali di un’azienda, per ottenere linee guida migliori per il futuro. Studiamo la struttura di una data warehouse e il suo funzionamento, per conoscere vantaggi, svantaggi e le applicazioni di questa tecnologia. 

Data warehouse: cos’è e definizione di DWH

Capire cos’è una data warehouse (DW o DWH) e formulare una definizione è essenziale per ogni realtà aziendale. Si tratta dell’insieme degli strumenti utili a gestire il flusso continuo di informazioni in cui siamo immersi, in modo tale da estrarne valore. Più precisamente, una DWH è composta da un archivio storico di dati, strutturato su più livelli, che è possibile analizzare attraverso query (domande) specifiche, così da supportare le decisioni strategiche.

Questo processo è definito business intelligence (BI), un concetto formulato dall’azienda IBM, che ha anche coniato il termine data warehouse. Nel 1988, infatti, furono i ricercatori Barry Devlin e Paul Murphy a dare nome a questa tecnologia per costruire un magazzino di dati (database) e gli strumenti per esaminarlo. Una DWH è l’unica fonte di verità fattuale per un’azienda, in base alla quale fare scelte ottimali per il futuro. 

La definizione di data warehouse, quindi, coinvolge i big data, ovvero informazioni di grande volume, varietà e velocità, incompatibili con i sistemi tradizionali di analisi e archiviazione. Infatti, una DWH è innanzitutto un’enorme raccolta di dati strutturati, informazioni dalle caratteristiche predefinite, aggregate da fonti interne ed esterne all’azienda. 

In particolare, è William Inmon a spiegarci cos’è una data warehouse, partendo dalle 4 caratteristiche di questo sistema:

  • Orientato al soggetto: le DWH seguono una logica settoriale, considerando dati appartenenti solo ad argomenti di interesse per l’azienda. In pratica, sono archivi tematici, organizzati in aree specifiche, come prodotti, clienti, vendite, ecc; 
  • Integrato: una data warehouse estrae informazioni da fonti diverse, dunque è necessario curare la coerenza tra di esse, incrociando i dati alla ricerca di inconsistenze. Questa integrazione è solitamente eseguita prima dell’archiviazione, nella fase di trasformazione dati;
  • Variabile nel tempo: una DWH serve da archivio storico per l’azienda, dunque fa riferimento ad un periodo molto esteso, nell’ordine degli anni. Vengono quindi registrati tutti i cambiamenti nelle informazioni, relative ad ogni singolo elemento, creando nuove istanze senza sovrascrivere i dati;
  • Non volatile: l’accesso alle informazioni memorizzate è in “sola lettura” perché, data la valenza storica di una data warehouse, non è necessario modificarle o aggiornarle, se ne possono soltanto aggiungere di nuove.

Una definizione di data warehouse esaustiva, quindi, potrebbe essere: 

Sistema aziendale di archiviazione ed analisi, a supporto dei processi decisionali, fondato su una raccolta storica di informazioni, permanente ed organizzata per argomento, consultando fonti diverse. 

I tipi di data warehouse: livelli e componenti

Un altro modo per comprendere cos’è una data warehouse è osservarne l’architettura,  gli elementi che la compongono e le fasi del suo funzionamento.

In base al percorso delle informazioni, possiamo innanzitutto distinguere due tipi di DWH. Il primo è organizzato seguendo, nell’ordine, le operazioni di estrazione, trasformazione e caricamento dei dati. Il secondo, invece, inverte gli ultimi due stadi del processo, risultando in un sistema tecnicamente diverso.

Considerando la prima tipologia di data warehouse, il processo ETL (Extract, Transform, Load) inizia con il recupero delle informazioni dalle fonti selezionate, interrogando i rispettivi database. I dati grezzi, così estratti, vengono raccolti in una sorta di “anticamera” per la data warehouse, chiamata area di staging

Dopodiché, avviene la trasformazione delle informazioni: essenzialmente, vengono “tradotte” in un unico linguaggio, conforme a precise denominazioni, codifiche ed unità di misura. Inoltre, vengono integrati o eliminati i dati incompleti, gli errori e le informazioni corrotte o ridondanti. Questo processo è anche denominato data cleaning o cleansing e contribuisce alla definizione di data warehouse al pari della successiva fase di “caricamento”

Questi dati elaborati e “puliti” vengono dunque registrati nell’archivio dei dati operativi (ODS), dove verranno ulteriormente organizzati prima di essere spostati nell’effettiva “memoria” della data warehouse. Questo database contiene il massimo dettaglio delle informazioni, ma può essere diviso in sottogruppi: le data mart, insiemi limitati di dati, che riguardano un particolare ramo di un’azienda, come il marketing o il servizio clienti. 

Qui, i big data sono organizzati in uno schema a stella: dato un certo elemento, la tabella dei fatti ne elenca le caratteristiche essenziali, poi esplicitate nelle tavole di dimensione. In pratica, i fatti sono codici riassuntivi, a cui le dimensioni danno un contesto più ampio. 

Ad esempio, un cliente sarebbe rappresentato così in una data warehouse, i fatti precedono le dimensioni:

  • ID Residenza: regione, provincia e città
  • ID Età: giorno, mese, anno (di nascita)
  • ID Impiego: ruolo, retribuzione, anzianità
Star Scheme

Se le dimensioni fossero ulteriormente divise in sotto-tabelle, una per ogni attributo, lo schema a stella si amplierebbe in uno schema a fiocco di neve, più ramificato. 

Questi tipi di database, che legano le informazioni in strutture gerarchiche, sono detti relazionali. Ognuno di essi è associato ad un catalog: una specie di registro per i metadati, ovvero informazioni aggiuntive che spiegano la natura delle informazioni che accompagnano; ad esempio, possono indicarne la provenienza o la data di estrazione.

Il processo ETL, tuttavia, non basta a spiegare cos’è una data warehouse: i dati finemente elaborati, infatti, devono ancora essere analizzati dagli strumenti di business intelligence. A questo punto, quindi, i vari database della data warehouse vengono interrogati: gli vengono sottoposte delle query, ovvero domande formulate secondo il linguaggio SQL (Structured Query Language). In pratica, le query sono direttive basate su fatti e dimensioni, che esplorano il database alla ricerca dei dati con migliore corrispondenza. Sfruttando data mart specifici, si ottengono soluzioni in breve tempo, ma si sacrifica il livello di dettaglio dell’archivio generale. 

In ogni caso, gli strumenti per analizzare una data warehouse sono gli OLAP (On-Line Analytical Processing): in base agli schemi a stella, costruiscono i cosiddetti cubi multidimensionali, istantanee del database in un certo momento. Le risposte alle query sono dunque visualizzate in report scritti, grafici o dashboard per essere presentate all’utente finale.

Secondo il modello ETL, dunque, potremmo spiegare cos’è una data warehouse in 4 livelli o layer

  • Trasformazione: estrazione e integrazione (cleaning)
  • Preparazione e storage: database DWH e data mart
  • Analisi: strumenti OLAP
  • Presentazione: scritta o grafica
Data warehouse structure

La definizione di data warehouse comprende anche la tipologia ELT (Extract, Load, Transform) che carica i dati grezzi direttamente nel database centrale, trasformandoli solo all’occorrenza di un’analisi. Nel processo ELT, in particolare, non ci sono aree di staging o data mart: i dati vengono sia archiviati che processati nell’unico database della DWH. Il modello ELT richiede meno operazioni ed è dunque più veloce e meno costoso, inoltre supporta anche dati non strutturati (come immagini, video o audio). Tuttavia, potrebbe portare a violazioni di privacy e sicurezza: ad esempio, in mancanza di pre-elaborazione, i dati sensibili non possono essere “oscurati” all’inizio del processo. 

Vantaggi, svantaggi e usi di una data warehouse

La definizione di data warehouse, oltre a chiarire cos’è, ci presenta i suoi principali vantaggi

Innanzitutto, fornisce dati qualitativi: aggregando diverse fonti, si ottengono informazioni esaustive, ma è la fase di elaborazione a renderle attendibili, eliminando gli errori e normalizzando i dati. Inoltre, interrogare un unico database, curato ed integrato, al posto di consultare le singole fonti, velocizza le operazioni di insight. Il vantaggio principale di una data warehouse, a tal proposito, è il sostegno al processo decisionale: è possibile organizzare strategie e piani futuri basandosi sui dati, aumentando così le probabilità di successo. Questo, infine, rappresenta un vantaggio competitivo, rispetto alle aziende che non compiono scelte informate grazie ad una DWH.

Le data warehouse, tuttavia, hanno anche alcuni svantaggi:

  • Creare e mantenere un sistema DWH richiede molto tempo ed impegno costante, è necessario dedicare risorse specifiche per conservarne il valore informativo.
  • L’intervento umano nell’elaborazione dati può generare inconsistenze nei dati. Data l’immensità dei database, è difficile individuare gli errori, e questo potrebbe portare a risultati distorti, ridimensionando l’utilità della data warehouse.
  • Un archivio storico, per coprire diversi anni, ha bisogno di grande spazio. Questo potrebbe portare ad un incremento nei costi, data la crescita esponenziale delle informazioni generate da Internet. Le soluzioni di cloud storage, tuttavia, possono rappresentare un’alternativa agli hardware di proprietà, fornendo memoria  a prezzi economici.
  • La scalabilità è una sfida per ogni tecnologia: l’accesso contemporaneo di più utenti ad una data warehouse potrebbe causare congestionamenti e rallentare le operazioni. Tuttavia, distribuire il traffico tra diverse data mart potrebbe essere una soluzione.

Avendo dato una definizione a cos’è una data warehouse, possiamo osservare qualche applicazione. In generale, da una DWH sorgono due tipi di sistemi, che rappresentano i suoi due scopi

  1. Decision support system (DSS) – lo schema per la risoluzione di problemi specifici
  2. Executive/Enterprise Information System (EIS) – l’infrastruttura che permette alle informazioni di diffondersi, senza particolari obiettivi.

Passando alla pratica, il primo caso d’uso è quello già esplorato di analisi e report, il cosiddetto “controllo di gestione”. Le data warehouse, però, possono anche essere usate per la gestione del rischio e l’individuazione delle frodi: il loro potere statistico, dato da varie fonti, permette un monitoraggio profondo, da cui è possibile individuare le potenziali vulnerabilità dell’azienda. Inoltre, l’applicazione al marketing è la più nota, perché la data warehouse contiene informazioni utili ad organizzare campagne, strategie di conversione dei clienti o vendita di prodotti, soprattutto se le attività sono veicolate attraverso internet. 

Come anticipato, le DWH rappresentano una fonte di sapere per le aziende, soprattutto nel caso di dati strutturati. Il loro potere informativo, tuttavia, è accresciuto dai data lake, contenenti dati non strutturati (come quelli provenienti dai social network), pertanto i due tipi di database sono spesso integrati in un’unica data lakehouse. Infine, le data warehouse sono fondamentali nella progettazione di nuovi prodotti e servizi: gli strumenti di analisi, in questo caso, sono affiancati da ambienti di simulazione chiamati “Sandbox” (non il metaverso) dove è possibile fare test, costruire soluzioni o applicare nuovi metodi.

In conclusione, i data scientist conoscono bene cos’è una data warehouse, la sua definizione operativa e i possibili utilizzi, ma è possibile abbinare il loro contributo di analisi all’intelligenza artificiale, così da automatizzare alcuni processi attraverso il machine learning.

Correlati