UNIVERSITA’ DEGLI STUDI DI PADOVA FACOLTA’ DÌ INGEGNGERIA GESTIONALE DIPARTIMENTO DÌ TECNICA E GESTIONE DEI SISTEMI INDUSTRIALI STRUMENTI SOFTWARE PER GESTIRE I BIG DATA LAUREANDO: PEDASSOU YAO EDEM 622819 RELATORE: BONOLLO GIULIANO ANNO ACCADEMICO 2011/2012 1 Indice A - INTRODUZIONE ............................................................................................................................................ 3 B - Problemi e criticità: perché si parla del “big data ........................................................................................ 3 B-1.a. Dati di acquisizione e di recording ......................................................................................................... 5 B-1.c. L’integrazione, l’aggregazione e la rappresentazione dei dati ................................................................ 7 B-1.d. L’Elaborazione delle querry, modellazione e analisi di dati ................................................................... 7 B-1.e. L’interpretazione ..................................................................................................................................... 8 B-2. Le sfide all’analisi nei big data .................................................................................................................. 9 B-2.b. La Scala ................................................................................................................................................ 10 B-2.c. La Tempestività..................................................................................................................................... 11 B-2.d. La Privacy............................................................................................................................................... 12 B-2.e. La collaborazione umana...................................................................................................................... 13 C - Tecnologie per i big data ............................................................................................................................ 14 C-1. Origine ...................................................................................................................................................... 16 C-3. Che cos’è hadoop ? .................................................................................................................................. 18 C-3.1. Hadoop Distributed File System(HDFS) ................................................................................................ 18 C-3.2. MapReduce .......................................................................................................................................... 20 C-4 Perché Hadoop? ...................................................................................................................................... 22 C-5. Hadoop sostituisce i database e gli altri sistemi esistenti ? .................................................................... 23 C-6. Come i sistemi esistenti interagiscono con hadoop ? ............................................................................ 24 C-7. Come possono gli utenti all'interno di un'organizzazione interagire con Hadoop? ................................ 25 D - Le applicazioni ............................................................................................................................................ 26 D-1. Le applicazioni analitiche ........................................................................................................................ 26 D-1.a Le applicazioni basate su attribuizioni ................................................................................................... 26 D-1.b le applicazioni basate su suggerimenti ................................................................................................. 27 d-1.c APPLICAZIONI BASATE SU PREDIZIONE E PREVISIONE .......................................................................... 27 D-1.d APPLICAZIONI BASATE SU APPROFONDIMENTI .................................................................................... 28 D-1.e APPLICAZIONI BASATE SU BENCHMARK ............................................................................................... 29 D-2 Le Applicazioni settoriali .......................................................................................................................... 29 D2.a Nella finanza ........................................................................................................................................... 29 D-2.b SANITA’................................................................................................................................................. 30 D-2.c. Industria Manifatturiera........................................................................................................................ 31 D-2.d Media ..................................................................................................................................................... 31 D-2.e Materie prime e naturali ........................................................................................................................ 33 D-2.f Servizi ...................................................................................................................................................... 33 D-2.g Pubblica Amministrazione..................................................................................................................... 34 E – CONCLUSIONI............................................................................................................................................. 35 2 A - INTRODUZIONE Nella definizione generalmente accettata, i Big Data sono gli insieme di dati talmente grandi che è praticamente impossibile utilizzarli, ma questa definizione è doppiamente inadeguata. In primo luogo perché con il progressivo miglioramento di hardware e software, il concetto di "troppo grande" deve essere continuamente rivisto al rialzo; e poi anche perché quando si parla di Big Data non lo si fa per lamentarsi o recriminare, ma per tentare di trovare un modo di utilizzare le tecnologie, hardware e software esistenti, per manipolare i dati già presenti. Fino a non molto tempo fa, le organizzazioni che desideravano condurre un'analisi dei propri dati erano limitate alla quantità di informazioni contenute in un floopy disk.Oggi, non solo il volume potenziale dei dati aumenta esponenzialmente, grazie anche alle nuove tecnologie cloud, ma si stanno anche immaginando nuovi modi per collegare più database in quello che sembra essere un unico insieme. Infatti è perché il big data fa parte dei 10 tecnologie più importanti del 2012 ed è considerato la sfida del decennio 2010-2020. Ma i Big Data stanno anche diventando un problema importante, da risolvere al più presto. Man mano che vengono raccolte più informazioni e che aumentano i collegamenti alla rete Internet, tutto diventa un problema da Big Data, anche il semplice controllo della rete stessa. Anche se il tema Big Data è tradizionalmente rimasto nell'ambito della ricerca e della scienza che devono gestire grandi database di immagini, archivi sismici e così via, ormai anche le grandi aziende stanno iniziando a interessarsi all'argomento. In un periodo in cui l'economia è in evidente difficoltà, la possibilità di prendere decisioni basandosi su informazioni,aggiornate è estremamente affascinante. E i risultati lo confermano. B - Problemi e criticità: perché si parla del “big data” In un'inchiesta commissionata da Capgemini(società multinazionale attiva nel settore della consulenza aziendale, dell’outsourcing e nella fornitura di servizi professionali) all'inizio di quest'anno, che ha coinvolto 607 dirigenti di alto livello e intitolata, The Deciding Factor: Big Data & Decision Making, i partecipanti hanno evidenziato che, nei processi in cui è stato applicato un approccio analitico su Big Data, le organizzazioni hanno ottenuto un miglioramento medio del 26% delle prestazioni rispetto ai tre anni precedenti e prevedono di ottenere un ulteriore miglioramento del 41% nei prossimi tre anni. “Per i partecipanti al nostro sondaggio le informazioni sono ormai il quarto fattore di produzione, importante quanto il capitale, la forza lavoro e le materie prime”, sottolinea Capgemini. “Ne consegue che a prevalere in futuro saranno le organizzazioni in grado di sfruttare i Big Data, ad esempio applicando tecniche avanzate di analisi predittiva in tempo reale". 3 “’I Big Data, come sono stati soprannominati dai ricercatori, sono talmente preziosi che il World Economic Forum, in un rapporto pubblicato in 2011, li ha inseriti in una nuova categoria di risorse economiche, come una materia prima”, ha scritto il Washington Post. Dalla ricerca Capgemini,emerge inoltre che: Le aziende che attribuiscono maggiore importanza ai processi decisionali basati sull’analii dei dati hanno ottenuto miglioramenti (in termini di produzione e prestazioni) del 5-6% superiori rispetto alle aziende che basano le decisioni unicamente sull'intuito e sull'esperienza. Due terzi degli intervistati ha affermato che la raccolta e l'analisi dei dati è alla base Della strategia aziendale e del processo decisionale quotidiano, in particolare per le aziende dei settori dell'energia e delle risorse naturali, dei servizi finanziari, farmaceutici e biotecnologie. Più di metà degli intervistati ha affermato che le decisioni gestionali basate unicamente su intuito ed esperienza sono sempre più spesso considerate poco affidabili, mentre il 66% ha ribadito che le decisioni aziendali sono sempre più collegate a "concrete informazioni analitiche". Nove su dieci dei dirigenti ritengono che le decisioni prese negli ultimi tre anni avrebbero potuto essere migliori avendo a disposizione tutte le informazioni necessarie. I dati considerati più preziosi sono quelli relativi alle “attività di busness” (vendite, acquisti, costi) e, nel caso delle attività commerciali per il largo consumo, i dati relativi all'andamento dei punti vendita. Altri dati utili possono essere le informazioni sui clienti, ad esempio email e profili sui social media. Si stima che google da solo ha contribuito 54 millardi di dollari all’economia degli stati uniti nel 2009 In fronte a tutti i vantaggi che presenta il “Big data”, sia dal punto di vista economico, finaziario, educativo, scientifico, nell’ambito della ricerca ecc, poi, l’obbietivo essendo di ragruppare tutti i database in un database grosso e unico, adesso non vi è vaste divario tra il suo potenziale e la sua realizzazione , appunto i problemi e le criticità che presenta sono enormi . Problemi di eterogeneità, di scala, di tempestività, di complesità e di privacy con big data ostacolano il progresso in tutte le fasi della pipeline in grado di creare valore dai dati. I problemi iniziano subito durante l’acquisizione dei dati. Quando lo tsunami di dati ci impone prendere decisioni ad hoc su quali dati tenere e cosa scrtare e come memorizzare in modo affidabile quello che abbiamo tenuto nel matadata giusto. Molti dati oggi non sono nativamente in formatto strutturato, ad esempio tweet e blog sono debolmente strutturati in pezzi di testo mentre le imagini e i video sono strutturate per la conservazione e l’esposizione ma non per il contenuto semantico e la ricerca. La trasformazione di tali dati in contenuto strutturato per una succesiva l’analisi è una grande sfida.i problemi e la criticità riguardando i big data verano esposti attraverso la figura seguente. 4 fig 1.The big Data Analysis pipeline. Major steps in analysis of big data are shown in the flow at top. Below its are big data needs that make these task challenges B-1.a. Dati di acquisizione e di recording Il big data non nasce da un vuoto ma risulta da un certo numero di generatore di dati .Per il previsto Square kilometer aray telescopio che produrra fino a 1 millione di terabyte di dati al giorno analogamente, esperimenti scientifici e simulazioni possono facilmente produrre petabyte di datti oggi .Molti di questi dati non sono di alcun interesse e possono essere filtrati e compressi. La criticità sta nel definire questi filtri in modo tale che questi non scartino informazioni utili,per esempio supponiamo un sensore di lettura che ci effetua questo compito è probabile che il sensore sia difetoso, ma come possiamo essere sicuri che non sia un artefatto che merita attentione? Inoltre i dati raccolti da questi sensori piu spesso spazialmente e temporalmente correlate (ad esempio sensori di trafico su un segmento di strada) ,abbiamo bisogno di ricerca nella scienza della riduzione dei dati che può inteligentemente trattare tali dati non elaborati a una dimensione che gli utenti siano in grado di gestire mentre non manca l’ago nel pagliaio,serve anche 5 tecniche di analisi “on-line” in grado di elaborare lo streaming di dati in tempo reale dal momento che non possiamo permetterci di memorizzare prima e di ridurre poi. La seconda criticità è di generare automaticamente il metadata giusto da descrivere quale dato è registrato e come è stato registrato e misurato.per esempio negli esperimenti scientifici notevoli detagli riguardando condizioni e modalità scientifici specifici possono richiedere un’interpretazione corretta dei risultati ed è importante che i metadati siano registrati con i dati di osservazioni. Un altro problema è la provenienza dei dati.la registrazione delle informazioni sui dati a sua nascita non è utile salvo quando queste informazioni debbano essere interpretati e trascinati attraverso la pipeline di analisi di dati,per esempio un errore di elaborazione in una fase può rendere inutile l’analisi nella fase successiva,con adatta provenienza possiamo facilmente identificare tutta la serie di elaborazioni che dipende da questo passaggio cosi abbiamo bisogno di ricerche sia nella generazione di metadati idonei sia nei sistemi di dati e relativi metadati attraverso la pipeline dell’analisi dei dati B-1.b. L’Estrazione dell’ informazione e il data cleaning Frequentemente, le informazioni raccolte non saranno in un formato pronto per l'analisi. Per esempio,prendere in considerazione la raccolta di cartelle cliniche elettroniche in un ospedale, che comprende dettati trascritti da diversi medici, i dati strutturati provenienti da sensori e misurazioni (eventualmente con un po di dati associati in incertezza), e immagini come i raggi X. Non possiamo lasciare i dati in questa forma e iniziare ad analizzarli in modo efficace. Piuttosto abbiamo bisogno di un processo di estrazione di informazioni che tiri fuori le informazioni richieste dalle fonti sottostanti e li esprime in forma strutturata per l'analisi , e fare questo in modo coretto e completo è una sfida continua per i tecnici. Si noti che questi dati comprendono anche le immagini e saranno in futuro inclusi video, tale estrazione molto spesso dipende dall'applicazione (ad esempio, quello che si vuole tirare fuori una risonanza magnetica è molto diverso da quello che ci si tira fuori un quadro delle stelle, o un sorveglianza foto). Inoltre, a causa della ubiquità di telecamere di sorveglianza e la popolarità di telefoni cellulari con GPS integrato, fotocamere e altri dispositivi portatili potenti e di alta precisione nella localizzazione e nella determinazione della traiettoria (ad esempio, il movimento nello spazio), i dati ci possono anche essere estratti. Siamo abituati a pensare a Big Data, come una cosa che ci dice sempre la verità, ma questo è in realtà tutt'altro che realtà. Per esempio, i pazienti possono scegliere di nascondere i comportamenti a rischio e gli assistenti possono a volte mal diagnosticare una condizione, i pazienti possono anche ricordarsi male del nome di un farmaco o addirittura che non hanno mai preso, portando a informazioni mancanti nella ( parte della storia) loro cartella clinica. Lavoro esistenti su pulizia dei dati assume vincoli ben riconosciuti su dati 6 validi o comprensibilissimi modelli di errore, per molti emergenti domini di Big Data questo problema non esiste. B-1.c. L’integrazione, l’aggregazione e la rappresentazione dei dati Data l'eterogeneità del flusso di dati, non è sufficiente limitarsi a registrarlo e gettarlo in un repository. Si consideri, ad esempio, i dati di una serie di esperimenti scientifici. Se non ci resta che un mazzo di insiemi di dati in un repository, è improbabile che nessuno sarà mai in grado di trovare, per non parlare di riutilizzare, una di questi dati. Con metadati appropriati, c'è qualche speranza, ma anche così, le sfide rimarrano per differenze nei dettagli sperimentali e in record di struttura dati. L'analisi dei dati è molto più impegnativo di una semplice localizzazione, identificatificazione, comprehensione, e citazione di dati. Per un efficace analisi su larga scala tutto ciò deve avvenire in modo del tutto automatizzato. Ciò richiede differenze nella struttura dei dati e la semantica di essere espressi in forme comprensibile in modo computazionale, e poi risolvibile con la robotizzazione. Vi è un forte corpo di lavoro nei dati di integrazione in grado di fornire alcune risposte. Tuttavia, molto lavoro è necessario per arrivare ad automatizzare senza errori. Anche per semplici analisi che dipendono solo da set di dati, rimane una importante questione della progettazione di database adatto. Di solito, ci saranno molti modi alternativi in cui memorizzare le stesse informazioni. Alcuni modelli avranno vantaggi rispetto ad altri per scopi determinati, e, eventualmente,inconvenienti per altri scopi. Testimone, per esempio, l'enorme varietà nella struttura banche dati bioinformatiche con le informazioni riguardanti le imprese sostanzialmente simili, come i geni. La progettazione di database è oggi un'arte, e viene accuratamente eseguito nel contesto aziendale da ben pagati professionisti. Dobbiamo attivare altre figure professionali, quali gli scienziati di dominio, per creare efficaci progettazione dei database, sia attraverso l'elaborazione di strumenti per aiutarli nel processo di progettazione o mediante rinuncia completo del processo di progettazione e sviluppare tecniche in modo che i database possano essere utilizzati efficacemente all'assenza di progettazione di database intelligente. B-1.d. L’Elaborazione delle querry, modellazione e analisi di dati Big Data sta anche permettendo alla prossima generazione l’ analisi interattiva dei dati con risposte in tempo reale. In futuro, le query verso Big Data verrano automaticamente generate per la creazione di contenuti su siti web, per popolare hot-list o raccomandazioni, e per fornire una analisi ad hoc del valore di un insieme di dati e decidere se archiviare o di disfarsene. Scaling di query complesse e tecniche di 7 lavorazione a terabyte mentre consentendo tempi di risposta interattivi è un grande problema in ricerca aperto oggi. Un problema con l'attuale analisi dei Big Data è la mancanza di coordinamento tra i sistemi di database, che ospitano i dati e forniscono l'esecuzione di query SQL, con i pacchetti di analisi in grado di eseguire le varie forme di elaborazione non SQL , come ad esempio il data mining e le analisi statistiche. Gli analisti di oggi sono ostacolati da un tedioso processo di esportazione di dati dal database, l'esecuzione di un processo di non-SQL e la restituzione i dati . Questo è un ostacolo che riprende l'eleganza interattiva della prima generazione di SQL driven sistem, OLAP nel tipo data mining di analisi che è sempre più richiesto Un accoppiamento stretto tra i linguaggi di interrogazione dichiarativi e le funzioni di tali pacchetti che andranno a beneficio sia di espressività che di prestazioni dell'analisi. B-1.e. L’interpretazione Avere la capacità di analizzare il Big data ha un valore limitato se gli utenti non riescono a capire l'analisi. un decisore, con il risultato dell'analisi, li deve interpretare . Questa interpretazione non può avvenire nel vuoto. Di solito, si tratta di esaminare tutte le ipotesi fatte e ripercorrendo l'analisi. Inoltre, come abbiamo visto sopra, ci sono molte possibili fonti di errore: sistemi informatici possono avere bug o baco cioè un errore nella scrittura di un programma software, i modelli quasi sempre hanno delle ipotesi, e i risultati possono essere basati su dati errati. Per tutti questi motivi, nessun utente responsabile si fidera completamente del sistema del computer. Piuttosto cercherà di capire e verificare i risultati prodotti dal computer. Il sistema glielo deve rendere più facile. Questo è particolarmente una sfida con Big data a causa della sua complessità. Ci sono spesso assunzioni cruciali dietro i dati registrati. Un’analisi condotta può spesso coinvolgere più passaggi, che includono di nuovo delle ipotesi . Il recente colpo drammatico al sistema finanziario ha sottolineato la necessità di precisione dalla parte del decisore :piuttosto che accettare la solvibilità dichiarato di un istituto finanziario al valore nominale, un decisore deve esaminare criticamente le numerose ipotesi in diverse fasi di analisi. In breve, è raramente sufficiente a fornire solo i risultati. Piuttosto, si deve fornire, complementare le informazioni che spiegano come ogni risultato è stato ottenuto, e sulla base proprio di che gli ingressi è stato ottenuto. Tali informazioni supplementari è chiamata la provenienza dei dati. Studiando il modo migliore per acquisire, memorizzare, e la provenienza delle query, in combinazione con tecniche per catturare i metadati adeguati, possiamo creare una infrastruttura per fornire agli utenti la possibilità sia di interpretare i risultati analitici ottenuti e ripetere l'analisi con le diverse ipotesi, parametri, o gruppi di dati. Sistemi con una grande orizonte di visualizzazioni diventano importanti nel trasmettere agli utenti i risultati delle query in un modo che sia compreso in un particolare dominio. e questo richiede dalla la parte degli analisti un lavoro e una innovazione perpetua. 8 B-2. Le sfide all’analisi nei big data Dopo aver descritto le fasi in cantiere dell’analisi dei dati di Big data e i relativi problemi , ci rivolgiamo ora a un po’ di sfide comuni che sono alla base sia molti, o a volte tutti, delle fasi della pipeline. Questi sono mostrati nelle cinque caselle nella seconda fila della Fig. 1. B-2.a. Eterogeneità e incompletezza Quando gli esseri umani consumano le informazioni, una grande quantità di eterogeneità è comodamente tollerata.Infatti, la sfumatura e la ricchezza del linguaggio naturale è in grado di fornire preziose profondità. Tuttavia, macchine di analisi di algoritmi si aspettano a dati omogenei, e non riescono a capire le sfumature. Di conseguenza, i dati devono essere attentamente strutturati ed è il primo passo dell’ analisi dei dati. Si consideri ad esempio, un paziente che ha più procedure mediche in un ospedale. Si potrebbe creare un record per ogni procedura medicale o laboratorio di prova, un record per il soggiorno intero all’ ospedale, o un record per tutte interazioni dell’ospedale al paziente in tutta la sua vita. Con altro che la prima rappresentazione, il numero di medici per procedure e le prove di laboratorio per record sarebbe diversa per ogni paziente. Le tre scelte progettuali di cui sono meno strutturi successivamente , e viceversa, una maggiore varietà successivamente. Maggiore struttura può essere richiesto da molti sistemi tradionali di analisi dei dati. Tuttavia, il disegno meno strutturato è probabile per essere più efficaci per vari scopi : per questioni relative ad esempio alla progressione della malattia nel tempo richiedono un'operazione costosa join con i primi due disegni, scelta che può essere evitata con l’ultima rappresentazione. Tuttavia, i sistemi informatici lavorarano in modo più efficiente se sono in grado di memorizzare più elementi che sono tutti identici per dimensione e struttura. La rappresentazione efficiente,l’ accesso e l'analisi di dati semi-strutturati richiederà ulteriore lavoro. Si consideri un record di database di progettazione elettronica di salute che dispone di campi per la data di nascita, la professione, e il tipo di sangue per ogni paziente. Che cosa facciamo se uno o più di questi pezzi di informazione non è fornito da un paziente? Ovviamente, la registrazione sanitaria è ancora inserito nel database, ma con i valori degli attributi corrispondenti vengono impostati su NULL. Una analisi dei dati che guarda per classificare i pazienti, diciamo, per occupazione, deve prendere in considerazione i pazienti per i quali queste informazioni non è noto. Peggio ancora, questi pazienti con occupazioni sconosciuti può essere ignorata nell'analisi solo se abbiamo ragione di credere che sono altrimenti statisticamente simili ai pazienti con occupazione noto per l'analisi eseguito. Ad esempio, se i pazienti disoccupati sono più propensi a nascondere il loro stato lavorativo, risultati 9 dell'analisi possono essere falsati in quanto considera un mix di popolazione lavoratori maggiore di quello che esiste, e quindi potenzialmente uno ha delle differenze tra l’occupazione, salute relativa e profilo . Anche dopo la correzione di errore e la pulizia dei dati, alcune incompletezze e alcuni errori nei dati sono destinati a rimanere. Questa incompletezza e questi errori devono essere gestiti durante l'analisi dei dati. Fare questo correttamente è una sfida. B-2.b. La Scala Naturalmente, la prima cosa che chiunque pensa di Big Data è la sua dimensione. In ogni caso, la parola "grande" è lì nel nome stesso. Gestire grandi volumi di dati in rapida crescita è stata una sfida per molti decenni. In passato, questa sfida è stata mitigata da processori sempre più veloci, a seguito della Legge di Moore, di fornirci le risorse necessarie per far fronte a volumi crescenti di dati. Ma, vi è un cambiamento fondamentale: il volume di dati cresce più velocemente delle risorse di calcolo, e le Velocità delle CPU (Unità di Elaborazione Centrale ) sono statici. In primo luogo, negli ultimi cinque anni la tecnologia dei processori ha avuto un cambiamento drammatico - piuttosto che processori, raddoppiando la frequenza di clock ogni 18-24 mesi, ora, a causa di vincoli di potenza, le velocità di clock sono in gran parte in fase di stallo e i processori sono in fase di costruzione con un numero crescente di core. Nel passato, grandi sistemi di elaborazione dei dati hanno dovuto preoccuparsi di parallelismo tra i nodi di un cluster, ora, abbiamo a che fare con il parallelismo all'interno di un singolo nodo. Purtroppo, le tecniche di trattamento di dati parallèle che sono stati applicati in passato per il trattamento di dati attraverso i nodi non sono direttamente applicabili per intra-nodo parallelismo, poiché l'architettura sembra molto diversa, per esempio, ci sono molti altri hardware risorse come cache del processore e canali di memoria dei processori che sono condivise tra i diversi core in un singolo nodo. Inoltre, il passaggio verso packing multiple sockets (ciascuna con 10 secondi di core) aggiunge un altro livello di complessità per il parallelismo intra-nodo. Infine, con le previsioni di "silicio oscuro", vuol dire che probabilmente in futuro ci impedirano di utilizzare tutto l'hardware del sistema continuo, i sistemi di elaborazione di dati dovrano probabilmente gestire attivamente il consumo di potenza del processore. Questi cambiamenti senza precedenti ci impongono di ripensare al modo in cui progettare, costruire e gestire i dati e lavorare i componenti. Il secondo turno drammatico che è in corso è l'evoluzione verso il cloud computing, che ora aggrega più carichi di lavoro diversi con obiettivi di performance diversi (ad esempio i servizi interattivi della domanda e del trattamento dei dati del motore ritorna una risposta entro un limite di tempo fisso) in cluster molto grandi. Questo livello di condivisione delle risorse su cluster costose e grandi dimensioni richiede nuovi modi di determinare come girare ed eseguire lavori di elaborazione dei dati in modo da poter soddisfare gli obiettivi di ogni carico di lavoro conveniente, e di affrontare i fallimenti del sistema, che si verificano più 10 frequentemente quando operiamo nei cluster sempre più grandi (che sono necessari per far fronte alla rapida crescita dei volumi di dati). Questo pone un premio sugli approcci dichiarativi ai programmi che esprimono, anche quelli che fanno complesse macchine da compiti di apprendimento, in quanto l'ottimizzazione globale in tutti i programmi di più utenti è necessario per una buona prestazioni complessiva. Il ricorso al programama di ottimazzazione user-driven rischia di portare a un sotto utilizzo dei cluters, dal momento che gli utenti non sono a conoscenza di programmi di altri utenti. Un Sistemadriven di ottimizzazione globale richiede di essere sufficientemente trasparente, ad esempio, come in sistemi di database relazionale, dove linguaggi di interrogazione dichiarativi sono progettati con questa filosofia. Un terzo turno drammatica che è in corso è il cambiamento trasformativo del tradizionale sottosistema I/O. Per molti decenni, le unità disco fisso (HDD) sono stati utilizzati per memorizzare i dati persistenti. HDD, hanno prestazioni IO casuale che è piu lento delle prestazioni sequenziali IO, e motori di elaborazione di dati hanno formattato i loro dati e progettatoi metodi di lavorazione di query per "superare" questa limitazione. Ma,oggi, HDD sono sempre più spesso sostituiti da unità a stato solido e altre tecnologie come Phase Change Memory sono dietro l'angolo. Queste tecnologie di archiviazione più recenti non hanno la stessa diffusione di grandi dimensioni in prestazioni tra le prestazioni I / O sequenziale e casuale, che richiedeono un ripensamento del modo in cui progettiamo sottosistemi di storage per i sistemi di elaborazione dati. Le implicazioni di questo cambiamento di archiviazione subsystem tocca potenzialmente ogni aspetto del trattamento dei dati, tra cui algoritmi di elaborazione delle query, programmazione query, la progettazione di database, controllo della concorrenza dei metodi e metodi di recupero. B-2.c. La Tempestività L'altra faccia della dimensione è la velocità. Più grande è il set di dati da elaborare, più tempo ci vorrà per analizzare. La progettazione di un sistema che tratti efficacemente con dimensioni è suscettibile di provocare un sistema che può elaborare una data dimensione del set di dati più veloce. Tuttavia, non è solo questa velocità che di solito si intende quando uno parla di Velocità nel contesto di Big dati. Piuttosto, è una sfida di velocità di acquisizione come descritto nel paragrafo dell’acquisizione, e una sfida di tempestività descritta di seguito. Ci sono molte situazioni in cui si richiede il risultato dell'analisi immediatamente. Per esempio, se una transazione fraudolenta della carta di credito si sospetta, dovrebbe idealmente essere segnalato prima che la transazione sia completata , potenzialmente impedire che l’operazione avvenga. Ovviamente, un analisi completa della storia acquisto di un utente non è probabile che sia realizzabile in tempo reale. Piuttosto, abbiamo bisogno di sviluppare i risultati parziali in anticipo in modo che una piccola quantità di calcolo 11 incrementale con i nuovi dati possano essere usata per arrivare a una determinazione rapida. Dato un insieme di dati di grandi dimensioni, è spesso necessario trovare elementi in esso che soddisfino un criterio specificato. Nel corso di analisi dei dati, questo tipo di ricerca, è probabile che si verifichi ripetutamente. La scansione di tutti i dati impostato per trovare gli elementi giusti è ovviamente impraticabile. Piuttosto, strutture indice vengono creati in anticipo e consentono di trovare rapidamente elementi qualificanti. Il problema è che ogni struttura dell'indice è progettata per supportare solo alcune classi di criteri. Con nuove analisi desiderati con Big Data, ci sono nuovi tipi di criteri specificati, e la necessità di elaborare nuove strutture dell'indice per supportare tali criteri. Per esempio, prendere in considerazione un sistema di gestione del traffico con le informazioni che riguardano migliaia di veicoli e zone di trafico. Il sistema potrebbe essere necessario per prevedere punti di congestione potenziali lungo un percorso scelto da un utente, e suggerire alternative. In questo modo è necessario valutare più query spaziali di prossimità lavorando con le traiettorie di oggetti in movimento. Nuove strutture d’indici sono tenute a sostenere tale query. Progettazione di strutture di questo tipo diventa particolarmente difficile quando il volume di dati è in rapida crescita e le query hanno stretti limiti di tempo di risposta. B-2.d. La Privacy La riservatezza dei dati è un altro problema enorme, e uno che aumenta nel contesto del Big Data. Per le cartelle cliniche elettroniche, ci sono leggi severe che regolano ciò che può e non può essere fatto. Per altri dati, i regolamenti, in particolare negli Stati Uniti, sono meno forti. Tuttavia, vi è grande la paura del pubblico riguardo l'uso improprio dei dati personali, in particolare attraverso il collegamento di dati provenienti da fonti multipli. La gestione della privacy è effetivamente un problema sia per il tecnico che per il sociologico, che deve essere affrontato congiuntamente da entrambe le prospettive per realizzare la promessa di dati di grandi dimensioni. Si consideri, ad esempio, dati raccolti dai servizi di localizzazione. Queste nuove architetture richiedono a un utente di condividere la sua posizione con il fornitore di servizi, causando ovvi problemi di privacy. Si noti che nascondere l'identità dell'utente da sola, senza nascondere la sua posizione non sarebbe affrontare adeguatamente questi Problemi di privacy. Un utente malintenzionato o un location-based server può dedurre l'identità della fonte della query dalla (successiva) informazioni sulla posizione. Per esempio le informazioni di localizzazione di un utente possono essere monitorati attraverso una serie di punti di collegamento fissi (ad esempio, le torri cellulari). Dopo un po', l'utente lascia "una scia di briciole pacchetti" che potrebbero essere associati ad un certo periodo di permanenza o di ubicazione dell'ufficio e quindi usati per determinare l'identità dell'utente. Molti altri tipi di informazioni sorprendentemente private come ad esempio problemi di salute (ad esempio, la presenza in un centro di trattamento del 12 cancro) o preferenze religiose (ad esempio,presenza in una chiesa) può essere rivelato da solo osservando il movimento utenti anonimi e abitudini pattern nel tempo. Barabási et al, hanno dimostrato che in generale esiste una stretta correlazione tra le identità delle persone i loro schemi di movimento [Gon2008]. Si noti che nascondere la posizione dell’ utente è molto più critico che di nascondere la sua identità. Questo perché con servizi basati sulla posizione, la posizione del utente è necessario per un accesso ai dati di successo o di raccolta di dati, mentre l'identità dell'utente non è necessario. Ci sono molti altri problemi di ricerca complessi. Per esempio, non sappiamo ancora come condividere i dati privati, mentre limitare l'accesso e garantendo sufficiente utilità dei dati nei dati condivisi. Il paradigma attuale della privacy differenziale è un passo molto importante nella giusta direzione, ma riduce il contenuto d’informazione purtroppo troppo per essere utile in casi più pratici. Inoltre, i dati reali non sono statici, ma diventano più grandi e cambiano nel tempo, nessuna delle tecniche prevalenti risulta in qualsiasi tipo di contenuto utile di essere rilasciato in questo scenario. Ancora un'altra direzione molto importante è ripensare la sicurezza per la condivisione di informazioni in grandi casi di utilizzo dei dati. Molti servizi online oggi ci impongono di condividere informazioni private (si pensi applicazioni di Facebook), ma al di là , del livello di record, di controllo di accesso che facciamo non capiamo cosa significa condividere i dati, come i dati condivisi possono essere collegati, e come offrire agli utenti a grana fine il controllo su questa condivisione. B-2.e. La collaborazione umana Nonostante gli enormi progressi fatti in analisi computazionale, permangono molti modelli che gli esseri umani possono facilmente rilevare, ma gli algoritmi di computer hanno difficoltà a trovare. Infatti, i CAPTCHA sfruttano proprio questo fatto per rilevare utenti umani oltre a programmi per computer. Idealmente, le analisi per il Big data non saranno tutti computazionali - piuttosto sarà progettato esplicitamente per avere un essere umano nel loop. Il nuovo sub-campo di analisi visuale sta cercando di fare questo, almeno per quanto riguarda la fase di modellazione e di analisi in cantiere. C'è un valore simile a input umano in tutte le fasi di analisi nella pipeline. Nel mondo complesso di oggi, spesso ci vogliono più esperti di campi diversi per davvero capire cosa sta succedendo. Un grande sistema di analisi dei dati deve supportare input da più esperti umani, e l'esplorazione in comune dei risultati. Questi esperti multipli possono essere separati nello spazio e nel tempo quando è troppo costoso per assemblare un intero team insieme in una stanza. Il sistema di dati deve accettare questo ingresso distribuito di esperti, e sostenere la loro collaborazione. Un nuovo metodo popolare di ingegno umano sfruttato per risolvere i problemi è attraverso crowdsourcing. Wikipedia, l'enciclopedia online, è forse l'esempio più noto di folla di origine dati. Facciamo 13 affidamento su informazioni fornite da sconosciuti unvetted. Il più delle volte, ciò che dicono è corretto. Tuttavia, dovremmo aspettarci che ci sia persone che hanno altre motivazioni e abilità, alcuni possono avere una ragione per fornire false informazioni nel tentativo intenzionale di ingannare. Mentre la maggior parte di tali errori vengono individuati e corretti da altri in mezzo alla folla, abbiamo bisogno di tecnologie volte a facilitare questo. Abbiamo anche bisogno di un quadro di riferimento da utilizzare per l'analisi di tali dati di diverse provenienze con delle dichiarazioni conflittuali. Come esseri umani, siamo in grado di guardare le recensioni di un ristorante, alcuni dei quali sono positivi e altri critiche, e venire con una valutazione sintetica in base alla quale siamo in grado di decidere se provare a mangiare lì o meno. Abbiamo bisogno di computer capaci di fare l'equivalente. I problemi d’incertezza e di errore diventano ancora più evidente in un tipo specifico di crowd-sourcing, intitulato partecipatory-sensing. In questo caso, ogni persona con un telefono cellulare può agire come un multi-modale sensore raccogliendo vari tipi di dati istantaneamente (ad esempio, foto, video, audio, luogo, tempo, velocità, direzione, accelerazione). La grande sfida in questo caso è l'incertezza intrinseca dei dispositivi di raccolta dei dati. Il fatto che i dati raccolti siano probabilmente correlati spazialmente e temporalmente può essere sfruttato per valutare meglio la loro correttezza. Quando dati di provenienza diverse si ottengono per il noleggio, come nel caso di "turchi Meccanica", gran parte dei dati creati possono essere con un obiettivo primario di fare in fretta, piuttosto che correttamente. Questo è un altro errore di modello, che deve essere pianificato in modo esplicito quando si applica. C - Tecnologie per i big data Le maggiori iniziative open source in campo big data pubblicato dal magazine networkwold, ovvero quegli strumenti informatici che consentono di gestire e manipolare set di dati di dimensioni tali che i database tradizionali non possono più essere utilizzati. I Big Data stanno guadagnando sempre più terreno dopo la strada delineata da MapReduce e Hadoop, e l’open source è il contesto chiave in cui si sviluppano. Scorriamo la lista delle nove tecnologie in campo: 1- In apertura incontriamo ovviamente Apache Hadoop. Si tratta di un framework open source per applicazioni distribuite data-intensive, creato inizialmente da Doug Cutting per supportare il suo lavoro su Nutch, un motore di ricerca web open source. Per soddisfare i requisiti di elaborazione multimacchina di Nutch, Cutting implementò un’applicazione di MapReduce e un file system distribuito, che uniti insieme formarono Hadoop. Hadoop distribuisce i Big Data in pezzi lungo una serie di nodi eseguiti su commodity hardware. Hadoop è ora tra le tecnologie più popolari per 14 l’archiviazione di dati strutturati, semi-strutturati e non strutturati. Hadoop è rilasciato sotto licenza Apache 2.0. 2- R è un linguaggio di programmazione open source e un ambiente software progettato per il calcolo statistico e per la visualizzazione. R è stato progettato da Ross Ihaka e Robert Gentleman all’università di Auckland, in Nuova Zelanda nel 1993, e sta diventando rapidamente lo strumento principe per l’analisi statistica di immensi data set. E’ stato commercializzato da una compagnia dal nome Revolution Analytics, ed è disponibile sotto licenza GNU General Public. 3- Cascading permette agli utenti di creare ed eseguire workflow di elaborazione dati su cluster Hadoop usando un qualsiasi linguaggio basato su JVM. Il suo obiettivo è nascondere la complessità presente all’interno dei lavori in MapReduce. Cascading è stato concepito da Chris Wensel come una API alternativa a MapReduce. E’ spesso usato per ad targeting, analisi dei file di log, bioinformatica, machine learning, analisi predittiva e applicazioni ETL. Il supporto commerciale pper Cascading è offerto da Concurrent, una compagnia fondata da Wensel dopo aver sviluppato Cascading. Tra le compagnie che usano Cascading ci sono Twitter ed Etsy. Cascading è disponibile sotto licenza GNU General Public. 4- Scribe è un server sviluppato da Facebook e rilasciato nel 2008. Il suo ruolo è quello di aggregare dati di log inviati in tempo reale da un grande numero di server. Facebook l’ha progettato per soddisfare i suoi stringenti requisiti di scalabilità, e ora lo usa per gestire decine di miliardi di messaggi al giorno. Scribe è disponibile sotto Licenza Apache 2.0. 5- ElasticSearch Sviluppato da Shay Banon e basato su Apache Lucene, è un server di ricerca open source, distribuito e RESTful. Si tratta di una soluzione scalabile che supporta ricerca quasi in tempo reale e multitenancy senza una configurazione particolare. E’stato adottato da un buon numero di compagnie, incluse StumbleUpon e Mozilla. ElasticSearch è disponibile sotto Licenza Apache 2.0. 6- Apache Hbase , Scritto in java è un database non relazionale distribuito, progettato per essere eseguito su Hadoop Distributed Filesystem (HDFS). Fornisce storage fault-tolerant e accesso rapido a grandi quantità di dati sparsi. Hbase è uno dei data stores multinodo di NoSQL ad essere usciti negli scorsi anni. Nel 2010 Facebook ha adottato Hbase per servire la sua piattaforma di messaggi. 7- Apache Cassandra è un sistema di gestione di database distribuito sviluppato da Facebook per potenziare il la sua funzionalità Inbox Search. Nonostante Facebook l’abbia abbandonato per 15 adottare Hbase nel 2010, Cassandra anche molto usato da varie compagnie, inclusa Netflix, che usa Cassandra come database backend per i suoi servizi di streaming. Cassandra è disponibile sotto licenza Apache 2.0. 8- MongoDB Creato dai fondatori di DoubleClick, è un altro data store popolare open source NoSQL. Memorizza dati strutturati di documenti JSON con schemi dinamici chiamati BSON (per JSON binari). MongoDB è stato adottato da diverse grandi compagnie, inclusa MTV Netoworks, craiglist, Disney Interactive Media Group, The New York Times ed Etsy. E’ disponibile sotto licenza GNU Affero General Public, con driver di linguaggio disponibili sotto licenza Apache. La compagnia 10gen offre licenze commerciali per MongoDB. 9- Apache CouchDB è un altro database NoSQL open source. Usa JSON per archiviare dati, JavaScript come linguaggio di query e MapReduce e HTTP come API. CouchDB è stato creato nel 2005 dallo sviluppatore di IBM Lotus Notes Damien Katz, come sistema di storage per database a oggetti a larga scalabilità. La BBC usa CouchDB per le suee piattaforme dinamiche di contenuti, mentre Credit Suisse lo usa per archiviare i dettagli di configurazione per il suo framework di dati di mercato in Python. CouchDB è disponibile sotto licenza Apache 2.0 Fra le tecnologie precitate verra analizzato in detaglio Apache Hadoop C-1. Origine A partire degli anni 2000, Google iniziava ad affrontare una sfida seria. La sua missione, di organizzare le informazioni a livello mondiale, significa che stava strisciando, la copia e l'indicizzazione dell'intera Internet continuamente. Poiché il numero e le dimensioni dei siti web è cresciuto e il servizio Google è diventato ancora più popolare, la società è stata costretta a digerire un corpus sempre maggiore e più rapidamente. Nessun software disponibile in commercio era in grado di gestire il volume di dati da elaborare, e presto, le infrastrutture di google stavano per ragiungere i loro limiti. Gli ingegneri di Google hanno progettato e costruito un’infrastruttura di elaborazione per risolvere questo problema. I due servizi chiave di questo sistema erano la GoogleFile System, o GFS, che ha fornito un fault-tolerant, un’archiviazione affidabile e scalabile, e MapReduce, la scheda di elaborazione di dati, che permette di dividere il lavoro in un gran numero di server e di essere effettuato in parallelo.GFS e MapReduce sono stati progettati all’inizio per essere eseguiti sul server hardware commoditydi Google. Nel 2004, Google ha pubblicato un documento accademico Descrivendo il suo lavoro. Poco prima, un noto sviluppatore di software open source di nome Doug Cutting che aveva svilupato La prima versione di Nutch, 16 nel 2002, aveva però problemi di scalabilità, cioè il crawler e il generatore d’indici funzionassero bene per piccole quantità di dati, ma non riuscivano a gestire i dati relativi all'intera struttura del web.allora decise di utilizzare la tecnica descritta. Avendo gli stessi problemi con i volumi di dati, indicizzazione e velocità che avevano spinto Google a sviluppare MapReduce. Ha sostituito la raccolta dei dati e l’elaborazione dell’infrastruttura dietro il crawler, basando la sua nuova implementazione su MapReduce. Ha chiamato il nuovo sistema Hadoop, da un giocattolo farcito elefante che apparteneva al suo figlio. Gli ingegneri di Yahoo! un concorrente diretto di Google hanno appreciato il lavoro di cutting. E hanno Deciso di utilizzare il sistema per l'elaborazione dei dati propri. Yahoo! ha deciso di investire nello sviluppo di Hadoop. I Leaders di Yahoo! compreso cutting hanno preso una decisione strategica: Hadoop sarà un progetto open source, da scaricare gratuitamente e usare, ma aperto anche alla valorizzazione, il miglioramento, e il contributo di un gran numero di svilupatori talentuosi. Entro 2006, Hadoop era usato in produzione dalle società di web stabiliti ed emergenti. Hadoop è un progetto open source e opera sottogli auspici della Fondazione Apache Software oggi. C-2. Oltre L’ Internet Cloudera è stata fondata nel 2008 per commercializzare Apache Hadoop, con la consapevolezza di tre tendenze principali che stanno cambiando il modo in cui tutta l’impresa immagazzina e utilizza i dati. Questi cambiamenti sono eseguiti prima dal consumatore Prioritario di Internet, ma anche da imprese di grandi dimensioni a fini commerciali, e altre applicazioni per la difesa, e l'intelligence pure. In primo luogo, i data center sono costruiti oggi in modo diverso rispetto a come erano una decina di anni fa. Invece di un grand server centralizzato per eseguire le applicazioni, le organizzazioni acquistano generalmente e distribuiscono una collezione di server in rack montabile. Ciascuno ha diversi processori e pochi terabyte di disco locale. Le vecchie applicazioni che assumono un ruolo di hardware centrale per distribuire tutto, funzionano male in questo ambito . Le moderne applicazioni come Hadoop sono costruiti apposto per farcela. In secondo luogo, la varietà e la complessità dei dati disponibili stanno esplodendo. I semplici dati strutturati gestiti dai legacy relational database management system (RDBMS) offerti esistono ancora, ma sono generalmente sminuito dal volume di log, testo, immagini, video, audio. le letture del sensore di uscita, modelli scientifici, e altri tipi di dati complessi in streaming in data center oggi. Questa differenza è sia qualitativa che quantitativa. Dati complessi non possono essere facilmente utilizzati in riga e colonna di sistemi di database orientati. Ancora più importante, è che le informazioni di questo tipo sono pesanti, e la velocità con cui si viene generato è in cresita. Nuove fonti provenienti online per applicazioni di difesa e di intelligence contribuirano a guidare questa crescita.Infine, nuove tecniche di trattamento dei dati devono essere applicate per estrarre il valore rinchiuso in questi dati. 17 Ognuno dei tipi di dati individuati nella lista - audio, video o immagini, per esempio - usa algoritmi sintonizzando sia i dati e le domande che possono otenere risposta da esso. Un elemento chiave tra le prime società di web era che la combinazione di questi dati, web log, che metono record di attività dell’utente, accanto al testo libero di messaggi di aggiornamento di stato,per esempio , fornire spunti che né dataset offre da sola. Una piattaforma di calcolo che permette agli analisti di combinare i dati strutturati e complessi, e per costruire l'elaborazione e le applicazioni analitiche in fonti di dati, è un progresso drammatico nella gestione delle informazioni. Queste tre tendenze: un passaggio alla scalabilità e all’elasticità informatica delle infrastrutture; un'esplosione nella complessità e la varietà dei dati disponibili, il potere e il valore che provengono dalla combinazione di dati diversi per un’analisi completa, fanno di Hadoop una nuova piattaforma critica di data-driven interprises. Cloudera vede queste tendenze giocando fuori tra i suoi clienti e la comunità globale di utenti Hadoop. C-3. Che cos’è hadoop ? Come il sistema di Google, MapReduce in cui è stato base, Hadoop è costituito da due componenti principali: un file di archivio e un sistema di elaborazione distribuita (HDFS). C-3.1. Hadoop Distributed File System(HDFS) 18 Il file di archivio è chiamato Hadoop Distributed file System, o HDFS. HDFS offre un fault-tolerant scalabile a basso costo. Il software HDFS rileva e compensa i problemi di hardware, compresi i problemi del disco e guasti del server.HDFS memorizza i file attraverso un insieme di server in un cluster. I file vengono scomposti in blocchi, e ogni blocco viene scritto in più di uno (il numero è configurabile, ma tre è comune) server Questa replica fornisce sia tolleranza agli errori (la perdita di un singolo disco o di un server non rovinera un file) e prestazioni (qualsiasi dato blocco può essere letto da uno dei diversi server, migliorando il canale di communicazione del sistema).HDFS assicura la disponibilità dei dati di continuo monitoraggio dei server di un cluster ed i blocchi che essi gestiscono. Blocchi individuali includono checksum (somma di controllo). Quando un blocco è letto, il checksum viene verificato, e se il blocco è stato danneggiato verrà ripristinato da una delle sue repliche. Se un server o un disco fallisce, tutti i dati in esso memorizzati vengono replicati a qualche altro nodo o nodi nel cluster, dalla collezione di repliche. Come risultato, HDFS gira molto bene sui commodity hardware. Tollera, e compensa,i fallimenti del cluster.Come cluster di grandi dimensioni, anche fault-tolerant server molto costosi sono destinate a fallire, HDFS è pronto per affrontare il fallimento, le organizzazioni possono spendere meno sui server e lasciare che il software compensi i problemi di hardware. 19 C-3.2. MapReduce HDFS offre una memorizzazione dei file poca costosa, affidabile e disponibile. Tale servizio da sola, però, non sarebbe sufficiente per creare il livello di interesse, o di guidare il tasso di adozione, che caratterizza Hadoop questi ultimi anni. La seconda componente principale di Hadoop è il sistema di elaborazione parallela di dati chiamato MapReduce. Concettualmente, MapReduce è semplice.MapReduce include un componente software chiamato “The job scheduler” (il processo di pianificazione). Il lavoro di pianificazione è responsabile per la scelta dei server che eseguono il lavoro di ogni utente, e per l'esecuzione dei lavori di programmazione per utenti multipli in un cluster condiviso. Il lavoro di pianificazione consulta il NameNode per la posizione di tutti i blocchi che compongono il file o i file richiesti da un processo. ciascuno di tali server è incaricato di eseguire l'analisi del codice dell'utente contro il suo blocco locale o i blocchi. l’infrastruttura di elaborazione MapReduce comprende un'astrazione chiamato input split( scissione ingresso) che permette ad ogni blocco di essere suddiviso in singoli record. C'è una elaborazione speciale costruito per riassemblare record interrotti dai confini di blocco.Il codice che implementa un job map può essere praticamente qualsiasi cosa. MapReduce consente agli sviluppatori per scrivere e distribuire il codice che viene eseguito direttamente su ogni DataNode del server nel cluster. Tale codice comprende il formato dei dati memorizzati in ciascun blocco nel file, ed è in grado di implementare semplici algoritmi (contare il numero di occorrenza di una parola, 20 per esempio) o quelli più complessi (ad esempio, il linguaggio naturale di elaborazione, l'individuazione del modello e l'apprendimento automatico,funzione di estrazione, o il riconoscimento del volto). Al termine della fase di job map, i risultati sono raccolti e filtrati da un riduttore. MapReduce garantisce che i dati siano consegnati al riduttore di manièra ordinata, quindi all'uscita da tutti i mapper i dati vengono raccolti e fatti passare attraverso un processo di riordino e di ordinamento. I’output ordinato viene quindi fatto passare al riduttore per elaborazione. I risultati sono in genere ritornati al HDFS. A causa della replica costruita in HDFS, MapReduce è in grado di fornire alcune altre caratteristiche utili. Per esempio, se uno dei server coinvolti in un MapReduce processo esecute lentamente , vuole dire che la maggior parte dei suoi nodi sono saturati, ma si sta ancora lavorando , il programma di pianificazione del lavoro può avviare un altro esempio di questo compito particolare su uno dei altri server del cluster che contiene la questione del blocco dei file. Ciò significa che il sovraccarico o in mancanza di nodi in un cluster non deve fermare, o addirittura rallentare notevolmente il lavoro di un MapReduce. C.3-2.a. Caratteristiche di MapReduce È importante capire le proprietà che caratterizzano l’ottimo lavoro di MapReduce. In primo luogo, gli algoritmi devono funzionare bene sul sharednothing, infrastruttura distribuita di Hadoop. Se un processo di elaborazione deve comunicare ampiamente tra i server del cluster, MapReduce è spesso un piattaforma ineficiente. Almeno nella fase di mappatura di qualsiasi lavoro, i migliori algoritmi sono in grado di esaminare solo un record, o un numero limitato di record adiacenti memorizzati sul DataNode stesso, per calcolare un risultato. I problemi che caratterizzano generalmente la firma delle prestazioni di ricerca in informatica questi ultimi decenni sono la previsioni del tempo o la modellazione di esplosioni nucleari, per esempio richiedono particolari intra-nodo di comunicazione. Questi traducono male a MapReduce. Detto questo, MapReduce è concettualmente un sistema di elaborazione in parallelo,molto piu semplice rispetto ai vecchi sistemi HPC. Gli Algoritmi esistenti, modificati in qualche modo di lavorare su dati memorizzati su HDFS, spesso girano molto bene. MapReduce è in grado di eseguire codice Java, ma anche di usare software scritte in altre linguaggi, tra cui linguaggi di alto livello come C o C + + e linguaggi di scripting come PHP, Python e Perl. Parlando praticamente, un numero sorprendentemente elevato di algoritmi possono essere espressi in unità di lavoro MapReduce. MapReduce eccelle anche nella lavorazione completa. Se un algoritmo deve esaminare ogni singolo record in un file al fine di calcolare un risultato, MapReduce è un scelta eccellente. Le unità di lavoro girano in parallelo su dei DataNodes in un cluster. Il numero di DataNodes in un cluster è direttamente proporzionale alla quantità di dati che clusterin grado di memorizzare. Come risultato, la dimensione di un set di dati influisce l’esecuzione di un lavoro MapReduce molto inferioremente che la complessità dell'algoritmo che implementa. MapReduce è generalmente utilizzato per l'elaborazione batch, non per i tipi di lavori 21 interattivi che caratterizzano molti applicazioni eseistenti di business intelligence. Il vantaggio chiave di MapReduce è che è in grado di elaborare, letteralmente, petabyte di dati in tempo ragionevole per rispondere a una domanda. C-4 Perché Hadoop? Le grandi proprietari del web hanno inventato MapReduce e costruito Hadoop, perché avevano un problema di dati che nessun sistema commerciale o di ricerca era in grado di risolvere. La piattaforma è ora utilizzato per sostenere un enorme varietà di applicazioni. Queste applicazioni non sono necessariamente caratterizzati da enormi set di dati. Al contrario, hanno bisogno dei tre proprietà chiave che Hadoop offre. In primo luogo, Hadoop è , un consolidato piattaforma di archiviazione per tutti i tipi di dati. Naturalmente ci sono file eccezionali e prodotti di storage relazionali disponibili sul mercato, e quei sistemi resterano in uso ancora per gli anni a venire, per risolvere esattamente i problemi per i quali sono stati progettati. Hadoop le completa, offrendo un nuovo repository dove i dati strutturati e dati complessi possono essere facilmente combinate. In secondo luogo, a causa delle economie di shared-nothing commodity server e software open source, Hadoop prevede enormemente più stoccaggio ad un costo molto inferiore a quello dei legacy system Fault-tolerant, reliable storage in HDFS costa solo poche centinaia di dollari al terabyte oggi, e cavalca la curva inevitabile al ribasso dei prezzi come fornitori di server e storage per migliorare le prestazioni e ridurre i costi. Terzo, e infine, MapReduce sfrutta la distributed storage architecture di HDFS per fornire servizi scalabili e affidabili di elaborazione parallela per algoritmi arbitrari. Gli utenti non sono limitati ad un piccolo insieme di algoritmi consegnato da un RDBMS o altri fornitori. In Hadoop, il sistema di storage è programmabile. Gli utenti in grado di analizzare i dati utilizzando processori collegati direttamente ai dischi in cui risiede. Questa combinazione, il consolidamento di tutti i tipi di dati su una piattaforma di storage affidabile a costo basso che offre una veloce esecuzione parallela di algoritmi analitici potenti è nuova . Hadoop offre modi di data-driven organizazion per di sfruttare i dati che non hanno mai avuto prima. MapReduce e Hadoop sono stati creati quando Google e Yahoo! Intrapresero risolvere un problema di ordine ingegneristico alle loro imprese:” la costruzione di un indice di più di un miliardo di pagine web”. La tecnologia a questo punto è ad una prova inaprezzabile. Ma ha rilevato tante sfide in altre aree inaspettate, come il miglioramento di layout di pagina, selezione pubblicità, il controllo ortografico, map rendering, e così via. Un generico strumento che consente l’analisi di tutti i dati permettendo nuove analisi che erano in precedenza non possibile o anche immaginabili. Dare a tutti gli sviluppatori un accesso facile e potente per tutti i dati creati 22 e tanti miglioramenti aziendali. Altri dati in sé e per sé generano informazioni di qualità superiore. Se una persona può accedere ai modelli di dati, emerge che non sono evidenti con meno dati. In un mondo in cui le informazioni separa i vincitori dai perdenti, organizzazioni di successo si distingueranno dal modo in cui lavorarno con i dati. In seguito verrà riposto ad una serie di domande su hadoop che possa soddisfare la curiosità di quelli che si interessano ad hadoop. C-5. Hadoop sostituisce i database e gli altri sistemi esistenti ? La risposta è No. Hadoop non è un database né bisogno di sostituire i sistemi di dati esistenti che uno possona avere. Hadoop è uno storage altamente scalabile e sistema di elaborazione di lotti di dati. Esso fornisce un tessuto integrato di conservazione e il trattamento in grado di scalare orizzontalmente con hardware di largo consumo e fornisce la tolleranza d'errore attraverso il software. Piuttosto che sostituire i sistemi esistenti, Hadoop li aumenta scaricando il problema particolarmente difficile di ingerimento simultaneo, trattando e distribuendo/ esportando grandi quantità di dati in modo che i sistemi esistenti 23 possano concentrarsi su ciò che sono stati progettati per fare. Se tale da fornire i dati in tempo reale o transazionali o fornire informazioni interattivo di business. Inoltre, Hadoop è in grado di assorbire qualsiasi tipo di dati, strutturati e non, da un qualsiasi numero di sorgenti. I dati provenienti da fonti diverse possono essere uniti ed aggregati in modo arbitrario che consentono analisi più approfondite che ogni altro sistema in grado di fornire. Infine, questi risultati possono essere inviati a qualsiasi sistema aziendale esistente per un ulteriore uso indipendente di Hadoop. Ad esempio, si consideri un RDBMS utilizzato per servire in tempo reale di dati e garantire la coerenza delle transazioni. Chiedere allo stesso database di generare rapporti analitici complessi oltre a grandi volumi di dati è una prestazione intensiva e gli toglie la sua capacità di fare ciò che fa bene. Hadoop è progettato per archiviare grandi volumi di dati e fornire i dati ovunque siano necessari. Da una Regola e esportazione di dati da un RDBMS, è possibile ottimizzare il database per il suo carico di lavoro interattivo utilizzando Hadoop per condurre analisi arbitrariamente complesso in linea senza impattare i sistemi real-time. C-6. Come i sistemi esistenti interagiscono con hadoop ? Hadoop serve spesso come un lavello per molte fonti di dati, in quanto Hadoop consente di memorizzare i dati in modo efficace e usa questi dati in modo arbitrario in un secondo momento. Poiché Hadoop non mantiene gli indici o rapporti, non è necessario decidere come si desidera analizzare i dati in anticipo. Diamo un'occhiata a come diversi sistemi ottengono i dati in Hadoop. Database: Hadoop ha il supporto nativo per l'estrazione di dati su JDBC(Java DataBase Connectivity). Molti database hanno anche bulk dump / funzionalità di carico. In entrambi i casi, a seconda del tipo di dati, è facile scaricare il database intero su Hadoop su base regolare, o semplicemente esportare gli aggiornamenti dopo l'ultimo dump. Spesso, ci si accorge che discaricando dati su Hadoop regolarmente, è possibile memorizzare meno dati nei sistemi interattivi e si può ridurre i costi di licenza per il futuro. Log Generators: molti sistemi, dai server web ai sensori, generano log dei dati e alcuni lo fanno a prezzi sorprendenti. Questi record di log hanno spesso una natura semi-strutturata e cambiano nel tempo. è spesso difficile analizzare questi registri perché non si "adattano" bene in database relazionali e richiedono troppo tempo per elaborare su una singola macchina. Hadoop rende il lavoro facile, per un numero qualsiasi di sistemi ,per lo streaming affidabile, per qualsiasi volume di registri in un repository centrale per una successiva analisi. Si vedono spesso utenti scaricare i log di ogni giorno in una nuova cartella in modo da poter facilmente eseguire l'analisi su un qualsiasi periodo di tempo arbitrario del valore di log. Materiale scientifico: Come la tecnologia del sensore migliora, vediamo molti strumenti scientifici che vanno dai sistemi di imagery (medici, satellite, ecc) per sequenziatori di DNA per rivelatori fisica delle alte energie, la generazione di dati ad una velocità che superano di gran lunga sia la velocità di scrittura e la 24 capacità di un singolo disco. Questi sistemi possono scrivere i dati direttamente a Hadoop e siccome la velocità di generazione dei dati e le elaborazioni richieste aumentano, si può risolvere la facenda semplicemente aggiungendo componenti hardware in più al cluster Hadoop. Hadoop è agnostico a quale tipo di dati si memorizza. rompe i dati in parti gestibili, le replica, e distribuisce copie in tutti i nodi del cluster in modo da poter elaborare i dati in modo rapido e affidabile in seguito. È ora possibile condurre analisi che consuma tutti i vostri dati. Tali aggregati, riassunti e le relazioni possono essere esportate in qualsiasi altro sistema con i file raw, JDBC, o connettori personalizzati. C-7. Come possono gli utenti all'interno di un'organizzazione interagire con Hadoop? Una delle cose interessanti su Hadoop è che espone grandi quantità di dati in un insieme diversificato di utenti all'interno dell'organizzazione. Crea e guida una cultura di dati, che a sua volta consente ai singoli a tutti i livelli per prendere decisioni di business migliori. Quando un DBA progetta e ottimizza una banca dati, che considera molti fattori. Prima di tutto è la struttura dei dati, poi, i modelli di accesso per i dati e le visualizzazioni e i rapporti necessari dei dati. Queste prime decisioni limitano i tipi di query ai quali il database è in grado di rispondere in modo efficiente. Dato che gli utenti aziendali richiedono piu visibilità sui dati, diventa una lotta costante per mantenere le prestazioni e fornire nuovi report in modo tempestivo. Hadoop consente a un amministratore di database di ottimizzare il database per il suo carico di lavoro primario, e regolarmente esportare i dati per le analisi. Una volta che i dati precedentemente bloccati in sistemi di database sono disponibili per una facile l'elaborazione , i programmatori li possono trasformare in un qualsiasi numero di modi. Essi possono creare query più espressivi e generare più dati , un CPU(Central Processing Unit) segnala ad alta intensità senza alcun impatto le prestazioni del database di produzione. Possono costruire pipelines che sfruttano i dati provenienti da molte fonti per i processi di ricerca, Per lo sviluppo e il business. Ci sono delle formazioni online per aiutare i programmatori a ad interagire con Hadoop. Ma lavorare a stretto contatto con i dati non si ferma agli amministratori di database e programmatori. Fornendo semplici interfacce di alto livello, Hadoop consente agli utenti meno tecnici per chiedere rapidamente, ad-hoc domande su tutti i dati in azienda. Questo permette a tutti, da responsabili di prodotto, agli analisti, ai dirigenti di partecipare, e guidare una cultura incentrata sui dati. 25 C-8 . Come faccio a capire e prevedere i costi di gestione Hadoop? Una delle cose belle di Hadoop è che comprendere i costi in anticipo è relativamente semplice. Hadoop è un software gratuito e funziona su hardware commodity, che include fornitori di cloud come Amazon. È stato dimostrato per scalare oltre decine di petabyte (PB). Ancora più importante, lo fa con prestazioni e costo lineari . Armati con la dimensione iniziale dei dati, il tasso di crescita di tali dati, e il costo per TB utilizzabili, si dovrebbe essere in grado di stimare il costo del cluster Hadoop. Si Potra anche sostenere i costi operativi, ma, perché il software è comune a tutte le macchine, e richiede poco per-macchina messa a punto, la bilancia dei costi operativi sub-lineare. D - Le applicazioni Le applicazioni verano esposte in 2 grandi parti ,le applicazioni analitiche e le applicazioni relative a certi settori. D-1. Le applicazioni analitiche D-1.a Le applicazioni basate su attribuzioni Le applicazioni basate su attibuzioni mirano ad attirbuire “credito ”per un particolare evento a una serie di attività o transazioni in un processo complesso e a piu fasi .Queste applicazioni devono recuperare, allineare e analizzare le serie di attività,prendendo in considerazione fattori quali frequenza, sequenza,attualità, soglie e perdità di efficacia nel tempo trascorso tra le attività al fine di accreditare un valore a sciacuna attività. ecco alcuni esempi basate su attribuzioni: - applicazioni per l’efficaccia del marketing multicanale,grazie alle qualigli esperti del settore tentano di attribuire credito per una vendità su canali di marketing. Si tratta di un aspetto particolarmente rilevante rispetto a vari annunci pubblicitari visualizzati,siti web e ricerche tramite parole chiave. - Applicazioni di attribuzione relative ai partner ,grazie alle quali le società commerciali tentano di quantificare il contributo dei vari partner in transazioni aziendali complesse e a piu fasi. - Applicazioni di attribuzione relative al trattamento medico, grazie alle quali le organizzazioni di assistenzasanitarie tentano di valutare l’incidenza di varie cure e medecinali sull’esito della terapia 26 D-1.b le applicazioni basate su suggerimenti Le applicazioni basate su suggerimenti individuano e generano serie di utenti e prodotti simili in base a comportamenti,dati demografici oaltri attributi percepibili.le applicazioni analizzano le transazioni associate a questi set per generare tendenze che quantificano la forza delle relazioni tra gli utenti e i respettivi comportamenti e preferenze. A partire dalle tendenze rilevate,le applicazioni riescono a fornire suggerimenti su prodotti(come nel caso Amazon e netfix) o persone (come accade con linkedln e facebook).alcuni esempi di aplicazioni basate su suggerimenti: -applicazioni per l’individuazione di pubblicità mirateai clienti che suggeriscono segmenti di audience di riferimento “simili” in base a comportamenti e prodotti acquistati in passato(ad esempio campagne efficaci nel caso delle “mamme omnipresenti” hanno un’alta probabilità di andare a segno con le ”nuove nonne”) -applicazioni per suggerimento sui prodotti che consigliano prodotti complementari sulla base degli acquistati effettuati da utenti simili in un determinato periodo di tempo (ad esempio è probabile che chi ha acquistato una nuova casa in una certa zona comprerà anche una nuova lavasciuga entro tre mesi dall’acquisto della casa). d-1.c APPLICAZIONI BASATE SU PREDIZIONE E PREVISIONE Le aplicazioni basate su predizioni e previsione acquiscono un’ampia gammadi variabili, metrique e dimensioni,a supportodei processi decisionali in svariati scenari di mercato.queste applicazioni utlizzano al meglio le tecniche statistiche e di date mining per estrarre dalla moltitudine di variabili solo le variabili(o combinazioni di variabili)piu efficaci per prevedere le prestazioni in particolari situazioni.Considerato l’orrizonte temporale di alcune di queste decisioni (come quelle sui prezzi);l’accesso ai dati a bassa latenza e le funzionalità di analisi interne ai database sono essenziali per il successo - Le applicazioni predittive avanzate integrano valutazioni su rischi e dati sensibili,affinchè i responsabili delle decisioni possano determinare le variabili più impotantinel processo decisionale.Ad esmpiose si ritiene che una certa variabile sia cruciale per una decisione, è possibile investire maggiore rissorse per assicurarsi che tale variabile venga valutata in modo preciso e completo .alcuni esempi di applicazioni basate su predizione e/o previsione : - -applicazione per il calcolo del tasso di abbandono dei clienti che prevedono la possibilità di contrasti con questi ultimi in base a fattori come attività di utlizzo,richieste di supporto,andamento dei pagamenti e influenza sociale degli amici. - -Applicazione per la manutenzione dei prodotti che prevedono guasti delle apparecchiature in base a informazioni sull’utilizzo dei prodotti (in particolare le informazioni attualmente fornite dai dispositivi dati 27 integrati), record degli interventi di manutenzione e informazione generali sulle prestrazioni. -Applicazioni relative alle prestazionei degli dipendenti che prevedono le prestazoni di un potenziale collaboratore in base a fattori quali formazione,posizione socio-economica,ruoli professionali precedenti,stato civile e determinate risposte psico-comportamentali - -Applicazioni relative alle prestazioni degli studi clinici che modellano i risultati di vari edecinali in base alla sperimentazione clinica,consentendo ad un’azienda di comprendere l’efficaccia di determinate terapie ed evitare conseguenze catastrofiche in caso di utilizzo di particolari farmaci.cio assume un’importanza ancora maggiore quando si tenta di attribuire i risultati per piu trattamenti e medicinali - Applicazione per la gestione del rendimento ,del ribasso dei prezzi e del mercandising eper l’ottimizzazione dei prezzi, in grado di creare modelli dipendenti dal tempo utilizzati dai responsabili delle decisioniper comprendere come e quando aumentare o ridurre i prezzi tenendo conto delle condizioni attuali della domanda e dell’offerta.questi tipi di applicazioni sono particolarmente comuni nel caso dei prodotti di base (quali merci deperibili, biglietti aerei, camere di alberghi,capi di abbigliamento e biglitto per eventi sportivi),il cui valore si azzera in un determinato momento. D-1.d APPLICAZIONI BASATE SU APPROFONDIMENTI Le applicazioni basate su approfondimenti fanno leva su tecniche statistiche e data mining per identificare situazioni o comportamenti ”insoliti”. Le applicazioni avanzate basate su approfondimentisono in grado di eseguire analisi complesse in un’intervallo variabile da centinaia a magliaia di dimensioni di busness.la crescente importanza di queste applicazioni è legata al volume in continuo aumento dei dati dettagliati provenienti da fonti quali clic nelle pafine web, sensori RFID a appliance in rete.Alcuniesempi di applicazioni basate su approfondimenti : - Applicazioni relattive alla riduzione e alla distribuzionedei prodotti che monitorano costantemente sensori e dati RFID per individuare discrepanze tra la posizione del prodotto ipotetica e reale. - Applicazioni contro le frodi che monitorano costantamente le transazioni finanziarie per individuare comportamenti “insoliti” che possono essere indice di attività frodulente.Applicazioni di questotiporisultano utili per le carte di credito, i conti correnti e le richieste assicurative e di assistenza medica. 28 - Applicazioni antiriciclaggio che monitorano costantemente il flusso di contante per individuare comportamenti “insoliti” associati a potenziali attività di riciclaggio, ad esempio un numero eccessivo di transazioni di scarso valore realizzate in contanti. D-1.e APPLICAZIONI BASATE SU BENCHMARK Le applicazioni basate su benchmark utilizzano al meglio l’analitica che confronta le prestazioni di un’entità rispetto a una baseline.la baseline di confronto può essere uno standard di settore,un periodo ou un evento precedente (ad esempio una campagna di marketing). Ecco alcuni esempi di applicazioni basate su benchmark: - Applicazioni relative alle quote di mercato che forniscono dati su quote di mercato e portafoglio. Ad esempio, le aziende che creano siti web possono fornire dati e analisi sugli investimenti pubblicitari (“share of voice”), per consentire a inserzonisti e agenzie di confrontare le spese sostenute nel campodel marketing con quelle della concorenza. - Applicazioni basate su benchmark competitivo che mettono a confrontovle prestazioni di un’azienda con un’aggregato di concorrenti o con la media del settore. ciò mette a disposizione delle aziende una baseline per confrontare le rispettive prestazioni finanziarie o di mercato. - Applicazioni basate su benchmark che confrontano le prestazioni di una campagna di marketing in corso con quelle di una campagna o evento di marketing precedente e/o simile.Ad esempio, un’azienda potrebbe voler confrontare le prestazioni della campagna “promozione di ferragosto” in corso con quelle dell’indentica campagna dell’anno prima.Gli utenti potrebbero voler tenere traccia della percentuale di vendite totali per ogni giornata della campagna e confrontare quotidianamente le aree e i prodotti con le prestazioni migliori e peggiori. D-2 Le Applicazioni settoriali D2.a Nella finanza Il settore dei servizi finanziari ha adottato Hadoop per una serie di ragioni d'uso che ha un impatto sui ricavi, costi, rischi e conformità. Servizi finanziari casi d'uso per Hadoop sono: Intuizioni dei clienti - i grandi fornitori di servizi finanziari hanno adottato presto Hadoop per migliorare il profilo di analisi dei clienti per determinare l'eleggibilità per il capitale azionario, le assicurazioni, i mutui o il credito. 29 L’Individuazione delle frodi e analisi - Hadoop fornisce un metodo scalabile per rilevare più facilmente molti tipi di frodi o la prevenzione delle perdite, e di eseguire una gestione efficace dei rischi. Hadoop è stato utilizzato anche per sviluppare modelli che predicono gli eventi futuri di frode. Micro targeting - Le banche hanno numerosi sistemi di dati diversi (ad esempio, prestiti, mutui, investimenti) che devono essere aggregati al fine di fornire un up-to-date vista sulla redditività del cliente, CRM coerente e consigli sui prodotti personalizzati e offerte. Risk Mitigation - Hadoop è utilizzato per analizzare le tendenze del mercato potenziale e capire le possibilità future di ridurre il rischio di posizioni finanziarie, le attività di portafoglio totale, e ritorni di capitale. Scala di analisi del web - Hadoop è utilizzato per analizzare ciò che viene detto sul web in generale e sui social network in particolare. il sentimento può essre applicato alle singole imprese o ai prodotti o riflettere soddisfazione generale del cliente. Questo ha il potenziale di migliorare la commercializzazione ai clienti esistenti attraverso una migliore targeting. L’Analisi del commercio - Le aziende di servizi finanziari utilizzano Hadoop per analizzare i flussi giornalieri di dati delle transazioni, in combinazione con le notizie non strutturate o sociale feed dei media, o di backtestare i loro algoritmi di negoziazione. D-2.b SANITA’ Oggi le aziende sanitarie stanno utilizzando Hadoop per costruire piattaforme sanitari in grado di memorizzare e analizzare grandi quantità di dati, costituito da miliardi di oggetti. Le organizzazioni devono anche essere in grado di cercare e analizzare diverse fonti di dati, quali popolazioni di pazienti, protocolli di trattamento, e gli esiti clinici per accelerare la scoperta e la comprensione. Applicazioni sanitarie basandosi su Hadoop includono: scambio di informazioni sulla salute - I provider devono gestire e condividere i fascicoli sanitari elettronici a partire da fonti di dati misti (ad esempio, le immagini, i trattamenti, la demografia) tra la comunità medico-sanitario. - Migliorare la qualità dei servizi sanitari e ridurre il numero di ospedalizzazioni. Sicurezza dei farmaci - Gli operatori sanitari hanno bisogno di capire la sicurezza dei farmaci e la tossicità (ad esempio l'interazione tra farmaci). Sviluppo dei farmaci- I ricercatori hanno bisogno per rendere il processo di sviluppo dei farmaci più efficiente riducendo il tempo di prova e riducendo il tempo speso per farmaci con una bassa probabilità di successo al fine di ottenere entrate di farmaci sul mercato più rapidamente. 30 Medicina Personalizzata – mirata al sequenziamento genetico dei pazienti e dei tumori, nonché biomi intestinale, sta cominciando a fornire progressi reali nella scelta del trattamento e la prognosi dettagliata. Tuttavia, questo causa una esplosione in formati di dati. N-of-1 Studi – la raccolta massiva di dati su larga scala sta consentendo altamente l’ esaminazione empirico dettagliato e la previsione di risposte individuali di trattamento del paziente, consentendo indagini sul procedere con le popolazioni di prova drammaticamente più piccoli. D-2.c. Industria Manifatturiera Hadoop è stato ampiamente adottato dall'industria manifatturiera per una vasta gamma di usi che impatta la linea di fondo, tra cui: La Gestione del servizio - La proliferazione dei sensori e la capacità di analizzare in modo efficace corrispondente feed di dati di grandi dimensioni in sedi dei clienti e SKU di prodotto, ha reso la gestione del servizio più efficace ed efficiente. Ad esempio, i produttori automobilistici possono equipaggiare le auto con una varietà di sensori per aiutare i rivenditori e centri di assistenza a capire l'utilizzo del veicolo e gli obblighi di servizio, ma anche sfruttando dati demografici dei clienti per migliorare l'offerta mirata e la sensibilizzazione (es. assicurazioni). Le Operazioni - Hadoop può anche migliorare il processo di post-vendita di manutenzione dell’'industria manifatturiera con l'aggiunta di sensori per attrezzature per fornire livelli crescenti di dati sulle operazioni di questa apparecchiatura. Raccolta e analisi dei dati permette di migliorare il processo di manutenzione e aumentare la qualità complessiva dei prodotti, riducendo i costi. D-2.d Media Nei media della concorrenza e del paesaggio di intrattenimento, l'efficacia delle informazioni gioca un ruolo fondamentale. Le aziende si basano su Hadoop per le seguenti applicazioni: Insights client - Media e società di branding hanno bisogno di comprendere meglio i segmenti di mercato e delle preferenze dei consumatori e comportamenti personali per abbinare meglio ogni marchio al suo segmento, e aiutare le aziende a migliorare le vendite. Questo può consentire al test marketing di essere fatto in tempo reale o consentire che l'ottimizzazione segmentato sia basata su dati reali, invece di decisioni intuitive. sistema decisionale di marketing- Le aziende hanno bisogno di elaborare tutti i dati disponibili per fornire pubblicità on-line, di marketing e agenzie la capacità di meglio identificare e rivolgersi ad un pubblico 31 personalizzato ad alto valore aggiunto che condividono stili di vita simili, i valori e le abitudini di acquisto. Molte di queste decisioni devono essere adattati in tempo reale per consentire rapidi cambiamenti di tendenza da rilevare. Customer lifecycle management - Hadoop viene utilizzata per ottimizzare la fidelizzazione dei clienti e l'adozione di nuovi prodotti all'interno di cavo, via satellite e di altri produttori di servizi di media. i programmi di gestione della migrazione dei clienti devono essere basati su quasi in tempo reale , i meccanismi di rilevazione di dati devono fornire i dati della perdita di un cliente in un periodo di tempo molto breve. contenuti Web effetivo e personale - Le organizzazioni stanno utilizzando Hadoop per regolare il contenuto servito ad ogni utente, per attrarre e mantenere gli utenti, e quindi migliorare le vendite e il volume di utilizzo. Prezzi di analisi e modello di scelta - Le aziende stanno studiando modi per sfruttare Hadoop per determinare in modo dinamico dei prezzi per tutto, dai biglietti di gioco, musiche e video. A titolo di esempio, i prezzi dei biglietti di gioco sono ora basate su un ampio numero di variabili come il tempo, le rivalità di squadra, ecc Oltre al prezzo, l'intero processo di vendita può essere ottimizzato, compresa l'offerta di prodotti di supporto, add-on e up-sells Esperienza analitica del cliente - Si tratta di una zona di iper-crescita per Hadoop. Gli esempi includono i fornitori di gioco online che registrano tutte le interazioni dell'utente con il sistema (dal disboscamento estensivo), e determinano come gli utenti stanno reagendo alle varie funzionalità in modo da essere in grado di adattare le offerte future. Un altro esempio è i siti di social networking che sfruttano tutti i dati ed i sistemi di interazioni con i clienti per capire le reazioni alle nuove funzionalità e processi, e quali nuovi prodotti sarà meglio sfruttare le connessioni sul sito web. Queste caratteristiche possono essere disponibili in qualsiasi momento e può essere il risultato di cambiamenti in qualsiasi parte del sistema - dai sistemi dei clienti di fronte ai più profondi i sistemi back-end. Imparare a conoscere l'effetto che questi sistemi hanno sull'esperienza dell’ utente richiede la registrazione e analisi approfonditi, spesso con interfacce in tempo reale di sistemi decisionali . Targeting marketing offers - Le aziende devono determinare quali offerte di marketing dovrebbe essere fatto per ogni target di riferimento. Hadoop è utilizzato per ottimizzare il posizionamento degli annunci, offerte di marketing e ottimizzare di più, soprattutto se la commercializzazione del segmento semplice non è sufficiente. 32 D-2.e Materie prime e naturali Hadoop è stato usato per una serie di indagine sulla distribuzioni delle risorse naturali. Gli esempi includono: Elaborazione e analisi di informazioni sismica – le società di risorse naturali stanno utilizzando Hadoop per elaborare e analizzare informazioni sismiche nei campi petroliferi. La capacità di analizzare una notevole quantità di dati per prendere decisioni più intelligenti sulla perforazione, ecc, possono avere un impatto dimostrabile sui costi e ricavi . Risk Management e Pianificazione agricola – Le compagnie di agricoltura hanno bisogno di sapere come le diverse colture sono suscettibili di reagire a diversi tipi di terreno, livelli d'acqua, calore e modelli, al fine di prendere meglio decisioni sulla semina e la raccolta . La lavorazione e la combinandodel le informazioni dalle immagini di sorveglianza aerea, in campo reti di sensori, serie di dati meteorologici e le performance passate richiede calcoli su dati di scala molto vasta impostati utilizzando sistemi come Hadoop. L'area del commercio e dei trasporti crescita per Hadoop sta vivendo un’iper-crescita. Gli esempi includono: Gestione dell'inventario - I rivenditori hanno bisogno di una migliore comprensione delle dimensioni della spesa del cliente e la struttura in tempo reale, l'accesso ai livelli di inventario, e la comprensione del commercio e l'efficacia delle promozioni per perfezionare le future campagne pubblicitarie e allineare i livelli di inventario per località. Conservazione del carburante - Linee aeree e aziende di autotrasporti utilizzano Hadoop per monitorare il consumo di carburante in tutta la loro flotta per determinare i fattori chiavi per il consumo di carburante, (ad esempio, il tipo di luogo, lo stile del pilota di volo, le condizioni meteorologiche.) Al fine di migliorare l'efficienza e ridurre i costi. Targeted Marketing - Hadoop viene distribuito per aumentare il volume delle vendite e tassi di conversione, ridurre stock-out e tempi di consegna, e più efficacemente competere con alternative web-based opzioni. Capacità di previsione - Le imprese devono avere una visione aggiornata di inventario al fine di consentire strumenti in tempo reale dei prezzi che incorporano proiezioni e il comportamento effettivo di mantenere il costo variabiledell’inventario basso. D-2.f Servizi Le aziende di servizi di oggi stanno utilizzando Hadoop per costruire piattaforme in grado di memorizzare e analizzare grandi quantità di dati, costituito da miliardi di oggetti. I benefici per l'adozione di Hadoop includono: 33 - Operazioni di analisi Smart Grid fornire sensori in posizioni di raccogliere dati e monitorare in modo intelligente e potenzialmente regolano la distribuzione di energia e il loro utilizzo. Capacità di sfruttare le utilità di dati degli utenti finali ai dispositivi che generano (ad esempio, sensori di energia), per meglio comprendere i modelli di utilizzo e di prezzo e di energia elettrica rotta di conseguenza, consentendo maggiori risparmi. La gestione della rete in caso di variazione di sistema causati da cambiamenti della domanda esterna, come ad esempio errori di tempo o sotto-sistema, richiede l'elaborazione di set di dati estesi in tempi molto brevi. Risk Management - imprese di grandi dimensioni utilizzano Hadoop per memorizzare e analizzare i dati dei sensori ambientali per il test delle infrastrutture critiche della rete energetica intelligente e singoli generatori. Essi sono in grado di migliorare le prestazioni della rete, eseguire la scansione attraverso i registri storici forense dopo si verifica un problema, individuare le debolezze e per aiutare a prevenire interruzioni di corrente. D-2.g Pubblica Amministrazione Agenzie di intelligence di oggi hanno i dati provenienti da tutto il mondo in tutti i tipi di formati - e hanno bisogno di una soluzione che può fare sia l'elaborazione molto semplicemente ed estremamente complessa le attività di analisi dei dati e della rete. Intuizioni dei clienti - Le industrie della difesa e di intelligence hanno bisogno di raccogliere e confrontare informazioni provenienti da fonti diverse, al fine di gestire le minacce alla sicurezza, risolvere le indagini e identificare potenziali problemi di sicurezza. Le velocità di trasmissione dati e dei volumi disponibili da fonti classificate e aperte sono prodigiose come lo sono le esigenze di calcolo conseguenti. Adozione Hadoop nelle agenzie di intelligence è stata significativa. Di rilevamento delle frodi - la domanda di servizi sociali sono in aumento a causa di invecchiamento della popolazione e alta disoccupazione. Hadoop può aiutare a dare la caccia e catturare addebiti fraudolenti e gestire le nuove tendenze nell'utilizzo servizio legittimo. Destinati alle micro - Hadoop ha aiutato applicazioni governative, aumentando la quantità di informazioni disponibili per identificare e ridurre l'attività criminale. Operazioni - La determinazione del modo più efficace per allocare le risorse per raggiungere gli obiettivi operativi si traducono in numerosi piloti Hadoop. Un esempio sta ,aiutando le forze di polizia, tese da bilanci pubblici ristretti, di allocare in modo più efficace le pattuglie per massimizzare il loro effetto nel prevenire la criminalità. Ricerca e innovazione – La NASA e altri istituti di ricerca hanno bisogno di mappare l'universo, sia per scopi 34 di ricerca e per scopi più pratici, come ad esempio una migliore pianificazione delle rotte satellitari e punti di atterraggio che identificano sulla luna. La ricerca astronomica e grandi sperimenti di fisica generano enormi insiemi di dati mettendo notevoli esigenze in termini di stoccaggio e le infrastrutture di trasformazione. E – CONCLUSIONI Internet e il cloud computing e in generale il concetto di condivisione e collegamento tra dati (siano essi database o documenti) hanno in qualche modo creato il “problema” dei big data: più cose mettiamo insieme e/o nella nuvola, più queste crescono. Quindi oggi, di sicuro, i Big Data sono un tema di frontiera e per il settore IT e della consulenza. E di sicuro ci sono esigenze crescenti di progettare, gestire, trattare grandi quantità di dati. Ma proprio perché si è ancora una fase sperimentale e di ricerca, permangono vari punti dubbi: riguardo alle tecnologie, alle possibili “killer application”, ad un utilizzo basico a livello di utenti. Come per altre aree del mondo ICT, è probabile che serva un po’ di tempo per assistere ad un ordine naturale, una sorta di “selezione di Darwin” su prodotti e competitor; e, lato domanda, una maggiore comprensione delle potenzialità e delle applicazioni possibili. Certamente, in questa fase, c’è spazio per ricerca, studio, tentativi e forse anche per l’emergere di nuovi modelli di business. 35 BIBLIOGRAFIA “Challenges and opportunies with big data” di LEADIND RESEARCHES ACROSS THE UNITED STATES “Hadoop scalable flexible data storage analysis” di Mike olson “Il vantaggio competitive derivante dal cambio tra big data e funzionalità di analisi avanzate” By schmarza Bill Cloudera.com Virtuare machine Emc.com 3.hp.com 36