Big data Tecniche e tecnologie V.2 Big data Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 11, 2015 Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Argomenti 1 Big data Perchè usare i big data Come usare i big data Criticità 2 Tecniche e tecnologie Tecniche Tecnologie software Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Introduzione Di big data si parla sempre di più in diversi contesti. Di solito senza una effettiva condivisione del significato che si da a questo termine. I big data costituiscono uno dei fattori evolutivi dell’analisi dei dati. Diventa importante: saper analizzare grandi quantità di dati; decifrare le informazioni e identificare le correlazioni nascoste; estrarre le informazioni significative. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Ammontare dei dati I dati sono tanti e crescono velocemente. International Data Corporation (IDC) 1 stima che entro il 2020 l’insieme dei dati sarà pari a 40 Zettabyte. Il seguente studio ha evidenziato http://www.emc.com/ leadership/digital-universe/2012iview/big-data-2020.htm 500 Exabytes, 2009 10 Zettabytes 2015 Altri ipotizzano che per il 2020 saranno disponibili 110 Zettabyte. 1 IDC è una azienda di mercato, analisi e consulenza, specializzata nel IT. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Ammontare delle grandezze dei dati La tabella mostra i nomi e i simboli dei multipli del byte secondo le unità del Sistema Internazionale (SI) delle unità di misura. Nome SI Kilobyte Megabyte Gigabyte Terabyte Petabyte Exabyte Zettabyte Yottabyte Simbolo SI KB MB GB TB PB EB ZB YB Elisabetta Ronchieri Multiplo SI 103 106 109 1012 1015 1018 1021 1024 V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Peculiarità dei big data Il volume dei dati è elevato, poichè tutti i dati originali, indipendentemente dal loro utilizzo, sono memorizzati. La complessità dei dati da trattare è variabile a seconda del tipo di dato e dell’analisi da effettuare. I dati sono generati a velocità differenti. Non sono elaborabili con le tecnologie (metodi matematici, applicativi software e dispositivi hardware) tradizionali, fornendo argomenti di ricerca al mondo accademico. Sono importanti in ambito commerciale, fornendo informazioni sui comportamenti individuali e collettivi. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Definizione Segue principalmente il modello delle tre V definito da Doug Laney (2001): 1 Volume indica la quantità di dati che continua a crescere; 2 Velocità indica la velocità di gestione dei dati man mano che vengono messi a disposizione; 3 Varietà indica la diversità di formati, strutture e fonti. Non è solo questione di velocità. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Definizione Ma al modello delle 3V è possibile aggiungerne altre: Veridicità indica l’attendibilità dei dati raccolti; Volatilità indica il tempo di validità dei dati; Value indica l’informazione estratta dall’insieme dei dati. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Definizione Volume Gigabyte, Terabyte, Petabyte, Exabyte, Zettabyte, Yottabyte Varietà Strutturati, semi-strutturati, non strutturati; Testi, immagini, audio, video, record Velocità periodica, quasi tempo reale (piccolo ritardo dovuto a motivi tecnici), tempo reale Valore Può generare grossi vantaggi competitivi. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Provenienza dei dati I dati dell’ordine del Terabyte o Petabyte sono generati da sistemi scientifici o da sensori. I dati provenienti da Web hanno dimensioni più contenute ma sono sempre dell’ordine dei Terabyte o Petabyte. Quanti dati sono generati in un giorno? 7 TB, Twitter 10 TB, Facebook Alcuni dati sono transitori: i log del Web server documenti e pagine Web Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità I dati strutturati I dati rappresentati in un formato tabellare all’interno di un database relazionale sono dati strutturati. Nel caso della relazione IMPIEGATO (con i campi Nome, Cognome, Indirizzo, Sesso, Stipendio), tutti i record della relazione hanno il medesimo formato. Il DBMS garantisce che tutti i dati verifichino la struttura e i vincoli definiti nello schema. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità I dati semi strutturati Sono dati che presentano parte dei loro dati in formato strutturato. Nel caso di una lista di riferimenti bibliografici di un progetto di ricerca si possono avere libri, rapporti tecnici, articoli di ricerca su rivista, ognuna con attributi e tipi di informazioni diversi. I database NoSQL forniscono i meccanismi per la organizzazione dei dati senza imporre una rigidità dello schema. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità I dati non strutturati Sono dati che non possiedono una struttura predefinita, non conducibili ad un formato tabellare. Non sono organizzati. Possono causare ambiguità. Ne sono esempio: Documenti di vario genere, quali Word, Excel, Tex, PowerPoint, Pdf, pagine HTML; Immagini, audio e video in vari formati; Strumenti del Web 2.0; e-mail. Sono usati database NoSQL. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Classificazione dei dati per volume e complessità Fonte Alessandro Rezzani Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Tipo di fonte Può essere umana o automatica. Fonte Alessandro Rezzani Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Tipo di fonte Fonte Dati da strumenti scientifici Dati astronomici Dati metereologici Dati fiscali, bancari e patrimoniali Documenti Caratteristiche Velocità e volume Volume Volume Volume Quotazioni e transazioni su mercati finanziari Social network Velocità e volume Volume e Varietà Volume, Varietà Velocità, Elisabetta Ronchieri Esempi di uso Simulazioni Analisi dei dati provenienti dagli osservatori Previsioni meteo Identificazione di comportamenti anomali da parte del Ministero delle Finanze o dell’Agenzia delle entrate Individuazione di casi fraudolenti nelle richieste di risarcimento effettuate alle assicurazioni. Sistemi automatici di analisi previsionali Servizi di intelligence V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Perchè usare i big data Permettono di capire la società in cui viviamo. Offrono la possibilità di sviluppare nuove tecnologie e modelli matematici per poter estrarre l’effettivo valore. Danno la possibilità di perseguire nuovi modelli di business. Portano vantaggi economici alle aziende che hanno deciso di sfruttare l’informazione ottenibile dai dati in loro possesso. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Impatto dei big data nel sociale Secondo Zeynep Tufekci in Big Questions for Social Media Big Data http://arxiv.org/abs/1403.7400 i big data hanno un impatto nello studio del comportamento umano simile all’introduzione del microscopio o del telescopio nei campi della biologia e dell’astronomia. I big data sono in grado di misurare e prevedere crisi economiche, epidemie, diffusione di opinioni, distribuzione delle risorse energetiche, bisogni di mobilità. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Impatto dei big data sulle aziende I big data aiutano a comprendere le dinamiche del proprio mercato di riferimento. Le aziende possono analizzare i comportamenti d’acquisto e le opinioni nei confronti dei prodotti, dell’azienda stessa o dei propri competitor. Le aziende possono creare nuovi prodotti di successo o fare previsioni sull’andamento dei mercati finanziari. Per riuscire a trarne il massimo bisogna soddisfare alcuni requisiti: cambiare mentalità accettando di recuperare l’informazione dai dati; attivare team di ricerca sui big dati; investire nella gestione di dati non strutturati. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Impatto dei big data sulla politica I big data aiutano a comprendere le dinamiche della società, consentendo di fare previsioni delle elezioni politiche. Tramite le tecnologie di analisi dei dati provenienti dal Web è possibile monitorare le reazioni dei votanti e di reagire ai cambiamenti della comunità quasi in tempo reale. I dati raccolti possono essere usati per trovare potenziali votanti e convincerli a concedere il proprio voto. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Impatto dei big data sul pubblico I servizi di intelligence possono monitorare i contenuti sui siti web e social network per individuare minacce alla sicurezza del paese. Le forze di polizia possono ottenere utili informazioni alla lotta contro la criminalità. I gestori di servizi pubblici possono monitorare le performance dei ministeri, dipartimenti ed enti. Gli uffici pubblici possono identificare sprechi. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità ROI dei big data ROI (Return on investment) indica la redditività dell’investimento. ROI = Risultato operativo / Capitale investito netto operativo Il risultato operativo è il risultato economico della gestione di un certo esercizio. Il capitale investito netto operativo è il totale degli investimenti direttamente riguardanti l’attività al netto di ammortamenti e accantonamenti. ROIBD = minori costi + maggiori ricavi - costi ricorrenti / investimento iniziale Big data + Marketing = ROI enorme Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Elaborazione dei big data Prevede: Collezione e memorizzazione dei dati Classificazione per categorie Trasformazione dei dati Generazione dei risultati trovati Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Come usare i big data Per prendere decisioni in modo efficace è necessario percorrere diverse fasi. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Acquisizione Richiede: Selezione Filtraggio Generazione di metadati Gestione provenienza Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Estrazione Richiede: Trasformazione Normalizzazione Cleaning Aggregazione Gestione errori Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Estrazione Per cleaning si intende aggiunta di valori mancanti, aggiustamento dei dati evidentemente errati. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Integrazione Richiede: Standardizzazione Gestione conflitti Riconciliazione Definizione di mapping Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Integrazione Riconciliazione prevede analisi delle differenze e tentativo di conciliarle. Definizione di mapping prevede attività di creazione, prelievo, aggiornamento ed eliminazione dei dati. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Analisi Richiede: Esplorazione Mining Apprendimento automatico Visualizzazione Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Analisi Mining è l’insieme di tecniche e metodologie che hanno per oggetto l’estrazione di un sapere o di una conoscenza a partire da grandi quantità di dati. Apprendimento automatico tecnica comune per l’analisi statistica dei dati. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Interpretazione Richiede: Conoscenza del dominio Conoscenza della provenienza Identificazione pattern di interesse (i vari ambiti di interesse) Flessibilità del processo Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Decisione Richiede: Capacità Manageriali Miglioramento continuo del processo Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Limitazioni Ci sono spesso dei gap tra l’interpretazione concettuale dei big data e i suoi indicatori e la realtà stessa degli indicatori. Spesso non si riesce ad avere accesso ai dati più utili, perchè sono bloccati dietro barriere proprietarie o governative. Si rischia di fare troppo con i dati cui abbiamo accesso, prendendo decisioni errate. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità I rischi I big data presentano dei rischi legati: alla qualità, affidabilità dei dati affidabilità dei dati qualità dei dati privacy proprietà dei dati Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Perchè usare i big data Come usare i big data Criticità Qualità È caratterizzata da completezza dei dati: presenza di tutti i dati (se manca una voce di bilancio rende il bilancio incompleto); consistenza dei dati: assenza di contraddizione nei dati (il saldo di fine mese deve tener conto dei totali attivi e passivi); accuratezza dei dati: esattezza dei valori; assenza di duplicazione; integrità: per esempio dati dello stesso tipo su una stessa colonna. È importante adottare procedure automatizzate di controllo e verifica dei dati per determinare la qualità dei dati. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Le tecniche di analisi Tra le tecniche di analisi troviamo: Natural language processing (NLP) Neural networks Predictive modeling NoSQL systems (Cassandra, Dynamo, Hbase, Big Table) Extract, transform, and load (ETL) Mashup Stream processing On Line Analytical Processing (OLAP) Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software NLP NLP o Elaborazione del linguaggio naturale: è il processo di trattamento automatico delle informazioni scritte o parlate in una lingua naturale; è reso particolarmente difficile e complesso a causa delle caratteristiche intrinseche di ambiguità del linguaggio umano; suddivide il processo di elaborazione in fasi diverse, simili a quelle del processo di elaborazione di un linguaggio di programmazione. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software NLP Fasi del processo di elaborazione: analisi lessicale: scomposizione di un’espressione linguistica in token (in questo caso le parole); analisi grammaticale: associazione delle parti del discorso a ciascuna parola nel testo; analisi sintattica: arrangiamento dei token in una struttura sintattica (ad albero: parse tree); analisi semantica: assegnazione di un significato (semantica) alla struttura sintattica e, di conseguenza, all’espressione linguistica. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Neural networks Il termine neural networks può riferirsi a due tipi di reti. Reti neurali biologiche costituite dai neuroni biologici, cellule viventi connesse tra loro o nel sistema nervoso periferico o nel sistema nervoso centrale. Reti neurali artificiali: sono modelli matematici che rappresentano l’interconnessione tra elementi, definiti neuroni artificiali, che imitano le proprietà dei neuroni viventi; sono modelli in grado di risolvere problemi ingegneristici di intelligenza artificiale negli ambiti dell’elettronica, informatica, simulazione e altre discipline. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Predictive modeling Predictive modeling o modellazione predittiva: è un processo utilizzato in analisi predittiva per creare un modello statistico del comportamento futuro; è l’area del data mining che si occupa di probabilità e previsione delle tendenze; è costituito da un numero di predittori, che sono fattori variabili che possono influenzare il comportamento o i risultati futuri. Nel marketing l’età e la cronologia degli acquisti di un cliente possono prevedere la probabilità di una futura vendita. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software ETL Si riferisce al processo di estrazione, trasformazione e caricamento dei dati in un sistema di sintesi, quale quello del data warehouse2 . Estrae i dati da sistemi sorgenti quali database transazionali, comuni file di testo o da altri sistemi informatici. Trasforma i dati per renderli più aderenti alla logica di business del sistema di analisi. Carica i dati puliti e integrati nelle tabelle del sistema di sintesi. 2 Il data warehouse è un database che contiene dati integrati, consistenti e certificati dei processi di business di una azienda. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software ETL Il processo di trasformazione si compone dei seguenti passi: selezionare solo i dati che sono di interesse per il sistema; normalizzare i dati (per esempio eliminando i duplicati); tradurre i dati codificati; derivare nuovi dati calcolati; eseguire accoppiamenti (join) tra dati recuperati da differenti tabelle; raggruppare i dati. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Stream processing È un paradigma di programmazione parallela di tipo SIMD (Single Instruction, Multiple Data) in cui più unità elaborano dati diversi in parallelo. Presume di avere i dati da elaborare organizzati in gruppi (stream). Applica ai diversi gruppi una serie di operazioni configurabili. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Mash-up (poltiglia) Indica un sito o una applicazione web tale da includere informazioni o contenuti provenienti da più parti (Sito della Università di Ferrara e Google Maps per evidenziare una via). Indica una applicazione il cui contenuto è dato da più sorgenti per creare un servizio completamente diverso. È facile da progettare. Richiede minime conoscenze tecniche. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software OLAP È un insieme di tecniche software in grado di analizzare velocemente grandi quantità di dati, anche in modo complesso. Serve alle aziende per analizzare i risultati delle vendite, l’andamento dei costi di acquisto merci, il successo di una campagna pubblicitaria. Permette di studiare una grande quantità di dati vedere i dati da prospettive diverse supportare i processi decisionali Trasforma le singole informazioni in dati multidimensionali, producendo un cubo multidimensionale. Permette quindi di interrogare i dati strutturati in tempi ridotti rispetto alle stesse operazioni effettuate su db relazionali. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Come costruire un cubo multidimensionale Schema a stella Al centro è riportata la tabella dei fatti che elenca i principali elementi Collega a questa tabella altre tabelle delle dimensioni che specificano l’aggregazione dei dati. Un archivio di clienti può essere raggruppato per città e regione: i clienti possono essere relazionati con i prodotti ed ogni prodotto può essere raggruppato per categoria. Le possibili combinazioni delle aggregazioni rappresenta la struttura. Si memorizza solo un numero predeterminato di combinazioni, le altre vengono ricalcolate in base alla richiesta. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Not only SQL (NoSQL) È un movimento che promuove il non utilizzo del modello relazionale. Identifica un’ampia varietà di tecnologie legate ai database non relazionali. nosql-database.org offre database NoSQL non relazionali, distribuiti e scalabili. Risponde: al crescente volume di dati memorizzati sulla Rete alle modalità e alla frequenza di accesso ai dati alla necessità di performance e di potenza di calcolo Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software I vantaggi NoSQL Scalabilità Prestazioni migliori Schemi dinamici Facile da utilizzare Flessibile Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Reperimento delle informazioni È l’insieme delle tecniche utilizzate per gestire oggetti contenenti informazioni. Permettono di: rappresentare i dati memorizzare i dati organizzare i dati Soddisfa il bisogno informativo dell’utente. Gestisce la ricerca delle informazioni, non i dati. Gestisce la restituzione di risultati non pertinenti. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Hadoop http://hadhoop.apache.org È un software open source, affidabile e scalabile per il calcolo distribuito. Sfrutta le caratteristiche del calcolo distribuito (distributed computing): le operazioni sono eseguite su più calcolatori collegati in rete; la capacità di calcolo di ciascun calcolatore si somma a quella degli altri; Supporta applicazioni di calcolo distribuite con elevato accesso ai dati. Permette di lavorare con migliaia di nodi e petabyte di dati. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Yahoo! https://it.yahoo.com/?p=us Yahoo! è una piattaforma proprietaria usata tra l’altro per il processamento dei dati. È usato anche da: AOL, Ebay, Facebook, IBM, ImageShack, Joost, Linkedin, Spotify, The New York Times e Twitter. Elisabetta Ronchieri V Innovazione Informatica Big data Tecniche e tecnologie Tecniche Tecnologie software Per ulteriori letture Laney D. "3D Data Management: controlling data volume, velocity and variety.", 2001, Meta Group Research Note. Viktor Mayer-Schönberger, Kenneth Cukier. "Big Data: A Revolution That Will Transform How We Live, Work, and Think Paperback", 2014, Eamon Dolan/Mariner Books; Reprint edition (March 4, 2014) Alessandro Rezzani. "Big Data. Architettura, tecnologie e metodi per l’utilizzo di grandi basi di dati.", 2013, Cap. 2, Apogeo Education, Maggioli Editore. Glenn Brookshear, Informatica una panoramica generale, 11-esima versione, Pearson, Cap 9. Elisabetta Ronchieri V Innovazione Informatica