Scalable Data Analytics: Soluzioni Cloud per l’analisi di Big Data

di di Fabrizio Marozzo, Domenico Talia, Paolo Trunfio (Università della Calabria) |

Italia


Big Data

L’enorme disponibilità di data warehouse, pagine web, contenuti audio e video, tweet e blog sta generando enormi quantità di dati complessi e pervasivi. La crescita di questi Big Data è favorita anche dalla disponibilità di strumenti d’archiviazione e condivisione delle informazioni sempre più efficienti. L’estrazione di conoscenza utile da queste enormi quantità di dati richiede servizi di business analytics, strumenti di programmazione avanzati e ambienti d’elaborazione intelligenti e scalabili.

 

L’analisi di Big Data si basa su algoritmi di data mining complessi che richiedono processori e memorie ad alte prestazioni per produrre risultati in tempi utili al loro proficuo utilizzo. Le infrastrutture Cloud possono essere usate come piattaforme efficaci per soddisfare le necessità di elaborazione e memorizzazione di tali algoritmi su Big Data.

Grandi quantità di dati sono già nel Cloud, e questa tendenza aumenterà in futuro. Gartner ha stimato che entro il 2016 più della metà dei dati delle grandi aziende sarà memorizzata nel Cloud (http://tinyurl.com/boltvbo). Questa tendenza fa dei sistemi Cloud un’infrastruttura molto efficiente per implementare piattaforme d’analisi di grandi quantità di dati, ma, allo stesso tempo, richiede la definizione e lo sviluppo di ambienti d’elaborazione innovativi e scalabili.

 

Verso l’uso del Cloud per l’analisi scalabile di Big Data

 

Il termine Big Data si riferisce a contenuti digitali di enormi dimensioni, eterogenei e spesso non strutturati, che è arduo elaborare con strumenti e tecniche di data management tradizionali. Il termine racchiude in sé non solo la dimensione, la complessità, e la varietà dei dati, ma anche il valore che si può ottenere da essi utilizzando tecniche di analisi intelligenti ed efficaci.

Tecniche e strumenti di analitica possono aiutare ad estrarre informazioni necessarie per prendere decisioni informate in molte applicazioni, da quelle aziendali a quelle scientifiche. La combinazione di tecniche di analisi su Big Data con sistemi di calcolo scalabili porterà ad acquisire nuova conoscenza ed a fare nuove scoperte in tempi più brevi rispetto al passato.

Sebbene oggi siano disponibili solo poche piattaforme di analisi basate su Cloud, gli studi attuali prevedono che esse saranno d’uso comune nel giro di pochi anni. Alcune soluzioni odierne si basano su sistemi open source quali Apache Hadoop e SciDB, mentre soluzioni proprietarie sono fornite da aziende come Google, IBM, EMC, BigML, Splunk Storm, Kognitio e InsightsOne.

 

Con l’emergere di nuove piattaforme, i ricercatori porteranno sul Cloud strumenti di programmazione e strategie di analitica sempre più potenti, sfruttando modelli software complessi e flessibili come il paradigma dei workflow distribuiti. L’uso crescente del service-oriented computing contribuirà ad accelerare questa tendenza (http://tinyurl.com/d26o2j5).

 

Modelli di servizio per l’analisi dei dati

 

E’ possibile implementare soluzioni di analisi di dati su Cloud adottando il modello Software as a Service (SaaS), Platform as a Service (PaaS), o Infrastructure as a Service (IaaS).

Il modello SaaS offre applicazioni complete di analisi di dati agli utenti finali, i quali possono sfruttare la scalabilità del cloud sia per memorizzare dati, sia per analizzarli in modo efficiente. Il modello PaaS fornisce ambienti di sviluppo che gli sviluppatori possono usare per realizzare servizi e applicazioni di analitica scalabili. Infine, il modello IaaS può essere usato per comporre un insieme di risorse hardware e software virtualizzate al fine di realizzare sistemi o eseguire applicazioni di analisi di dati.

Come mostrato nella tabella, gli sviluppatori possono implementare servizi di analitica per Big Data secondo tre modelli:

  • data analytics software as a service: fornisce uno specifico algoritmo di data mining o uno strumento di knowledge discovery sotto forma di servizio Internet all’utente finale, il quale può usarlo direttamente tramite un browser Web;
  • data analytics platform as a service: fornisce una piattaforma di supporto che gli sviluppatori possono utilizzare per costruire le proprie applicazioni di analitica o estendere quelli esistenti, senza doversi occupare dell’infrastruttura di base o dei problemi connessi all’ambiente distribuito;
  • data analytics infrastructure as a service: fornisce un insieme di risorse virtualizzate che gli sviluppatori possono utilizzare come infrastruttura di calcolo per eseguire le applicazioni di data mining o per implementare sistemi di analitica da zero.


Modelli di servizio per l’analitica su cloud.


 

Workflow per l’analisi di Big Data

 

Per progettare in modo efficace applicazioni scientifiche e commerciali di analisi di dati, gli analisti possono usare il formalismo dei workflow. Questo paradigma di sviluppo permette di definire le singole attività (o task) che costituiscono un’applicazione complessa di analitica – dall’accesso ai dati, al data mining, fino all’analisi dei risultati – e di specificare le dipendenze che determinano l’ordine d’esecuzione di tali attività.

L’uso dei workflow come modello flessibile di programmazione delle applicazioni, e l’uso del cloud come piattaforma per l’esecuzione concorrente dei workflow, sono gli elementi chiave del Data Mining Cloud Framework (http://tinyurl.com/c4b4f5k) che è stato sviluppato all’Università della Calabria con l’obiettivo di fornire servizi scalabili di analitica a ricercatori ed utenti business. Il framework adotta il modello di servizio SaaS, per cui l’utente può utilizzare i servizi di composizione ed esecuzione dei workflow su Cloud utilizzando un comune browser Web usando qualsiasi computer, fisso o mobile, connesso ad Internet.

 

La figura seguente mostra un workflow di analisi progettato ed eseguito mediante l’interfaccia di programmazione grafica del framework. Il workflow specifica in modo grafico le sorgenti di dati da analizzare, gli strumenti e gli algoritmi da utilizzare nelle diverse fasi dell’elaborazione, e i risultati generati sotto forma di modelli o di nuovi dati. Le dipendenze tra i nodi del workflow sono specificate mediante archi orientati. Quando si crea un arco tra due nodi, il sistema gli attribuisce automaticamente un’etichetta che rappresenta la relazione tra essi. Per facilitare la composizione del workflow e consentire all’utente di monitorare la sua esecuzione, ogni nodo ha un tag associato –  i checkmark in figura – che rappresenta lo stato della risorsa corrispondente.

 

Workflow realizzato con il Data Mining Cloud Framework (http://tinyurl.com/c4b4f5k)


 

I risultati sperimentali di una serie di studi che usano il framework per analizzare dati genomici, intrusioni nelle reti informatiche, e dati bioinformatici hanno dimostrato la sua efficacia come strumenti di sviluppo, nonché la scalabilità quasi lineare ottenuta attraverso l’esecuzione concorrente delle attività del workflow su un pool di server cloud virtualizzati. Il framework è tuttora in fase di sviluppo con l’obiettivo di estendere i pattern di progettazione forniti all’utente e per supportare ulteriori modelli d’esecuzione per l’analisi di grandi quantità di dati sul Cloud.


Linee di ricerca future

L’analisi di dati basate su sistemi Cloud richiede strumenti di sviluppo di alto livello e di facile utilizzo per programmare applicazioni in grado di gestire sorgenti di dati distribuite e di grandi dimensioni. Questo settore richiede lo sviluppo di nuove attività di ricerca in diverse aree chiave.

  • Modelli di programmazione per l’analisi di Big Data.
  • Interoperabilità di dati e software.
  • Integrazione di sistemi per l’analisi di Big Data.
  • Provenance dei dati e meccanismi di annotazione.

Queste aree di ricerca, insieme ad altre orientate a problemi di privacy e sicurezza dei dati, favoriranno lo sviluppo di nuovi sistemi e tecniche per l’analisi di dati su Cloud e la loro adozione da parte di grandi imprese e organizzazioni. Gli sviluppi della ricerca nel settore dell’analitica su Cloud potranno contribuire, inoltre, alla creazione di nuove imprese e start-up innovative che potranno sfruttare le importanti tendenze di crescita di mercato e di investimenti nei settori Big Data e Cloud, previste dagli analisti economici per i prossimi anni.