High Performance Analytics: una strada in sette tappe

Le “advanced analytics” diventano strumenti strategici per le aziende in grado di tradurre i dati, compresi i Big Data, in: servizi più efficienti alla clientela, maggior efficienza ed efficacia dei processi di business, miglior interpretazione della domanda e quindi miglior gestione della produzione o dell’erogazione di servizi, ecc. TDWI Research spiega in sette ‘passi’ il possibile percorso da intraprendere per un miglior allineamento delle pratiche e delle tecnologie di data management alle necessità dell’High Performance Analytics espresse dallo specifico business.

Pubblicato il 03 Apr 2012

Oss graf

Sappiamo, ed è pienamente riconosciuto dai responsabili It, che una soluzione avanzata di business intelligence per estrarre dalla mole di dati di cui oggi dispone una qualsiasi impresa un concreto valore di informazioni e conoscenza non può prescindere da un adeguato corredo di applicazioni analitiche. Le sole che possono dare un’idea delle cause che stanno dietro ai valori evidenziati dai report e quindi fornire elementi utili a chi deve decidere sulla gestione, tanto strategica quanto operativa, dell’azienda. La drammatica crescita in quantità e in complessità dei dati (portata, quest’ultima, soprattutto dai dati non strutturati) rende però sempre più difficile poterli analizzare nei tempi sempre più brevi imposti dal business. Da qui il rischio concreto che le analisi diventino il collo di bottiglia del processo di intelligence e che si debba dover scegliere tra un’informazione rapida ma pericolosamente imprecisa oppure una accurata ma altrettanto pericolosamente in ritardo. Per uscire da questa impasse diventa quindi necessario ricorrere a tecnologie di High Performance Computing (HPC) che diano alte prestazioni sia nella gestione dei dati sia nell’esecuzione delle analisi, realizzando quelle che possiamo chiamare High Performance Analytics (HPA).

