by Colin White

Agosto 2011

BI, ma il Data Warehouse è ancora necessario?

Il numero di soluzioni di Business Intelligence (BI) proposte sul mercato è in continuo aumento. La maggior parte di esse utilizzano ancora servizi forniti dai tradizionali Data Warehouse (DW). Tuttavia, per quanto possa sembrare strano, ve ne sono alcune che hanno iniziato a farne a meno. Su attività effettuate su volumi di dati in cui è richiesta rapidità di risposta è oggi infatti possibile escludere l’utilizzo di un DW o prevederne un utilizzo collaborativo e coerente con i risultati dell’elaborazione analitica pianificata. In alcuni casi si prospetta, quindi, un ruolo del DW diverso dal passato, complementare e non più univoco all’esercizio di applicazioni di BI. Il ruolo del tradizionale enterprise DW, di fatto, cambia in conseguenza del mutamento che interessa lo stesso mercato della BI.
Il titolo di questo articolo è volutamente provocatorio e il mio obiettivo è incoraggiare gli esperti di BI a riconsiderare il ruolo del DW in nuovi progetti di BI. Nel passato l’enterprise DW era considerato la pietra miliare di questi progetti, oggi, in molte situazioni, non lo è più.

Una prospettiva storica
Nella dimensione aziendale esistono tre tipi fondamentali di elaborazione IT: transazionale, di Business Intelligence e collaborativa. La prima riguarda l’operatività quotidiana, mentre le applicazioni BI analizzano quelle operazioni con l’obiettivo di renderle più efficienti e migliorarle. I sistemi collaborativi sono infine dedicati alla condivisione delle informazioni e della conoscenza.
Prima dell’introduzione del concetto di BI, la maggior parte delle aziende analizzava le proprie attività con applicazioni di supporto alle decisioni che effettuavano query e fornivano report su dati risiedenti su dabase transazionali. Vi era più di un problema con questo approccio: 1) i dati non erano trattati nella forma più appropriata per attività di reporting; 2) i dati avevano problemi di qualità; 3) i sistemi di supporto decisionale compromettevano le prestazioni dei sistemi transazionali; 4) i dati erano distribuiti su una quantità di sistemi diversi; 5) vi era una mancanza complessiva dello storico dell’informazione.
Il DW fu introdotto per attenuare queste criticità. Nonostante non si metta in discussione la capacità del DW nel migliorare il processo decisionale, è importante comprendere che esso venne introdotto essenzialmente per risolvere questioni legate all’ottimizzazione del sistema transazionale e a valutazioni di tipo prestazionale.
L’emergere della BI e di applicazioni di Business Performance Management (Bpm) così come nuovi e potenti tool, hanno consentito di migliorare la componente decisionale, grazie a interfacce semplificate, capacità di analisi dei dati e possibilità comparativa tra attività correnti e pianificate. In questo contesto, l’utilizzo di DW da parte di applicazioni BI e Bpm è prevalentemente orientato a risolvere le criticità di accesso diretto ai dati transazionali. Ne consegue che, qualora si riescano a ovviare queste criticità, viene meno la necessità dell’utilizzo di un DW.

Business Intelligence tradizionale
La BI è stata utilizzata per molti anni in modo tattico e strategico per migliorare la fase decisionale con una conseguente modalità di elaborazione che implica operazioni analitiche intensive su dati storici che risiedono su DW. Tutto ciò ha causato una criticità nella centralizzazione dei dati, criticità che è stata ovviata con la creazione di data mart (DM), permettendo la distribuzione dei dati su più data store. Tuttavia, questa soluzione ha aperto un altro problema, dovuto al fatto che i DM vengono creati da DB transazionali e non da DW. Questo per il semplice fatto che tale approccio risulta largamente più vantaggioso in termini di velocità e realizzazione. Se si considera che all’interno di un’organizzazione risiedono spesso più DW e una molteplicità di DM, si capisce che uno dei problemi più comuni si è rivelato poi essere la consistenza dei dati. Problema per cui in origine, anche se può sembrare una contraddizione, era stato appunto pensato il DW.
Sono stati scritti molti articoli sul problema della proliferazione di DM indipendenti che accedono direttamente a dati operazionali e non è mia intenzione approfondire questo argomento. Ritengo tuttavia importante ricordare che un DM risolve molti degli stessi problemi di cui si fa carico un DW tranne per il fatto che le decisioni che vengono tratte da un network di DM rischiano di essere inconsistenti nello stesso modo in cui possono esserlo decisioni basate sullo screening di più data base transazionali. Questo problema può essere però attenuato integrando i dati transazionali in un data store operazionale. Permane un problema del trattamento dei dati storici, ma questo può essere risolto.


