Top Banner
Gino Farisano Prof.ssa G. Tortora Prof. G. Polese Big Data Università degli Studi di Salerno Sistemi Informatici e Tecnologie del Software Basi di Dati II Anno 2014/2015
46

Presentazione bd2

Jan 13, 2017

Download

Technology

Gino Farisano
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Presentazione bd2

Gino FarisanoProf.ssa G. Tortora Prof. G. Polese

Big Data

Università degli Studi di Salerno Sistemi Informatici e Tecnologie del Software

Basi di Dati IIAnno 2014/2015

Page 2: Presentazione bd2

Outline

Page 3: Presentazione bd2

Outline

Page 4: Presentazione bd2

Outline

Page 5: Presentazione bd2

Outline

Page 6: Presentazione bd2

Big Data? Perchè?

Bene, perché sono…

Page 7: Presentazione bd2

…BIG

“maggiore è la lotta, più glorioso sarà il trionfo”

Page 8: Presentazione bd2

How much data?• Ogni giorno vengono generati exabytes di dati sul www

• “il 90% dei dati nel mondo è stato generato negli ultimi due anni”. [Science Daily]

• “nel 2012 ogni giorno sono stati generati 2.5 exabyte” [IBM]

• L'idea di base dietro la frase “Big Data” è che, tutto quello che facciamo, lascia delle tracce digitali

• Big Data si riferisce quindi alla nostra capacità di utilizzare questi crescenti volumi di dati.

Page 9: Presentazione bd2

Activity data

• Attività semplici come l'ascolto di musica o la lettura di un libro generano dati.

• Lettori musicali digitali e eBook raccolgono dati sulle nostre attività.

• Lo smartphone raccoglie i dati su come lo si ut i l izza e i l browser web raccogl ie le informazioni su ciò che si sta cercando.

• La vostra carta di credito raccoglie i dati su ciò che si acquista.

• É difficile immaginare qualsiasi attività che non genera dati.

Page 10: Presentazione bd2

Le 3V dei Big Data

VOLUMETerabyteRecords

Transazioni Tabelle, Files

Kilobyte KB

Megabyte MB

Gigabyte GB

Terabyte TB

Petabyte PB

Exabyte EB

Zettabyte ZB

Yottabyte

(dieci alla ventitreesima)

YB

Page 11: Presentazione bd2

Le 3V dei Big Data

VELOCITÀ Batch

Near Real Time Real TimeStreams

Velocità di obsolescenza

dell’informazione

e

i dati invecchiano in fretta

Page 12: Presentazione bd2

Le 3V dei Big Data

VARIETÀ Strutturati

Non strutturati Semi strutturati

Page 13: Presentazione bd2

Data Conversation

Tina Mu

Tom Sit

Chloe

Name, Birthday, Family

Monetizable IntentJo Jobs

Not Relevant - Noise

Not Relevant - Noise

Page 14: Presentazione bd2

The Internet of things• L'Internet delle cose, o Internet of Everything collega

diversi dispositivi tra di loro

• I dati del traffico catturati da sensori sulla strada, ad esempio, inviano i dati al vostro orologio di allarme che vi sveglierà prima del previsto perché la strada potrebbe essere bloccata. Dovrete svegliarvi prima delle 9:00 per poter essere puntuali alla presentazione che si terrà alle 10:00!

Page 15: Presentazione bd2

Online Advertising NYTimes

Page 16: Presentazione bd2

Ulteriori applicazioni

Sicurezza

Finanza Sanità Vendita su più canali

Telecomunicazioni

Settore manifatturiero

Controllo del traffico

Trading Analytics Frodi

Analisi dei log

Controllo qualità

Retail: Churn, NBO

Page 17: Presentazione bd2

Ci sono alcune cose che sono così grandi che hanno implicazioni per tutti…

I Big Data sono una di quelle cose e, stanno trasformando completamente il modo di fare

business…

Page 18: Presentazione bd2

Perché non abbiamo usato i Big Data prima?

• Key points: 1. Disponibilità di dati 2. Dispositivi di memorizzazione più

capienti e meno costosi 3. Nuove tecniche di memorizzazione