Le tecnologie che si prestano all’HPA sono numerose e puntare sulla tecnologia, o sulla combinazione di tecnologie, più adatta allo specifico carico di lavoro è una scelta critica per l’efficacia dell’HPA e nella quale giocano molti fattori. Questa tematica è stata oggetto di uno studio approfondito svolto recentemente (dicembre 2011) da TDWI Research. Da questo lavoro abbiamo tratto la sintesi che segue, condensata in sette ‘passi’ costituenti un percorso focalizzato al miglior allineamento delle pratiche e delle tecnologie di data management alle necessità dell’HPA espresse dallo specifico business.

  1. In-database processing per guadagnare velocità. Se le richieste del business vanno verso le analisi in tempo reale o se comunque il fattore-tempo è determinante, l’in-database processing permette di ridurre la replicazione e il movimento dei dati tra database e motore di analisi portando le operazioni di modellazione e analisi dei dati all’interno del Data Warehouse. Questa tecnologia è supportata dai principali Dbms relazionali, che permettono d’integrare elaborazioni analitiche alle funzioni SQL risolvendo i problemi prestazionali e di data management (vedi figura 1).

  2. Elt per aumentare la flessibilità. L’Elt (extract, load and transform) è un concetto che da qualche tempo si propone come alternativa al tradizionale Etl (extract, transform and load) dal quale differisce per la sequenza delle operazioni. Nell’Elt infatti i dati vengono prima estratti e caricati in formato raw nel database e dopo trasformati e strutturati in tabelle ad uso dell’utente (vedi figura 2). Ciò è possibile grazie all’in-database processing, che permette di spostare il lavoro di trasformazione sul motore del database, e se questo gira su una piattaforma hardware multicore e ad elaborazione parallela, il guadagno prestazionale è evidente. In realtà, Etl ed Elt sono soluzioni complementari e possono convivere, usando la prima per le attività programmate e la seconda, il cui approccio è tipicamente demand-driven, per le analisi in tempo reale e on-demand.

  3. Data federation per ridurre il movimento e ampliare l’accesso ai dati. Vista agli inizi come un’alternativa all’enterprise data warehousing, la data federation in pratica complementa l’Edw ed i processi Etl ed Elt fornendo un approccio meno rigido alla data integration in quei casi dove la centralizzazione dei dati sarebbe troppo lunga, costosa o limitativa. L’approccio ‘federale’, invece, lascia i dati al loro posto e si rivela funzionale alle prestazioni in quanto solo i dati occorrenti a una specifica analisi viaggiano sulla rete (vedi figura 3). Alcuni sistemi (federated data server e relativo middleware) sono anche in grado di memorizzare i risultati delle query più frequenti, che quindi possono essere regolarmente e velocemente aggiornati e sono immediatamente disponibili per analisi avanzate.

  4. In-memory processing per alte prestazioni. La capacità di indirizzamento dei sistemi operativi a 64 bit, i nuovi algoritmi di compressione e la disponibilità di Ram che oggi arrivano anche a un terabyte hanno dato un impulso alle HPA più di ogni altra tecnologia. Svolgendo le operazioni in memoria si fa un uso più efficace dei database colonnari e, ovviamente, si supera ogni problema dovuto alle prestazioni dell’I/O e dello storage (vedi figura 4). La contropartita sta nelle maggiori difficoltà di data management. In particolare, occorre controllare indirizzamento e gestione delle righe, colonne e tabelle dati; come usi i puntatori per trovare dati posti in diverse aree di indirizzamento; come e con che frequenza avvenga il refresh dei dati caricati in memoria e come questi aggiornamenti siano sincronizzati con i dati archiviati nei sistemi di storage.

  5. Grid computing per una scalabilità dinamica. Le architetture grid permettono di frazionare i processi di modellazione e analisi in più parti eseguibili in parallelo da più sistemi, o cluster di sistemi, in rete. Nel nostro caso ha grande importanza l’interfaccia Mpi (Message passing interface, vedi figura 5), i cui protocolli di comunicazione permettono ad analisti e sviluppatori di programmare le attività di analisi in funzione appunto di una piattaforma di elaborazione parallela. Ma oltre alle maggiori prestazioni, il grande vantaggio del grid computing sta nel fatto che le risorse di calcolo impegnate non sono rigidamente connesse tra loro. L’intera griglia può quindi essere rapidamente potenziata sia nel numero (scale-out) sia nella potenza (scale-up) dei nodi, realizzando un’infrastruttura che risponde dinamicamente alle necessità del business.

  6. Workload management per allineare tecnologie e bisogni. Per ottenere le migliori prestazioni da un sistema multicore e Mpp (massive parallel processing), è della massima importanza la scelta del tipo di parallelismo, in funzione del carico di lavoro. Due sono le opzioni: parallelismo pipeline e partizionale. Nel primo ogni processore esegue un compito assegnato mentre i dati si muovono lungo il percorso tra la fonte e il data warehouse; nel secondo i dati sono suddivisi in sottoinsiemi assegnati ai diversi server, che quindi lavorano in parallelo sui rispettivi set di dati. Ai fini dell’HPA le due opzioni possono essere combinate: si partizionano i dati estratti dalle fonti e quindi si eseguono in parallelo, secondo un processo pipeline, le operazioni analitiche sulle diverse partizioni (vedi figura 6).

  7. High performance computing per l’analisi real-time di eventi complessi. Tutte le tecnologie di cui si è parlato nei punti precedenti puntano in ultima analisi ad accelerare processi e operazioni di analisi su dati ricavati da eventi di diversa natura (dalle transazioni alle e-mail interne e alle quotazioni della Borsa, per dire). La nuova frontiera della BI, verso la quale le imprese si stanno muovendo, è però il Complex event processing (Cep), cioè la capacità di intercettare ed analizzare direttamente gli eventi senza attendere di ricavarne dati elaborabili. Applicando all’approccio Cep le soluzioni di analisi avanzata (vedi figura 7) un’azienda può automatizzare decisioni in situazioni che, per le variabili coinvolte e il tempo minimo richiesto , sarebbero troppo complesse per un decisore umano. E anche, aggiungiamo noi, di carattere tale (pensiamo, per fare un esempio alle ‘decisioni’ degli sportelli automatici o dei chioschi interattivi) per cui sarebbero semplicemente uno spreco di intelligenza umana.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3