Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Ingegneria del Software e dei Dati Big Data Analytics: SAP HANA Anno Accademico 2015/2016 Candidato: Antonino Ferraro matr. N46/000100 Al mio secondo nome, che non ha potuto apprezzare le gioie della vita e l’amore e l’affetto della nostra famiglia. Big Data Analytics: SAP HANA Indice Introduzione............................................................................................1 1 Big Data Analytics ...............................................................................3 1.1 Caratteristiche.......................................................................... 4 1.2 Big Data e Social Media Analysis .................................................... 6 1.3 Rischi e problematiche................................................................ 8 2 SAP HANA ......................................................................................... 10 2.1 Architettura........................................................................... 11 2.1.1 Data storage Row vs Column.................................................. 13 2.2 Backup e Recovery .................................................................. 16 2.3 SAP HANA Modeling............................................................... 19 2.4 SAP HANA Predective Analysis Library (PAL)................................. 22 2.5 Sentiment Analysis in SAP HANA ................................................ 23 Conclusioni ............................................................................................ 28 Sviluppi Futuri ....................................................................................... 32 Bibliografia ............................................................................................ 34 Ringraziamenti ...................................................................................... 35 I Big Data Analytics: SAP HANA Introduzione Con il termine BIG DATA si intende una raccolta dati estesa in termini di volume, velocità e varietà tali che devono richiedere tecnologia e metodi analitici per la trattazione ed estrazione delle informazioni interessate. La mole dei dati trattata con i Big Data è dell’ordine degli zettabyte, ossia miliardi di terabyte, quindi si richiede una potenza di calcolo non indifferente per il trattamento delle informazioni. Big Data rappresenta anche la correlazione fra dati strutturati, come le tabelle dei database e quelli non strutturati, come e-mail, immagini, informazioni dei social network o altro. Dal punto di vista aziendale possiamo definire i Big Data come enormi volumi di dati provenienti da diverse fonti, che, analizzati in tempo reale, consentono di ottenere nuove forme di conoscenza per il mercato, inoltre, grazie ad un nuovo modo di analizzare grandi quantità di dati strutturati (come transazioni, log file, tabelle di un database, etc.) e non (come documenti cartacei, immagini, etc.), è possibile capire anticipatamente i trend del mercato e quindi avere un vantaggio competitivo rispetto la concorrenza. 1 Big Data Analytics: SAP HANA SAP HANA è una piattaforma di gestione di basi di dati colonnare e in-memory, sviluppato e commercializzato dalla società tedesca SAP che permette di processare grandi volumi di dati in tempo reale. Molte aziende hanno a che fare con enormi volumi di dati provenienti da diverse fonti che hanno la necessità di essere processati in real-time, e, se si aggiunge a tutto questo anche la necessità di dover ottenere tempi di risposta molto veloci, si aumenta la complessità di analisi: per soddisfare i seguenti requisiti, SAP HANA risulta un software adatto. SAP HANA nasce dall’acquisizione di alcune tecnologie, tra cui il motore di ricerca TREX (column oriented), P*TIME (piattaforma OLTP in- memory) e Max DB con il suo motore in-memory live Cache, oltre a ciò SAP lo ha sviluppato assieme ad altri partner, precisamente con la Hasso Plattner Institute e la Stanford University. La sigla vuol dire SAP High-Performance Analytic Appliance. 2 Big Data Analytics: SAP HANA Capitolo 1 Big Data Analytics La filosofia Big Data punta a raccogliere l’intelligenza dei dati per tradurla in vantaggi per business. Anche se il concetto di Big Data sembra relativo unicamente alle problematiche di dimensione dei dati che si vanno a trattare, invece rappresenta anche altro, ossia il concetto che i dati superano il limite dei trattamenti tradizionali, volti ad estrarre valore e conoscenza di questi ultimi. Il loro trattamento è basato sulla disponibilità di tecnologia open source che utilizza commodity hardware e alle disponibilità di piattaforme cloud, entrambi fattori che causano decisamente l’abbattimento dei costi. Figura 1.01 – Big Data 3 Big Data Analytics: SAP HANA 1.1 Caratteristiche È consuetudine definire le caratteristiche dei Big Data con le famose 3V: Volume Varietà Velocità Infatti i Big Data sono disponibili in enormi volumi, si presentano con formati destrutturati e caratteristiche eterogenee e spesso sono prodotti con estrema velocità. A tali caratteristiche si aggiungono: Variabilità Viralità In modo da poter formare le cosiddette 5V. Figura 1.02 – 5V 4 Big Data Analytics: SAP HANA Riguardo al volume è facilmente intuibile che si trattano dataset di dimensioni che vanno dai terabytes fino agli zettabytes, quindi il primo passo quando si opera con i Big Data è l’immagazzinamento: è facilmente intuibile che ciò comporta grossi investimenti in termini di storage e capacità di calcolo per la grande mole di dati da trattare. La varietà consiste nella presenza di dati non strutturati (o semistrutturati), un esempio son i vari social network (come Facebook, Twitter, etc.), di conseguenza, dati come immagini, video, audio, stringhe di testo cui attribuire un significato, non possono essere memorizzati in una tabella. Altra caratteristica fondamentale è la velocità, ciò significa che bisogna comprimere al massimo i tempi di gestione ed analisi poiché in brevissimo tempo un dato raccolto in precedenza può divenire obsoleto. La variabilità riguarda la contestualizzazione di un dato, nel senso che un dato può variare di significato in base al contesto in cui viene raccolto ed analizzato, da questo motivo che nasce l’esigenza di trovare meccanismi che riescono a fornire una semantica ai dati in base al contesto in cui sono espressi. La viralità è la caratteristica che viene espressa quando i dati si diffondono; un’ulteriore classificazione può essere fatta per il tipo di fonte: umana o automatica, da cui i dati provengono e in base al loro formato, cioè strutturati o non. 5 Big Data Analytics: SAP HANA Un’idea del formato dei dati la dà l’immagine seguente: Figura 1.03 – Dati Strutturati e non 1.2 Big Data e Social Media Analysis I dati dal mondo del Web suscitano un forte interesse, sia perché presentano le caratteristiche fondamentali discusse nel paragrafo precedente (volume, varietà, velocità) sia perché contengono un elevato contenuto informativo di diversa natura: Pagine Html Tweet Contenuti Facebook o di altri social Commenti su forum e post Documenti XML, Office, PDF ecc. Queste tipologie di dati, combinati a dati strutturati (come anagrafica clienti, dati di vendita, ecc.) consentono ad una azienda molteplici vantaggi, ad esempio, attraverso l’uso dei social network o di blog, le persone possono esprimere opinioni riguardo un particolare prodotto o servizio, fornendo all’azienda importanti feedback per migliorare le proprie vendite, quindi aumentare i propri ricavi. 6 Big Data Analytics: SAP HANA Oltre a ciò, vi sono particolari utenti sui social network, i cosiddetti in- fluencer, che riescono ad influenzare le opinioni degli altri utenti del social; quindi l’azienda punta alla loro individuazione per creare una campagna rivolta principalmente a loro. Una delle sfide più frequenti nel mondo dei Big Data è proprio il ricavare informazioni dai social media e blog, per capire il pensiero di un utente su un determinato evento (o prodotto o argomento), in tal caso si parla di Social Media Analysis. Figura 1.04 – Big Data & Social Media Le informazioni di un social media son maggiormente del tipo non strutturate (ad esempio le recensioni oppure i tweet o post su Facebook), quindi l’approccio per una loro analisi non può essere effettuata col trattamento tradizionale dei dati, bensì con diverse conoscenze e strumenti. 7 Big Data Analytics: SAP HANA Capire se un utente è interessato (e quanto) ad un prodotto, ha spinto le aziende ad imboccare le vie del social media analysis per aumentare la propria competitività rispetto ai propri rivali e riuscire a capire in tempo reale l’andamento del proprio brand ed attuare (o anticipare) delle scelte di mercato ancor prima rispetto i diretti competitors. SAP HANA risulta perfetto per lo studio del sentimento degli utenti. 1.3 Rischi e problematiche Da come discusso nei paragrafi in precedenza, si è capito che i Big Data offrono grandi prospettive e potenzialità, però bisogna tener conto di alcune problematiche: Qualità dei dati Proprietà e privacy dei dati I dati captati dal Web, come i forum o i social network, generano contenuti semi-strutturati: la parte affidabile sono i metadati, mentre il testo può essere soggetto ad errori o abbreviazioni; i dati generati automaticamente, come quelli provenienti da sensori, sono tipicamente esenti da errori ma spesso contengono poco contenuto informativo, quindi è necessario integrarli con altri dati, provenienti da altri sistemi, per poi analizzarli. Un’altra problematica legata alla qualità dei dati è riuscire ad eliminare o almeno a limitare l’ambiguità dei dati: sappiamo che un dato può avere diversi significati, perciò bisogna attribuirgli quello giusto, in base al contesto in esame, un valido aiuto sono i tag. 8 Big Data Analytics: SAP HANA Altro aspetto è la veridicità delle informazioni, spesso e volentieri le informazioni sul Web (specialmente quelle sui social network) non sono veritiere, ossia non corrispondono a fatti realmente accaduti. Il problema della privacy nasce dal fatto che i contenuti possono non essere accessibili a tutti (dati protetti) e da dati che non possono tener traccia di possibile spostamento degli utenti. Figura 1.05 -Big Data & Privacy 9 Big Data Analytics: SAP HANA Capitolo 2 SAP HANA Il cuore di SAP HANA è rappresentato dal database HANA che risulta essere diverso dagli altri database. Il database è sviluppato in C++ e gira su Suse Linux Enterprise Server; esso è costituito da elementi hardware e software che sfruttano il calcolo in-memory, unisce la tecnologia di database row-based e column-based. I dati ora risiedono in memoria ram e non più nell’hard disk . SAP HANA viene utilizzato per effettuare analisi e sviluppo applicazione in real-time. Figura 2.01 – Vantaggi di HANA 10 Big Data Analytics: SAP HANA 2.1 Architettura Il database di HANA è costituito dai seguenti servizi: Index Server Name Server Statistics Server Preprocessor Server XS Engine Figura 2.02 – Architettura di HANA L’Index Server è il componente più importante del database, contiene i dati attuali e il motore per processarli, oltre ciò l’Index Server processa le istruzioni SQL. 11 Big Data Analytics: SAP HANA Oltre SQL, il database supporta anche il linguaggio SQL-script e supporta diverse librerie, come la PAL : Predictive Analysis Library . Al suo interno è presente il Persistent Layer che ha il compito di far rispettare l’atomicità e la durabilità delle transazioni. L’Index Server utilizza il Preprocessor Server per analizzare i dati di testo per estrarne le informazioni. Il Name Server contiene le informazioni sulla topologia del sistema SAP HANA: in un sistema distribuito il Name Server tiene traccia su dove i componenti sono in esecuzione e in quali server si trovano determinati dati. Il Statistic Server gestisce le statistiche riguardanti lo stato, le prestazioni e il consumo delle risorse, inoltre questi dati sono memorizzati per ottenere uno storico, utile per le analisi future. Le transazioni verso il database sono coordinate dal Session and Transac- tion Manager, che tiene traccia delle transazioni, in esecuzione e chiuse, e che coinvolge anche i motori di archiviazione, in seguito al commit o al roll back di transazioni, in modo tale da eseguire le azioni necessarie. Infine l’XS Engine è un componente opzionale. Grazie a quest’ultimo i client possono connettersi al database di SAP HANA tramite il protocollo http. 12 Big Data Analytics: SAP HANA 2.1.1 Data storage Row vs Column I database relazionali generalmente utilizzano la memorizzazione dei dati row-based, tuttavia l’archiviazione column-based è maggiormente adatta negli applicativi di tipo business. SAP HANA supporta entrambe le filosofie di memorizzazione ma è particolarmente ottimizzato per l’archiviazione basata su colonne: - Row-storage: memorizza i record della tabella in una sequenza di righe. - Column-storage: memorizza i record della tabella in una sequenza di colonne, vale a dire che i dati sono memorizzati in locazioni di memoria contigue. Il database in-memory di HANA, come detto in precedenza, supporta entrambi i criteri di memorizzazione: è proprio grazie a questa combinazione di approcci di storage che si ottiene velocità, flessibilità e massime prestazioni. La differenza tra lo storage in righe e colonne è evidenziata nell’immagine alla pagina seguente. 13 Big Data Analytics: SAP HANA Figura 2.03 – Row Store vs Column Store Possiamo definire i vantaggi per la memorizzazione column-based: - Velocità di accesso ai dati: solo le colonne interessate saranno effettivamente lette durante la query-processing. - Miglior compressione: consente un’efficace compressione poiché la maggior parte delle colonne contengono pochi valori distinti (rispetto al numero di righe). - Miglior processamento in parallelo: nel caso di column-storage, i dati sono già partizionati verticalmente, ciò comporta che colonne differenti possono essere processate facilmente in parallelo; se più colonne devono essere cercate o aggregate, ognuna delle seguenti operazioni può essere assegnata a differenti core-processor. Con la memorizzazione column-based si ottiene un indice costruito per ogni colonna. 14 Big Data Analytics: SAP HANA Adesso analizziamo i vantaggi per la memorizzazione row-based, essendo che SAP HANA la supporta, essa può essere preferita nelle seguenti circostanze: L’applicazione deve processare un singolo record alla volta, ovvero nel caso di molte operazioni di update e selezioni di record singoli. L’applicazione necessita di accedere all’intera riga Non sono richieste aggregazioni e ricerche veloci La tabella ha un numero ridotto di righe Figura 2.04 – Row Operation vs Column Operation 15 Big Data Analytics: SAP HANA 2.2 Backup e Recovery SAP HANA è un database in-memory, ciò significa che tutti i dati sono in memoria ram. Sappiamo bene che la ram è una memoria volatile, quindi, cosa succede nel caso di un arresto anomalo in SAP HANA? Perderemo i dati? La risposta è no. SAP HANA vero che sfrutta la ram per trattare i dati per ottenere maggiori performance ma anche il supporto di memoria di massa per effettuare il backup, questo rende HANA sicuro. In questo modo si garantisce non solo il massimo delle prestazioni, poiché detiene la maggior parte dei dati in memoria ram, ma anche tolleranza ai guasti attraverso la memorizzazione dei dati sulla memoria di massa. In un qualsiasi database è di fondamentale importanza garantire i requisiti di: Atomicità Consistenza Isolamento Durabilità le famosissime ACID. 16 Big Data Analytics: SAP HANA Una transazione deve essere atomica: se una parte della transazione fallisce, l’intera transazione deve fallire e lasciare lo stato del database invariato. Deve essere consistente: all’inizio di una transazione, il database si trova in uno stato coerente e quando quest’ultima termina, il database deve essere in un altro stato SEMPRE coerente; non bisogna violare eventuali vincoli di integrità e quindi non devono verificarsi contraddizioni (inconsistenza) tra i dati nel database. Deve essere isolata: assicurarsi che nessuna transazione può interferire con delle altre (devon essere indipendenti tra loro). Deve essere garantita la durabilità : detta anche persistenza, si riferisce al fatto che una volta andata a buon fine una transazione, i cambiamenti apportati da essa non devono essere persi. Le prime tre proprietà sono indipendenti dalla filosofia in-memory, mentre l’ultima in generale no. La persistenza NON È GARANTITA se avviene un guasto al sistema (ad esempio improvviso mancamento di alimentazione elettrica). SAP HANA suddivide la memoria centrale (ram) in pagine, quando una transazione modifica i dati, le pagine corrispondenti sono contrassegnate e scritte sulla memoria secondaria (o memoria di massa) ad intervalli regolari. 17 Big Data Analytics: SAP HANA In aggiunta, un log del database acquisisce tutte le modifiche effettuate dalle transazioni: ogni transazione in esecuzione genera una log entry che verrà scritta sul disco, tutto questo assicura lo stato di permanenza di tutte le transazioni. SAP HANA salva le pagine modificate nei cosiddetti savepoints, che saranno trasferiti in modo asincrono sulla memoria secondaria ad intervalli regolari (di default ogni 5 minuti). Figura 2.05 – Operazioni di Backup su SAP HANA Il log è aggiornato in modo sincrono, questo perché una transazione non può essere confermata prima che il suo corrispondente log entry non è stato scritto in memoria secondaria, tutto questo serve per soddisfare il requisito di durabilità. Nel caso di un’improvvisa interruzione di alimentazione elettrica, il database può essere ravviato come un database disk-based. Le pagine del database sono ripristinate attraverso i savepoints e sono applicati i log del database per ripristinare le modifiche che non son state catturate nei savepoints; questa procedura garantisce il corretto ripristino del database nello stesso identico stato precedente al mancamento dell’alimentazione elettrica. 18 Big Data Analytics: SAP HANA Figura 2.06 – Operazioni di Backup su SAP HANA 2 2.3 SAP HANA Modeling SAP HANA permette la modellazione delle informazioni, si possono creare delle viste di modellazione su tabelle ed implementare logiche di business al fine di creare dei report. Queste viste possono essere consultate attraverso applicazioni Html o Java oppure da applicazioni native di HANA; è possibile utilizzare dei tool messi a disposizione da HANA (come SAP Lumira o Office Analysis) per connettersi direttamente ad HANA per utilizzarle. Con SAP HANA Modeling si sfrutta la potenza di HANA. 19 Big Data Analytics: SAP HANA Ciò è meglio evidenziato nella seguente immagine: Figura 2.07 – SAP HANA Information Modeling Le viste possono essere: Attribute View Analytic View Calculation View A tempo di esecuzione, le viste fanno un uso implicito dell’ottimizzazione dei motori di calcolo in-memory di SAP HANA e ciò consente di ottenere le massime prestazioni. N.B. Hana Data Modeling è possibile soltanto per le tabelle column- oriented, ossia la modellazione delle informazioni funziona solo con tabelle archiviate in colonna. 20 Big Data Analytics: SAP HANA Attribute View sono le dimensioni, le caratteristiche BW (Business Ware- house) oppure i master data, essi sono utilizzati per unire le dimensioni o altri attribute view, nella maggior parte dei casi è utilizzato per modellare i master data come entità (ad esempio prodotto,dipendente,ecc.) e sono altamente riutilizzati e condivisi nelle Analytic e Calculation View. Analytic View rappresentano gli star schema (concetto utilizzato negli OLAP) o le tabelle dei fatti (centrale) circondate dalle tabelle delle dimensioni. Nel linguaggio SAP BW, le Analytic View possono essere paragonate alle strutture infocubes o info set. Le Analytic View sono tipicamente definite su almeno una tabella dei fatti insieme a più tabelle o Attribute View, esse sfruttano la potenza di calcolo di SAP HANA per calcolare i dati aggregati, ad esempio: il numero di giornali venduti in una nazione o la potenza consumata da un’abitazione in un mese e funzioni come sum, min, max, count, etc. Naturalmente l’Analytic View è progettato per eseguire query dello star schema. Calculation View sono viste utilizzate al di sopra delle due precedentemente descritte, esse servono per effettuare calcoli complessi non possibili con le Attribute e Analytic View. Possono essere costruite sia graficamente (user friendly) attraverso le Gra- fical View, rese a disposizione dal SAP HANA Modeler o tramite istruzioni SQL (dette scripted views). La Calculation View è indicata per combinazioni di tabelle, Attribute e Analytic View per fornire richieste business complesse, essa offre la combinazione differente di Analytic View in un’unica sorgente di dati per il report. 21 Big Data Analytics: SAP HANA SAP HANA sfrutta tre motori in base alla richiesta delle viste: Figura 2.08 – Engine utilizzati dalle Viste - Join Engine: utilizzato per le Attribute View. - OLAP Engine: utilizzato per le Analytic View. - Calculation Engine: utilizzato per Analytic View con attributi calcolati e per Calculation View. 2.4 SAP HANA Predective Analysis Library (PAL) La Predective Analysis Library è una soluzione per l’analisi statistica, il data mining. Permette la creazione di modelli predittivi per scoprire significati nascosti e relazioni tra i dati, per ottenere predizioni accurate sugli eventi futuri. 22 Big Data Analytics: SAP HANA Essa eredità la tecnologia di acquisizione e manipolazione dati da SAP Lumira. SAP PAL definisce delle funzioni che possono essere invocate attraverso delle procedure SQL Script per l’esecuzione di algoritmi analitici. Gli algoritmi di Predictive Analysis son divisi in categorie: Clustering Classification Regression Association Time Series Pre-processing Statistics Social Network Analysis Miscellaneous Le funzionalità possono essere ampliate e/o customizzate attraverso degli script scritti in linguaggio R. 2.5 Sentiment Analysis in SAP HANA La Sentiment Analisys è il processo per identificare ed estrarre informazioni soggettive da diverse fonti. Essa definisce se un documento è positivo, negativo o neutro; per questo motivo è conosciuta anche col nome di Opinion Mining. 23 Big Data Analytics: SAP HANA Figura 2.09 – Sentiment Analysis Si definisce sentimento ciò che una persona percepisce (feelings) ed è caratterizzato da 3 fattori: - Attitudes - Emotions - Opinions. Il sentimento nasce da impressioni soggettive, il che complica la sua corretta interpretazione. La Sentiment Analysis viene utilizzata per scoprire cosa gli utenti pensano su un determinato topic, ad esempio se si vuol conoscere attraverso Face- book se la cucina giapponese a Napoli è buona o meno. La Sentiment Analysis ragiona in base all’estrazione di termini che possono indicare se agli utenti piace o no un determinato prodotto/oggetto. 24 Big Data Analytics: SAP HANA I domini di impiego sono svariati, un esempio è in politica, per monitorare l’opinione dei votanti o di determinate discussioni politiche. Antecedentemente, l’analisi sentimentale era effettuata manualmente dal dipartimento marketing di una azienda (o organizzazione), però tali operazioni sono complesse e limitate, per cui si è spostata l’attenzione sullo sviluppo di tecniche automatizzate. Esistono diversi approcci di Sentiment Analisys: Machine learning Lexicon-based Ci soffermiamo sui testi. SAP HANA permette la trattazione di testi attraverso le funzionalità di Text Analysis. La Text Analysis è il processo che permette l’analisi di un testo non strutturato, per estrarne le informazioni e tradurle in strutturate, in modo da poterle analizzare. Figura 2.10 – Text Analysis conversione testo non strutturato 25 Big Data Analytics: SAP HANA Precisamente SAP HANA mette a disposizione per le analisi del testo i seguenti strumenti: Full Text Search Full Text Index Fuzzy Search La funzione primaria del Full Text Search è di ottimizzare la ricerca linguistica. Esso è utilizzato per eseguire ricerche linguistiche nel testo e nei documenti memorizzati nel database. In questo tipo di ricerca si prendono in considerazione tutte le parole in tutti i documenti memorizzati, poiché ricerca un criterio di matching del testo (specificato dall’utente) in ogni documento. Quando si ha a che fare con un numero limitato di documenti è possibile utilizzare Full Text Search, che scannerizza direttamente i contenuti dei documenti con ogni query; questa strategia è detta serial scanning. Tuttavia quando il numero di documenti da cercare è elevato, il Full Text si particolarizza nel Full Text Index che si divide in due task: indicizza- zione e ricerca. La fase di indicizzazione scannerizza tutto il testo dei documenti e crea un elenco di termini di ricerca (o meglio un indice); nella fase di ricerca, in base alla query richiesta, ci si riferisce allo specifico indice e non più al testo contenuto nei documenti in origine. 26 Big Data Analytics: SAP HANA L’indicizzatore crea una entry (una voce) nell’indice per ogni termine o parola trovata in un documento ed eventualmente annota la posizione relativa al suo interno. Concettualmente Full Text Index consente la ricerca per colonne allo stesso modo di una ricerca in un libro attraverso il suo indice. Fuzzy Search, conosciuta come ricerca di approssimazione di stringa, è una tecnica per trovare delle stringhe che corrispondono a quelle di un modello approssimativo (simile al caso esatto); si tratta di uno strumento che trova applicazione nella ricerca di stringhe con errori ortografici o incomplete. Un esempio di applicazione di fuzzy molto frequente è apprezzabile col motore di ricerca Google: si ricerca la stringa ‘Fcbok’, il motore di ricerca risponde coi risultati correlati alla stringa inserita ma anche la seguente dicitura “risultati relativi a Facebook”, se si clicca sopra questo alert si effettua una nuova ricerca, questa volta della stringa corretta. Figura 2.11 – Text Analysis 27 Big Data Analytics: SAP HANA Conclusioni In questo elaborato si sono analizzati gli aspetti positivi che portano i Big Data nel mondo del business, basti pensare che grazie a queste metodologie è possibile comprendere in modo rapido ed approfondito le dinamiche sui mercati in cui si opera, quindi è possibile anticipare determinate decisioni di marketing per ottenere vantaggi rispetto i propri competitors. I Big Data sono rivolti principalmente ad aziende di grandi dimensioni, che già utilizzano queste tecnologie e che, grazie all’integrazione con i servizi di cloud computing, iniziano ad ottenere dei benefici. Bisogna però analizzare alcuni aspetti negativi riguardo la filosofia Big Da- ta, ossia la qualità dei dati che si vanno ad analizzare e la proprietà e privacy dei dati stessi, oltre ciò è importante analizzare la situazione in Italia: il Big Data Analytics nel nostro paese è ancora acerbo. Prima di tutto, si confonde facilmente la definizione di Big Data con quella di Data Mining o Business Intelligence. Un altro aspetto fondamentale è che con i Big Data si analizzano dataset molto elevati (ordine dello zettabyte), in realtà, poche aziende al mondo hanno il bisogno di analizzare volumi di dati così enormi e in particolare in Italia. 28 Big Data Analytics: SAP HANA Alcuni esempi: - Analisi politiche sui social network, in particolare su Twitter, quest’ultimo ha i numeri da big data, ma le analisi effettuate sui twe- et del corpo elettorale (circa 3,5 milioni di italiani hanno utilizzato Twitter durante la campagna elettorale) son fatte con strumenti tradizionali. - L’edizione di Sanremo 2013, che per numero di tweet fu un evento record in Italia, ha registrato circa 150.000 tweet durante la finale, il volume di dati può essere racchiuso in circa 77 MB (senza compressione), si può già capire che l’analisi dei dati è stata fatta senza ricorrere ai big data. - Le transazioni bancarie sono effettuate sempre su sistemi transazionali (database tradizionali) e non con tecnologia Big Data, il motivo è semplice: se consideriamo che in Italia ci sono 38 milioni di conti correnti (bancari e postali), calcolando su una media di 20 operazioni al mese (si considerano conti retail e non business) ci sono 600 milioni di operazioni al mese su tutti i conti correnti, cioè in 1 anno sono 7 miliardi. È un numero alto, ma gestibile tranquillamente senza l’aiuto dei big data, il volume complessivo di dati è di alcuni terabyte. Inoltre si è discusso di SAP HANA, una piattaforma in-memory in grado di processare grandi volumi di dati in tempo reale, andando a discutere i principali motivi che rendono performante questo tool. 29 Big Data Analytics: SAP HANA Riepiloghiamo i vantaggi nell’uso di SAP HANA: - Velocità e processing in real time HANA gestisce enormi volumi di dati ad alta velocità e in tempo reale, grazie alla tecnologia in-memory. - Varietà dei dati HANA gestisce in modo egregio sia dati strutturati che non, provenienti da sorgenti interne o esterne. - Qualsiasi fonte HANA si integra con molteplici ambienti, infatti permette la gestione dei dati del DBMS Oracle, Microsoft SQL Server e IBM DB2. - Facilità delle viste Con HANA è possibile creare in modo facile e rapido viste ad-hoc senza la necessità di conoscere i dati o il tipo di query. - Innovazione SAP HANA ha innovato il sistema di calcolo in-memory, la sua facilità di configurazione ed integrazione e le sue funzionalità rendono flessibile qualsiasi attività di business richiesta. - Cloud HANA offre un cloud computing tra i più avanzati, veloce, scalabile e sicuro. 30 Big Data Analytics: SAP HANA - Semplicità HANA punta a ridurre/eliminare l’aggregazione dei dati, l’indicizzazione, il mapping ed exchange-transfer-load (ETL) necessari nei datawarehouse e data marts. Incorpora logiche di business prestabilite, calcolo in-memory ed ottimizzazione per processori multicore a 64 bit. - Costo HANA riduce i costi di IT, così è possibile investire maggiormente sull’innovazione aziendale. - Libertà di scelta HANA permette di lavorare con i propri partner preferiti, sia dal punto di vista hardware che software. Figura 2.09 – SAP HANA Performance 31 Big Data Analytics: SAP HANA Sviluppi Futuri Possiamo concludere menzionando alcune realtà che sfrutteranno SAP HANA. Novembre 2016 – SAP annuncia la collaborazione con GE Digital nell’industria iot (internet of things). GE Digital offre la piattaforma PREDIX, che rivoluziona la digital transformation delle industrie attraverso la internet of things, la società prevede di elaborare 1 milione di terabyte al giorno nel 2020. Dicembre 2016 – SAP HANA aiuterà a trasformare la città di Nanjing (Cina) in una “città intelligente”. La città cinese è tra le più trafficate al mondo, 8,23 milioni di persone, che viaggiano in 10.000 taxi e 1 milione di auto private; da questi numeri si capisce che la città è in difficoltà nel gestire il traffico. Per questo motivo è stato sviluppato un sistema di gestione intelligente grazie all’utilizzo di algoritmi avanzati su SAP HANA che lavorano su dati captati da sensori e chip RFID. 32 Big Data Analytics: SAP HANA Tali sensori comunicano direttamente con le telecamere del traffico, in tal modo è possibile monitorare in tempo reale il traffico e prevedere le possibili future congestioni. Dicembre 2016 – Mercedes-AMG utilizzerà SAP HANA per l’ottimizzazione dei processi di produzione. La società già utilizza software SAP, per la precisione, SAP ERP su HANA per ottimizzare il processo produttivo e nel 2018 passerà alla nuova relea- se di SAP S/4 HANA (nuova generazione di SAP BUSINESS SUITE ottimizzata per l’uso su SAP HANA) che punta a migliorare le funzionalità di logistica. 33 Big Data Analytics: SAP HANA Bibliografia [1] Mauriello, Carmine - 2016 - “Sistemi Di Multiclassificazione su Hardware Riprogrammabile” [2] Pascucci, Lorenzo - 2013 - “Big Data: cosa sono” URL: www.webmasterpoint.org/speciale/big-data-cosa-sono.html [3] De Biase, Luca - 2013 - “Che cosa pensereste se vi dicessero che in Italia i Big Data non esistono?” URL: blog.debiase.com/2013/05/22/che-cosa-pensereste-se-vi-dicesseroche-in-italia-i-big-data-non-esistono/ [4] saphanatutorial - 2015 - “SAP HANA Architecture Overview” URL: www.saphanatutorial.com/sap-hana-basic-course-2-1/ [5] saphanatutorial - 2014 - “Column Vs Row Data Storage” URL: www.saphanatutorial.com/sap-hana-basic-course-2-3/ [6] saphanatutorial - 2012 - “SAP HANA Backup and Recovery” URL: www.saphanatutorial.com/sap-hana-basic-course-2-4/ [7] Wikipedia, l’enciclopedia libera - 2016 - “Big data” URL: it.wikipedia.org/wiki/Big_data [8] Wikipedia, l’enciclopedia libera - 2016 - “SAP HANA” URL: it.wikipedia.org/wiki/SAP_HANA/ 34 Big Data Analytics: SAP HANA Ringraziamenti Ringrazio il Professore Ing. Vincenzo Moscato, per la massima disponibilità dimostratami. Ringrazio mia madre e mio padre, per aver sostenuto questo traguardo e che, nonostante tutto, hanno sempre creduto in me. Ringrazio i miei fratelli, fonte di ispirazione. Ringrazio tutti i miei colleghi universitari, adesso divenuti amici, per lo splendido percorso ed avventure passate insieme, oltre al supporto prezioso offertomi durante questo percorso. 35