Dati storici e correnti
La distinzione tra dati correnti e storici dovrebbe essere semplice, ma nei fatti non lo è. Solitamente i dati in un sistema transazionale sono considerati correnti, mentre i dati di un DW sono considerati storici. Eppure, in alcuni contesti, una tale classificazione può risultare rigida. Presso una compagnia telefonica, esistono per esempio record che mostrano i dati clienti e record per ciascuno degli account relativi a numero telefonico, fatture ecc. Quando si effettua una chiamata, si invia un messaggio o si accede a Internet si crea un call detail record (Cdr) che può essere raccolto con altri Cdr per analizzare il comportamento del cliente, intercettare frodi ecc. In qualsiasi momento i record permettono di avere informazioni sullo stato corrente dell’account. Tutto ciò può essere considerato un insieme di dati correnti. Quando questi dati vengono aggiornati, i vecchi dati possono poi essere catturati da un DW per esigenze di analisi. Il momento di cattura dei dati può essere fatto in un momento particolare o in modo continuativo a seconda del modo in cui si vogliono analizzare i dati. È vero, i dati nel DW sono sempre di tipo storico, ma nel contesto di record Cdr la situazione è diversa. In questo caso è opportuno parlare di dati correnti perché, anche se i dati cambiano nel tempo, ci si confronta sempre con una condizione corrente. Che nome diamo al Cdr data store? Ho la sensazione che molti lo chiamerebbero un data mart. La terminologia non è fondamentale, quel che importa sapere è che non vi è necessità che quei dati risiedano su un DW.
Se l’informazione Cdr è utilizzata per individuare possibili frodi, più è veloce l’analisi più rapidamente può essere riscontrata la frode. L’applicazione BI può elaborare i dati in-flight, mentre fluiscono nel sistema, o analizzarli in un data store che viene continuamente aggiornato. E questo è appunto un esempio di BI operazionale in cui la componente DW può essere bypassata.

Business Intelligence operazionale
Esiste un numero crescente di applicazioni simili a quelle descritte in precedenza. Il vantaggio di queste applicazioni è che aiutano le aziende a diventare più agili nell’analizzare i dati correnti. Un esempio recente di queste applicazioni è il trading algoritmico che utilizza eventi analitici per ottimizzare le operazioni commerciali. Il tempo di risposta di queste analisi è nell’ordine di una frazione di secondo. In questo tipo di elaborazione non è necessario archiviare grandi volumi di dati in un DW.
Per molte applicazioni BI di tipo operazionale il processo e l’approccio ai dati è diverso dalla BI tradizionale. Applicazioni che analizzano traffico Web e attività business su siti e-commerce per tracciare i trend di acquisto, ottimizzare i prezzi, sono un classico esempio di BI operazionale dove l’analisi dei dati viene eseguita in modalità in-flight utilizzando il DW solo come strumento accessorio.
Perché tutta questa discussione è importante? Per il fatto che oggi la Business Intelligence è sinonimo di DW. Ma è un luogo comune. DW è una delle componenti della BI e quest’ultima può utilizzare dati che risiedono su altri data store e non necessariamente DW. Si è parlato a questo proposito di virtual DW, ma credo che siano termini che servono solo a confondere e, in buona sostanza, inutili.
Ci si dimentica spesso che il DW è stato creato per risolvere le debolezze dei sistemi transazionali. Molti di questi aspetti sono oggi risolvibili. La mia preoccupazione è che il DW venga oggi inopportunamente utilizzato ed esteso ad applicazioni di Master Data Management e di Content Management. Nulla di più sbagliato. In definitiva, la mia opinione è che il DW, pur rappresentando, ancora oggi, una componente fondamentale della BI, non sia, comunque e sempre, il fondamento su cui costruire un progetto di BI.