by Rick van der Lans

Dicembre 2012

Virtualizzazione dei dati e sistemi di Business Intelligence Agili

La sfida più grande, che si trova – oggi – ad affrontare il mercato della business intelligence (BI) riguarda lo sviluppo di sistemi di BI, che presentino un livello di agilità proporzionale alla velocità di trasformazione ed evoluzione del business. Se non si è capaci di implementare una logica di questo tipo, si corre il rischio di andare incontro a una veloce obsolescenza dei sistemi e a un conseguente indebolimento delle capacità decisionali. Considerato che l’attuale recessione economica non scomparirà in tempi brevi e che le aziende sono obbligate a essere più competitive, la necessità di aumentare l’agilità dei sistemi di business intelligence dovrebbe diventare una delle priorità per tutte le organizzazioni. L’agilità – in altre parole – la capacità di essere reattivi ai cambiamenti di mercato, diventa un fattore di assoluta rilevanza per tutti i sistemi di business intelligence. Uno studio recente, realizzato da TDWI, ha rilevato uno scenario alquanto deludente: la maggior parte dei sistemi di business intelligence in esercizio non è coerente, con i requisiti di agilità richiesti in un contesto di mercato, quale quello attuale. In particolare:
– il tempo medio necessario per aggiungere un nuovo data source al sistema di business intelligence esistente è risultato essere di 8,4 settimane nel 2009 – 7,4 nel 2010 e 7,8 settimane nel 2011.
– Il 33% delle organizzazioni impiega più di tre mesi per aggiungere un nuovo data source.
– Lo sviluppo di un report complesso o cruscotto con 20 dimensioni, 12 misure, sei regole di accesso utente, richiedeva 6,3 settimane nel 2009 – 6,6 nel 2010 e 7 settimane nel 2011. Questi dati testimoniano come non vi sia nessuna tendenziale maggiore produttività associata allo sviluppo di queste applicazioni. Il 30% del campione, oggetto della ricerca, ha dichiarato che il tempo necessario per lo sviluppo di questi sistemi è superiore ai tre mesi.

L’agilità dei sistemi
Non è semplice stabilire i motivi che impediscono di implementare sistemi con una sufficiente agilità. La loro staticità non dipende da un singolo fattore. Tuttavia, è indubbio che il tutto dipenda prevalentemente proprio dalle soluzioni database centriche, che formano il cuore di molti sistemi di intelligence. Le architetture di questi sistemi sono in gran parte basate su un insieme di data store – come, per esempio, quelli legati alla produzione – data warehouse, data mart e personal data store (PDS). Quest’ultimo può essere costituito da un piccolo file o da un foglio elettronico utilizzato da uno o al massimo due utenti. In alcuni sistemi, è incluso un data store operazionale (ODS). Tutti questi data store sono legati tra loro da una logica di trasformazione, in base alla quale i dati sono copiati da un data base a un altro. Le tecnologie ETL e di replica sono quelle più utilizzate in questo tipo di attività. In questo articolo, ci riferiamo a questi sistemi indicandoli come sistemi di business intelligence che utilizzano un’architettura di tipo tradizionale o classica. La ragione per cui molti di questi sistemi sono stati creati e sviluppati in quest’ottica dipende – in larga misura – dal software e dall’hardware utilizzati in tutti questi anni. Si tratta di tecnologie che hanno mostrato i loro limiti – in termini di performance e scalabilità – nei confronti dei quali, si è cercato di ovviare, distribuendo il carico di lavoro su più data store, rendendo così necessario eseguire operazioni di trasformazione e pulizia dei dati attraverso più fasi.

La virtualizzazione dei dati
La virtualizzazione dei dati è una delle tecnologie che può essere di valido aiuto nell’implementazione di sistemi agili, in quanto semplifica il processo di sviluppo di report attraverso: approcci di accesso dati unificati; indipendenza dei data store; integrazione, trasformazione e pulizia centralizzata dei dati; risultati di reporting consistenti, traduzione dei linguaggi dati, minime interferenze tra i data store, strutture dati semplificate ed efficiente distribuzione dell’accesso ai dati.
Tutto questo è possibile poiché le tecniche di virtualizzazione consentono di disaccoppiare i report dalle strutture dati, procedendo all’integrazione dei dati in una modalità on-demand e gestendo le specifiche di metadati in modo centralizzato, senza lasciare spazio a meccanismi di replicazione. La virtualizzazione dei dati si presenta, quindi, come la tecnologia ideale per sviluppare sistemi di intelligence di tipo agile.
Nel momento in cui si fa uso di tecniche di virtualizzazione dei dati, viene creato un livello di astrazione – o incapsulamento – che consente di nascondere, alle applicazioni, la maggior parte degli aspetti tecnici e il luogo dove risiedono i dati. Grazie a questo layer, le applicazioni non hanno la necessità di sapere dove quei dati risiedono fisicamente o come i dati devono essere integrati, su quali database girano, quali siano le API richieste, quale linguaggio di database utilizzare.

Dati più agili
Quando si utilizza la virtualizzazione, è come se tutte le applicazioni accedessero a un singolo database. In questo contesto, il termine data consumer può essere riferito a qualsiasi applicazione, che compie operazioni di retrieving, introduzione o manipolazione dei dati. Per esempio, un data consumer può essere costituito da un’applicazione di data entry online, oppure un’applicazione di reporting, un modello statistico, un’applicazione Internet, un’applicazione batch o un sensore RFID. Al contrario, il termine data store è utilizzato per fare riferimento a una qualsiasi sorgente dati: può essere una tabella di database SQL, un file testo, un documento XML, un foglio elettronico, un Web service, un file sequenziale, una pagina HTML. In alcuni casi, il data store può essere un file passivo, in altri può corrispondere a un source data, che include il software per l’accesso ai dati. I concetti di data consumer e data store sono elementi chiave per la definizione della virtualizzazione dei dati. Quest’ultima è la tecnologia, che offre vista unificata, astratta e incapsulata per operazioni di query e manipolazione dati immagazzinati, in un insieme di data store eterogenei. Per cui – se i data store utilizzano formati e tecnologie di storage differenti – la virtualizzazione rende possibile presentare i dati consumer come se appartenessero a un unico insieme di dati integrato. Inoltre, per gli stessi insiemi di dati è possibile accedere utilizzando linguaggi diversi.
Tipiche aree applicative di Business Intelligence, che registrano un aumento dell’agilità, sono data mart virtuali, analisi e reporting self-service, reporting operazionale e analitico, prototyping interattivo e sviluppo collaborativo. In sintesi, l’implementazione della virtualizzazione dei dati nei sistemi di BI può condurre ad architetture più leggere con un minore data footprint e, in estrema sintesi, a sistemi più agili.

Nota: per maggiori informazioni sulla virtualizzazione dei dati si può fare riferimento al libro di Rick van der Lans intitolato Data virtualization for Business Intelligence Systems, pubblicato nell’estate del 2012.