dei dati 4. Nuove tecniche di calcolo parallelo

Page 19: Presentazione bd2

Tecnologie per i Big Data

Page 20: Presentazione bd2

Hadoop (1)

• Rilasciato dalla Apache Software Fondation • Scritto in Java • Elaborazione di grosse quantità di dati in applicazioni

distribuite • elevato numero di commodity hardware • orientato all’elaborazione batch • modello di computazione map/reduce

Page 21: Presentazione bd2

Yahoo! usa Hadoop

Page 22: Presentazione bd2

Facebook usa Hadoop

Page 23: Presentazione bd2

Twitter usa Hadoop

Page 24: Presentazione bd2

Storia• La storia di Hadoop inizia con Nutch

• Costruire un open source web search engine e web crawler che catturasse miliardi di URL al mese

• Problemi di scalabilità

• All’inizio degli anni 2000 Google aveva pubblicato GFS e MapReduce • La soluzione al problema posto da Nutch

Page 25: Presentazione bd2

Hadoop (2)• Hadoop è formato principalmente da 4 macro-progetti

• Hadoop Common: librerie di base per la corretta esecuzione di Hadoop

• Hadoop Distributed File System (HDFS): un file system distribuito che fornisce un accesso veloce ai dati

• Hadoop MapReduce: un sistema per l’elaborazione in parallelo di grandi quantità di dati

• Hadoop YARN: per la pianificazione dei processi e la gestione delle risorse del cluster

Page 26: Presentazione bd2

HDFS (1)• Ispirato al Google File System (GFS) • Block-structured file system

• I singoli file sono suddivisi in blocchi di dimensioni fissate • Un file è costituito da vari blocchi non necessariamente

memorizzati sulla stessa macchina

Page 27: Presentazione bd2

HDFS (2)• Architettura master/slave • Un cluster HDFS consiste di un solo NameNode, un master

che gestisce il file system name space e regola l’accesso dei client ai file

• Ci sono molti DataNode, solitamente uno per ogni nodo del cluster

Page 28: Presentazione bd2

MapReduce (1)• MapReduce è un paradigma di programmazione di Google

usato con successo per processare i “Big Data” • Le pr imi t ive map e reduce sono present i ne l la

programmazione funzionale, ad esempio in Lisp • I programmi scritti con questo stile, possono essere

facilmente parallelizzati su un grande numero di macchine • astrae i dettagli scabrosi della programmazione parallela • gestione automatica delle failures dei nodi

Page 29: Presentazione bd2

MapReduce (2)

Page 30: Presentazione bd2

Acquisizione dei Big Data

• API: Twitter API, Facebook API ed API dei motori di ricerca

• Web scraping: cURL, Apache Tika • ETL: Sqoop • Stream: Apache Flume

Page 31: Presentazione bd2

Twitter API

• Il lancio delle API twitter nel 2009 ha ispirato numerose iniziative di ricerca

• Oauth autentication • Sentiment analysis [Datumbox], mezzo di

comunicazione in caso di emergenze [Building a Data Warehouse for Twitter Stream Exploration]

Page 32: Presentazione bd2

Strumenti di web scraping - cURL

•Simulano la navigazione umana nel World Wide Web

•Confrontare prezzi online, monitorare dati meteorologici, ricerca scientifica 

•Possibilità di specificare più URL: specificare più URLs: http://site.{one,two,three}.com

•Sequenze: ftp://ftp.numericals.com/file[1-100].txt

•Utilizzo di cookie, proxy

Page 33: Presentazione bd2

Apache Tika

•Strumento di knowledge management •Estrattore di metadati da documenti testuali •Se i metadati sono assenti o non rispettano metriche di qualità come quelle del Dublin Core Metadata vengono utilizzate tecniche di text mining per estrarre i metadati direttamente dal contenuto del documento

Page 34: Presentazione bd2

Flume•Spostamento di grandi flussi di dati nel file system distribuito di Hadoop

• progettato per raccogliere log web in tempo reale

Page 35: Presentazione bd2

Squoop

•"sblocco" dei dati memorizzati negli RDBMS di un'organizzazione e il trasferimento di quest’ultimi in Hadoop

Page 36: Presentazione bd2

• Tecnologia per interrogare i Big Data come se fossero tabelle SQL

• HiveQL • Produce in modo trasparente software MapReduce • Inizialmente sviluppato da Facebook • Data presentation layer

• Come Hive, ma utilizza come linguaggio di alto livello Pig Latin

• Data preparation layer

Hive and Pig

Page 37: Presentazione bd2
Page 38: Presentazione bd2

Why SQL?•Schema predefinito per lo storage di dati strutturati •Struttura BCNF già familiare •Strong consistency •Transazioni •Maturi e accuratamente testati •Basati sulle proprietà ACID •Data Retrieval: Standard Query Language (SQL) - versatile e potente

•Scalabilità verticale: se volessimo rendere un DB SQL scalabile, l’unica alternativa sarebbe quella di potenziare l’hardware sul quale il DBMS è installato

Page 39: Presentazione bd2

Why NoSQL? (1)

Page 40: Presentazione bd2

Why NoSQL? (2)

• Non relazionali: l’approccio rigido dei db relazionali non permette di memorizzare dati fortemente dinamici. I db NoSQL sono “schemaless” e consentono di memorizzare “on the fly” attributi, anche senza averli definiti a priori

• Distribuiti: la flessibilità nella clusterizzazione e nella replicazione dei dati permette di distribuire su più nodi lo storage, in modo da realizzare potenti sistemi “fault tollerance”

• Scalabili orizzontalmente: in contrapposizione alla scalabilità verticale, abbiamo architetture enormemente scalabili, che consentono di memorizzare e gestire una grande quantità di informazioni

• Open-source: filosofia alla base del movimento NoSQL

Page 41: Presentazione bd2

Brewer’s CAP Theorem

Un sistema distribuito è in grado di supportare solamente due tra le seguenti caratteristiche:

• Consistency: tutti i nodi vedono lo stesso dato allo stesso tempo

• Availability: ogni operazione deve sempre ricevere una risposta

• Partition Tolerance: capacità di un sistema di essere tollerante ad una aggiunta, una rimozione di un nodo nel sistema distribuito o alla non disponibilità di un componente singolo

Page 42: Presentazione bd2

Logica Base

• I database di tipo NoSQL, per poter essere scalabili come richiesto, devono sacrificare delle proprietà e dunque non possono in alcun modo aderire strettamente al modello ACID

• Logica operazionale BASE: • Basically Available: garantire sempre la disponibilità dei dati. • Soft-state: il sistema può cambiare lo stato anche se non si verificano scritture o letture

• Eventual consistency: la consistenza può essere raggiunta nel tempo.

Page 43: Presentazione bd2
Page 44: Presentazione bd2

NoSQL categoriesKEY-VALUE DATA STORE

• Utilizza un associative array (chiave-valore) come modello fondamentale per lo storage

• Storage, update e ricerca basato sulle chiavi

• Tipi di dati primitivi familiari ai programmatori

• Semplice

• Veloce recupero dei dati

• Grandi moli di dati

DOCUMENT DATA STORE

• Supporto a diversi tipi di documento

• Un documento è identificato da una chiave primaria

• Schema-less

• Scalabilità orizzontale

COLUMN-ORIENTED DATA STORE

• I dati sono nelle colonne anziché nelle righe

• Un gruppo di colonne è chiamato famiglia ed vi è un’analogia con le tabelle di un database relazionale

• Le colonne possono essere facilmente distribuite

• Scalabile

• Performante

• Fault-tollerance

GRAPH-BASED DATA STORE

• Utilizza nodi (entità), proprietà (attributi) e archi (relazioni)

• Modello logico semplice e intuitivo

• Ogni elemento contiene un puntatore all’elemento adiacente

• Attraversamento del grafo per trovare i dati

• Efficiente per la rappresentazione di reti sociali o dati sparsi

• Relazioni tra i dati centrali

Page 45: Presentazione bd2

Predicted lack of talent for Big Data related technology

Page 46: Presentazione bd2