SlideShare a Scribd company logo
1 of 38
1
Big Data
Stack Tecnologico
Data
BD-ST
Descrizione delle principali tecnologie abilitanti alla
gestione dei Big Data, con particolare attenzione
all’ecosistema che gravita intorno al framework
Hadoop di Apache.
Abstract
Team Leader presso Consulthink
SpA
https://www.linkedin.com/in/massimorom
ano
Relatore
BD-ST
BD-ST
Definizione?
BD-ST
• Big data è il termine utilizzato per descrivere una raccolta di dati così grande e
complessa da richiedere strumenti differenti da quelli tradizionali per il loro
trattamento, in tutte le fasi del processo: dall'acquisizione, alla curation,
passando per condivisione, analisi e visualizzazione.
• Le caratteristiche principali dei big data, si possono riassumere nelle tre "V”:
1. Volume: nel senso di ingenti quantitativi di dati non gestibili con i
database tradizionali;
2. Velocità: dati che sono generati e richiedono di essere processati a ritmi
sostenuti (o in tempo reale);
3. Varietà: elementi di diversa natura e non necessariamente strutturati
come testi, audio, video, flussi di click, segnali provenienti da RFID,
cellulari, sensori, transazioni commerciali di vario genere.
Definizione (wikipedia)
• Solo in Italia ogni giorno sono creati 2,5 quintilioni di byte di dati, il 90% dei quali
è stato creato solo negli ultimi due anni (IBM).
1 quintilione = 1000000000000000000000000000000 = 1E30
• L’utilizzo delle piattaforme tradizionali per la gestione di tale mole di informazioni
non è una opzione “impossibile” dal punto di vista tecnologico, ma significa
“convertire” dati non strutturati e/o poco correlati in una forma gestibile dai
database relazionali per il loro trattamento.
• Tale processo di conversione richiede una tale quantità di tempo e costi
talmente elevati rispetto all’obiettivo perseguito che l’opzione risulta
semplicemente:
“Economicamente Non Sostenibile”.
Motivazioni
BD-ST
• Google: estrazione degli indici dei documenti;
• Facebook: profilazione degli utenti;
• Amazon: fornire suggerimenti di acquisto;
• Walmart: analisi del comportamento di acquisto dei propri clienti (Teradata);
• AT&T: pianifica la riparazione delle celle in base alla Customer Experience;
• Germania: analisi dei propri avversari nei mondiali di Brasile 2014 (SAP);
• Mediaset: sentiment analisi incrociando social media ed altre fonti (IBM);
• Telecom Italia: monitoraggio della rete e produzione di KPI;
• Agenzia delle Entrate: elaborazione dati sul reddito;
Esempi
BD-ST
• Migliori prestazioni perché dovuti all’eliminazione di
eventuali colli di bottiglia.
• L’infrastruttura di rete deve essere adeguata al
trasferimento di dataset di dimensioni dell’ordine di
qualche terabyte.
• Sicurezza, al backup e ripristino dei dati, alla
governance.
Infrastruttura (Shared Nothing)
BD-ST
• Richiedono un approccio basato su un modello
decentralizzato.
• Utilizzo di tanti “commodity server” di piccole
dimensioni con risorse di storage gestiti localmente.
• Maggiore flessibilità (costi e scalabilità) perché si
utilizzano migliaia di server di fascia bassa piuttosto
che migliaia di server enterprise e storage condiviso.
SMP: Symmetric Multi Processing
MPP: Massive Parallel Processing
Tecnologie
BD-ST
BigData
Acquisizione
Calcolo/
Analisi
Integrazione/Arricchimento
Immagazzinamento Organizzazione
http://wiki.apache.org/hadoop/PoweredBy
• Hadoop è un framework per il calcolo parallelo di dataset molto grandi (ordine
dei petabyte) su un elevato numero di nodi (poche decine a diverse migliaia)
composti da server “standard” (basso costo).
• Il suo utilizzo in scenari tradizionali (elaborazione di singoli record, OLTP) è
fortemente sconsigliato e non avrebbe senso;
• Orientato all’elaborazione batch (Twitter Storm per elaborazione Real-Time).
• Modello di computazione adottato è Map Reduce (Dean e Ghemawat) basato
sul principio “divide et impera” ed ispirato alle funzioni map() e reduce() del LISP.
• 165 organizzazioni censite sulla pagina ufficiale: Twitter, Google, Spotify,
LinkedIn, Last.fm, IBM, Facebook, Ebay, Adobe, etc.
Hadoop
BD-ST
• Pensato per realizzare un sistema distribuito di larga scala, senza preoccuparsi
dei problemi legati alla sua gestione: partizionamento dei dati, scheduling dei
thread, controllo dei fallimenti dei nodi, gestione della comunicazione i nodi.
• Rispetto a modelli tradizionali di calcolo parallelo (Grid Computing):
• Utilizza risorse locali e non aree di storage condivise;
• Offre librerie di programmazione semplici e di alto livello;
• Gestisce problemi a livello applicativo invece di sfruttare sistemi hardware di
alta affidabilità;
Hadoop
BD-ST
• Hadoop common (strato software
comune con funzioni di supporto);
• YARN (framework per calcolo
distribuito si occupa della gestione
delle risorse);
• Hadoop Distributed File System
(HDFS - derivato da Google's GFS)
• Hadoop MapReduce Framework
(derivato da Google's MapReduce).
Hadoop
BD-ST
HADOOP
Distributed
Storage
(HDFS)
Distributed Processing
(MapReduce)
Common
YARN
Architettura Hadoop
BD-ST
MASTER
Node
Name
Job
Tracker
SLAVE
Data
Name
Task
Tracker
SLAVE
Data
Name
Task
Tracker
CLIEN
T APP.
1000s
Svincola dai problemi relativi a:
- Collocazione dei file;
- Gestione dei fallimenti;
- Scomposizione del calcolo;
- Gestione della scalabilità;
HDFS
BD-ST
• Ogni file è suddiviso in blocchi (64MB
o 128MB) ridondati su più nodi
(default 3 copie) ospitati su rack
differenti;
• La ridondanza garantisce l’affidabilità
ma anche l’efficienza nel recupero dei
file (coinvolto il nodo più vicino);
• Fornisce al programmatore un modello di storage virtualmente infinito;
• Progettato per gestire un numero elevato di file di dimensioni ragguardevoli
(terabyte);
• Identificazione dei guasti e recovery dei dati è la sua caratteristica principale;
HDFS
BD-ST
• Name Node: sono due uno attivo, l’altro in standby. Gestisce il file system:
• Il namespace ovvero elenco dei file e dei blocchi in cui sono suddivisi;
• Le strategie di replica e allocazione dei blocchi;
• Verifica la presenza dei nodi per l’affidabilità.
• Costituisce un single point of failure;
HDFS
BD-ST
• Secondary Name Node: di supporto al
NameNode (per l’efficienza) esegue le
operazioni di checkpoint (Checkpoint
Node);
• Backup Node: simile al
CheckpointNode ma mantiene il
namespace in memoria e lo aggiorna
continuamente.
HDFS
BD-ST
• Data Node: gestisce fisicamente lo storage e soddisfa le richieste dei client.
• Inviano un heartbeat (ogni 3sec) al NameNode con un block report. Se il nodo è
giù o i blocchi corrotti è avviata la procedura di replica;
• I client contattano il Name Node per conoscere quale Data Node contiene le
informazioni richieste;
MapReduce
BD-ST
• MapReduce è basato sul concetto di functional programming dove c’è scarsa
codivisione dei dati;
• Prevede la suddivisione del calcolo in
diverse parti (divide et impera)
processabili in modo autonomo;
• L’implementazione consiste nello
specificare: input, output e funzioni
map e reduce come implementazioni
di classi java.
• L’output finale può essere input di un
nuovo job MapReduce.
Word Count
BD-ST
Map(k1,v1) → list(k2,v2)
map(String name, String document)
{
// name: document name
// document: document contents
for each word w in document:
emit (w, 1)
}
Reduce(k2, list (v2)) → list(v3)
reduce(String word, Iterator partialCounts){
// word: a word
// partialCounts: list of aggregated partial
counts
sum = 0
for each pc in partialCounts:
sum += ParseInt(pc)
emit (word, sum)
MapReduce
BD-ST
• JobTracker: Execution Plane e Coordination;
• Si occupa della gestione del ciclo di vita dei job MapReduce;
• Privilegia i nodi che contengono i dati o altrimenti seleziona un nodo nello
stesso rack;
• In caso di fault si fa carico della ripetizione del job;
• TaskTracker: eseguono i task (di map o reduce) sotto la direzione del
JobTracker;
MapReduce
BD-ST
1. Client sottomette e job al JobTracker e copia i file binari (jar) in HDFS;
2. JobTracker interroga il NameNode per conoscere dove sono collocati i dati
necessari;
3. JobTracker identifica i nodi più vicini ai dati e verifica che abbiano slot disponibili
(data-local, rack-local, cross-rack) quindi crea un piano di esecuzione;
4. TaskTracker esegue il job e riporta al JobTracker attraverso heartbeat;
Ecosistema Hadoop
BD-ST
• The Hadoop Ecosystem Table
http://hadoopecosystemtable.github.io/
• Big Data Ecosystem
http://hadoopilluminated.com/hadoop_illuminated/Bigdata_Ecosystem.
html
HDFS
(Hadoop Distributed File System)
HCatalog
(Table & Schema Management)
Mapreduce
(Distributed Programming Framework)
HIVE
(SQL)
PIG
(Data Flow)
Flume/Sqoop/Tika
(Dataintegration)
Hbase
(ColumnarNoSQLStore)
Zookeeper
(Coordination)
Ambari
(Management)
Ecosistema Hadoop
Tika
BD-ST
• Strumento per la l’identificazione e
l’esrtazione di metadati e testo danumerosi
tipi di documenti;
• Formati: HTML, XML, Microsoft Office,
PDF, RTF, EPUB, OpenDocument, ZIP,
TXT, Immagini, Audio, Video, JAR, MBOX,
etc.
• Funzionalità di Mime Type detection,
parsing ed estrazione lingua.
• Utilizzabile sia per la fase di acquisizione
che per quella di
integrazione/arricchimento.
• Facilmente integrabile con Apache Solar.
Flume
BD-ST
• Strumento per la movimentazione di grosse quantità di dati da una sorgente
verso una destinazione;
• Sorgente: File di testo, TCP o UDP, Avro, Altro Agent, Personalizabili (in java);
• Destinazioni: HDFS, Hbase, Logger, Avro, Altro Agent, Personalizzabili (in java);
• Scalabile orizzontalmente e dispone di meccanismi di failover e recovery che
garantiscono il delivery dei dati;
• Basata sul concetto di Agent che esegue le seguenti operazioni: raccolta dei dati
(source), passaggio e conservazione (channel) e instradamento(sink);
• Utilizzo tipico è la lettura dei
log da diversi server ed il loro
instradamento verso HDFS,
dopo averli aggregati.
Sqoop
BD-ST
• Strumento per il trasferimento dei dati tra database relazionali (RDBMS) e
Hadoop (HDFS, Hbase, Hive);
• Database supportati: Teradata, Netezza, Oracle, MySQL, Postgres, and
HSQLDB;
• Architettura basata su connettori che consente l’estensione attraverso
l’implementazione di plug-in;• Utilizza job MapReduce per l’import
parallelo dei dati opportunamente
partizionati;
• Utilizza l’introspezione per ottenere i
metadati necessari all’import.
• La classe java generata può essere
utilizzata per elaborazione
MapReduce.
sqoop import –connect dbc:mysql://…. –username user –password
password –table tab1 –targhet-dir /folder_hdfs1/folder_hdfs2
HCatalog
BD-ST
• Hadoop consente la gestione dei dati indipendentemente dal loro formato grazie
alla mancanza di uno schema fisso;
• Lo schema è applicato nel momento in cui sono utilizzati attraverso
l’applicazione di uno strato di metadati che consentono, agli strati applicativi, di
interagire con i dati con linguaggi di query;
• Compito di HCatalog è si semplificare la creazione e gestione dei metadati e la
loro esposizione agli strumenti che li utilizzano;
• Fornisce un layer di metadati che consente di avere una visione relazionale dei
dati, organizzandoli in tabelle e database;
Hive
BD-ST
• Strumento di data warehousing in grado di manipolare grandi quantità di dati
presenti in sistemi distribuiti (OLTP vs OLAP);
• ETL: caricamento e manipolazione dei dati;
• Consente una strutturazione relazionale dei dati;
• Linguaggio simile a SQL (HiveQL);
• L’output del compilatore è una serie di job MapReduce
che si occupano dell’esecuzione delle query;
• Si avvale di un repository (metastore) che conserva i
metadati di ciascuna tabella oppure utilizza HCatalog;
• Lento quindi non adatto ad interrogazioni real-time;
• Non destinato a rimpiazzare SQL ma è uno strumento
per creare job su grandi moli di dati;
HBase
BD-ST
• Schemaless, Wide Table, Denormalized;
• Studiato per lavorare su cluster di nodi, ognuno
con il proprio storage, la propria cache e la
propria capacità di computazione;
• Consente l’accesso rapido (random, low
latency) ad una singola riga fra miliardi di
record, diversamente HDFS consente un
accesso batch ai dati (high latency).
• Un Data Base distribuito (modellata su BigTable di Google) column-oriented,
lavora sopra HDFS;
• Tratta sia dati strutturati che non strutturati;
• E’ un database relazionale ma consente una modellazione flessibile e
dinamica dei dati in quanto non si cura dei tipi;
HBase
BD-ST
• Fortemente basato su HDSF;
• In corrispondenza dei NodeName e
dei DataNode sono presenti le
istanze dei servizi HMaster e
RegionServer;
• HMaster ha funzioni di
monitoraggio, gestisce le modifiche
ai metadati, load balancing,
assegnazione region;
• I RegionServer gestiscono le
cosiddette region, elemento di base
per la distribuzione delle tabelle;
• I dati sono organizzati in una
gerarchia Tabella->Region->…
Pig
BD-ST
• Piattaforma per semplificare l’analisi e manipolazione di grandi quantità di dati;
• Come Hive, nasce per evitare la realizzazione job MapReduce che può risultare
oneroso;
• Basato su:
• PigLatin: linguaggio di script per la gestione di flussi di dati;
• Pig Engine: parsa, ottimizza ed esegue gli script PigLatin come una serie di
job MapReduce che poi sottomette al cluster Hadoop;
• Consente l’utilizzo di Hadoop a quanti con conoscono Java e MapReduce
offrendo un approccio semplificato;
• Non richiede nessuna installazione sui cluster in quanto si compone
semplicemente di un client che sottomette e monitorizza i job creati;
Pig
BD-ST
• Notevole incremento
della produttività.
Zookeeper
BD-ST
• Fornisce una infrastruttura centralizzata e dei servizi che consentono il
coordinamento di applicazioni distribuite (Distributed Coordination Service);
• Configurazione centralizzata dei nodi;
• Sincronizzazione degli oggetti comuni nel cluster;
• Serializzazione;
• Consistenza sequenziale;
• Atomicità;
• Immagine singola del sistema;
• Affidabilità;
• Tempestività.
Ambari
BD-ST
• Strumento di gestione e monitoraggio del cluster Hadoop;
• Fornisce una interfaccia web per l’amministrazione;
• Supporta: HDFS, MapReduce, Hive, HCatalog, HBase, Zookeeper, Oozie, Pig,
Sqoop;
• Utilizza dei wizard per l’installazione;
• Fornisce tool per l’avvio e l’arresto dei servizi sui vari nodi;
• Effettua monitoraggio e reporting anche tramite alert e-mail.
Altro
BD-ST
• Oozie: motore di workflow;
• Cassandra: database column-oriented (Amazon);
• Mahout: libreria per machine learning;
• Hue: interfaccia web per l’analisi dei dati con hadoop;
• Whirr: librerie per eseguire cloud services;
• Knox: rest api gateway per l’interazione conl cluster hadoop;
• Kafka: message broker distribuito per gestione di feed in real-time;
• Storm: real-time computation system;
• Spark: data analytic cluster computing framework;
Non Apache
• R: software per analisi statistiche di base ed avanzate (librerie RHive e
RHadoop);
• Impala: motore di esecuzione di query distribuite (Cloudera) con prestazioni real-
time;
• HAWQ: motore di esecuzione di query distribuite (Pivotal);
BD-ST
Bibliografia ed Approfondimenti
• http://hadoop.apache.org/
• http://hadoopecosystemtable.github.io/
• http://storm.incubator.apache.org/
• J. Dean, S. Ghemawat, MapReduce: Simplified data processing on
large clusetrs, in OSDI’04: 137-150.
• Alessandro Rezzani: Architettura, tecnologie e metodi per l’utilizzo
di grandi basi di dati.
• Oracle BigData Virtual Machine
http://www.oracle.com/technetwork/database/bigdata-
appliance/oracle-bigdatalite-2104726.html
• Hortonworks Sandbox
http://hortonworks.com/products/hortonworks-sandbox/
40
Grazie per l’attenzione
Contatti
Web: www.consulthink.it
Mail: info@consulthink.it
Telefono:+39-06 4549 2416
Fax:+39-06 4549 2454
BD-ST
Bibliografia ed Approfondimenti
• http://hadoop.apache.org/
• http://hadoopecosystemtable.github.io/
• http://storm.incubator.apache.org/
• J. Dean, S. Ghemawat, MapReduce: Simplified data processing on
large clusetrs, in OSDI’04: 137-150.
• Alessandro Rezzani: Architettura, tecnologie e metodi per l’utilizzo
di grandi basi di dati.

More Related Content

Viewers also liked

Big data with Hadoop - Introduction
Big data with Hadoop - IntroductionBig data with Hadoop - Introduction
Big data with Hadoop - IntroductionTomy Rhymond
 
Apache Hadoop Architecture (2016-17)
Apache Hadoop Architecture (2016-17)Apache Hadoop Architecture (2016-17)
Apache Hadoop Architecture (2016-17)Dushyant Singh
 
Relational Algebra and MapReduce
Relational Algebra and MapReduceRelational Algebra and MapReduce
Relational Algebra and MapReducePietro Michiardi
 
Your Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Your Big Data Stack is Too Big!: Presented by Timothy Potter, LucidworksYour Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Your Big Data Stack is Too Big!: Presented by Timothy Potter, LucidworksLucidworks
 
Hadoop Real Life Use Case & MapReduce Details
Hadoop Real Life Use Case & MapReduce DetailsHadoop Real Life Use Case & MapReduce Details
Hadoop Real Life Use Case & MapReduce DetailsAnju Singh
 
Hadoop MapReduce Fundamentals
Hadoop MapReduce FundamentalsHadoop MapReduce Fundamentals
Hadoop MapReduce FundamentalsLynn Langit
 
Big Data Technology Stack : Nutshell
Big Data Technology Stack : NutshellBig Data Technology Stack : Nutshell
Big Data Technology Stack : NutshellKhalid Imran
 

Viewers also liked (10)

Big data with Hadoop - Introduction
Big data with Hadoop - IntroductionBig data with Hadoop - Introduction
Big data with Hadoop - Introduction
 
Apache Hadoop Architecture (2016-17)
Apache Hadoop Architecture (2016-17)Apache Hadoop Architecture (2016-17)
Apache Hadoop Architecture (2016-17)
 
Big Data Hadoop Training Course
Big Data Hadoop Training CourseBig Data Hadoop Training Course
Big Data Hadoop Training Course
 
Relational Algebra and MapReduce
Relational Algebra and MapReduceRelational Algebra and MapReduce
Relational Algebra and MapReduce
 
Your Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Your Big Data Stack is Too Big!: Presented by Timothy Potter, LucidworksYour Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Your Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
 
Hadoop Real Life Use Case & MapReduce Details
Hadoop Real Life Use Case & MapReduce DetailsHadoop Real Life Use Case & MapReduce Details
Hadoop Real Life Use Case & MapReduce Details
 
Hadoop MapReduce Fundamentals
Hadoop MapReduce FundamentalsHadoop MapReduce Fundamentals
Hadoop MapReduce Fundamentals
 
Big Data Tech Stack
Big Data Tech StackBig Data Tech Stack
Big Data Tech Stack
 
Big Data Technology Stack : Nutshell
Big Data Technology Stack : NutshellBig Data Technology Stack : Nutshell
Big Data Technology Stack : Nutshell
 
What is Big Data?
What is Big Data?What is Big Data?
What is Big Data?
 

Similar to Big data stack tecnologico

JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech LabUgo Landini
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009Massimiliano Dessì
 
Iaa s con openstack per l'analisi di bigdata
Iaa s con openstack per l'analisi di bigdataIaa s con openstack per l'analisi di bigdata
Iaa s con openstack per l'analisi di bigdataVincenzo Fogliaro
 
Operational Data Store vs Data Lake
Operational Data Store vs Data LakeOperational Data Store vs Data Lake
Operational Data Store vs Data LakeMongoDB
 
Business Intelligence & Analytics
Business Intelligence & AnalyticsBusiness Intelligence & Analytics
Business Intelligence & AnalyticsDavide Mauri
 
Db2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBMDb2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBMJürgen Ambrosi
 
Oltre il modello relazionale
Oltre il modello relazionaleOltre il modello relazionale
Oltre il modello relazionalefcami87
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
 
Industrial iot: dalle parole ai fatti
Industrial iot: dalle parole ai fatti Industrial iot: dalle parole ai fatti
Industrial iot: dalle parole ai fatti Riccardo Zamana
 
Design Patterns - Enterprise Patterns (part 2)
Design Patterns - Enterprise Patterns (part 2)Design Patterns - Enterprise Patterns (part 2)
Design Patterns - Enterprise Patterns (part 2)Fabio Armani
 
Big Data e la forza degli eventi - Intervento di Melen
Big Data e la forza degli eventi - Intervento di MelenBig Data e la forza degli eventi - Intervento di Melen
Big Data e la forza degli eventi - Intervento di Melencomunicareonline
 
Evoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da HadoopEvoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da HadoopData Driven Innovation
 
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro PiuttiVMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro PiuttiVMUG IT
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biMarco Pozzan
 
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSAmazon Web Services
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
 
Partner Day Milano - dicembre 2015 - Software Difined Storage. Disaster recov...
Partner Day Milano - dicembre 2015 - Software Difined Storage. Disaster recov...Partner Day Milano - dicembre 2015 - Software Difined Storage. Disaster recov...
Partner Day Milano - dicembre 2015 - Software Difined Storage. Disaster recov...Clouditalia Telecomunicazioni
 

Similar to Big data stack tecnologico (20)

Appunti di big data
Appunti di big dataAppunti di big data
Appunti di big data
 
Data grid
Data gridData grid
Data grid
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
 
Iaa s con openstack per l'analisi di bigdata
Iaa s con openstack per l'analisi di bigdataIaa s con openstack per l'analisi di bigdata
Iaa s con openstack per l'analisi di bigdata
 
Operational Data Store vs Data Lake
Operational Data Store vs Data LakeOperational Data Store vs Data Lake
Operational Data Store vs Data Lake
 
Business Intelligence & Analytics
Business Intelligence & AnalyticsBusiness Intelligence & Analytics
Business Intelligence & Analytics
 
Db2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBMDb2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBM
 
Oltre il modello relazionale
Oltre il modello relazionaleOltre il modello relazionale
Oltre il modello relazionale
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
 
Industrial iot: dalle parole ai fatti
Industrial iot: dalle parole ai fatti Industrial iot: dalle parole ai fatti
Industrial iot: dalle parole ai fatti
 
Design Patterns - Enterprise Patterns (part 2)
Design Patterns - Enterprise Patterns (part 2)Design Patterns - Enterprise Patterns (part 2)
Design Patterns - Enterprise Patterns (part 2)
 
Big Data e la forza degli eventi - Intervento di Melen
Big Data e la forza degli eventi - Intervento di MelenBig Data e la forza degli eventi - Intervento di Melen
Big Data e la forza degli eventi - Intervento di Melen
 
Evoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da HadoopEvoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da Hadoop
 
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro PiuttiVMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
 
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studio
 
Partner Day Milano - dicembre 2015 - Software Difined Storage. Disaster recov...
Partner Day Milano - dicembre 2015 - Software Difined Storage. Disaster recov...Partner Day Milano - dicembre 2015 - Software Difined Storage. Disaster recov...
Partner Day Milano - dicembre 2015 - Software Difined Storage. Disaster recov...
 

Recently uploaded

GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneServizi a rete
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxtecongo2007
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleServizi a rete
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptxfilippoluciani9
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroServizi a rete
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoServizi a rete
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO AntonioServizi a rete
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaServizi a rete
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoServizi a rete
 

Recently uploaded (9)

GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptx
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptx
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI Alessandro
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA Roberto
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO Antonio
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
 

Big data stack tecnologico

  • 2. BD-ST Descrizione delle principali tecnologie abilitanti alla gestione dei Big Data, con particolare attenzione all’ecosistema che gravita intorno al framework Hadoop di Apache. Abstract
  • 3. Team Leader presso Consulthink SpA https://www.linkedin.com/in/massimorom ano Relatore BD-ST
  • 5. BD-ST • Big data è il termine utilizzato per descrivere una raccolta di dati così grande e complessa da richiedere strumenti differenti da quelli tradizionali per il loro trattamento, in tutte le fasi del processo: dall'acquisizione, alla curation, passando per condivisione, analisi e visualizzazione. • Le caratteristiche principali dei big data, si possono riassumere nelle tre "V”: 1. Volume: nel senso di ingenti quantitativi di dati non gestibili con i database tradizionali; 2. Velocità: dati che sono generati e richiedono di essere processati a ritmi sostenuti (o in tempo reale); 3. Varietà: elementi di diversa natura e non necessariamente strutturati come testi, audio, video, flussi di click, segnali provenienti da RFID, cellulari, sensori, transazioni commerciali di vario genere. Definizione (wikipedia)
  • 6. • Solo in Italia ogni giorno sono creati 2,5 quintilioni di byte di dati, il 90% dei quali è stato creato solo negli ultimi due anni (IBM). 1 quintilione = 1000000000000000000000000000000 = 1E30 • L’utilizzo delle piattaforme tradizionali per la gestione di tale mole di informazioni non è una opzione “impossibile” dal punto di vista tecnologico, ma significa “convertire” dati non strutturati e/o poco correlati in una forma gestibile dai database relazionali per il loro trattamento. • Tale processo di conversione richiede una tale quantità di tempo e costi talmente elevati rispetto all’obiettivo perseguito che l’opzione risulta semplicemente: “Economicamente Non Sostenibile”. Motivazioni BD-ST
  • 7. • Google: estrazione degli indici dei documenti; • Facebook: profilazione degli utenti; • Amazon: fornire suggerimenti di acquisto; • Walmart: analisi del comportamento di acquisto dei propri clienti (Teradata); • AT&T: pianifica la riparazione delle celle in base alla Customer Experience; • Germania: analisi dei propri avversari nei mondiali di Brasile 2014 (SAP); • Mediaset: sentiment analisi incrociando social media ed altre fonti (IBM); • Telecom Italia: monitoraggio della rete e produzione di KPI; • Agenzia delle Entrate: elaborazione dati sul reddito; Esempi BD-ST
  • 8. • Migliori prestazioni perché dovuti all’eliminazione di eventuali colli di bottiglia. • L’infrastruttura di rete deve essere adeguata al trasferimento di dataset di dimensioni dell’ordine di qualche terabyte. • Sicurezza, al backup e ripristino dei dati, alla governance. Infrastruttura (Shared Nothing) BD-ST • Richiedono un approccio basato su un modello decentralizzato. • Utilizzo di tanti “commodity server” di piccole dimensioni con risorse di storage gestiti localmente. • Maggiore flessibilità (costi e scalabilità) perché si utilizzano migliaia di server di fascia bassa piuttosto che migliaia di server enterprise e storage condiviso. SMP: Symmetric Multi Processing MPP: Massive Parallel Processing
  • 10. • Hadoop è un framework per il calcolo parallelo di dataset molto grandi (ordine dei petabyte) su un elevato numero di nodi (poche decine a diverse migliaia) composti da server “standard” (basso costo). • Il suo utilizzo in scenari tradizionali (elaborazione di singoli record, OLTP) è fortemente sconsigliato e non avrebbe senso; • Orientato all’elaborazione batch (Twitter Storm per elaborazione Real-Time). • Modello di computazione adottato è Map Reduce (Dean e Ghemawat) basato sul principio “divide et impera” ed ispirato alle funzioni map() e reduce() del LISP. • 165 organizzazioni censite sulla pagina ufficiale: Twitter, Google, Spotify, LinkedIn, Last.fm, IBM, Facebook, Ebay, Adobe, etc. Hadoop BD-ST
  • 11. • Pensato per realizzare un sistema distribuito di larga scala, senza preoccuparsi dei problemi legati alla sua gestione: partizionamento dei dati, scheduling dei thread, controllo dei fallimenti dei nodi, gestione della comunicazione i nodi. • Rispetto a modelli tradizionali di calcolo parallelo (Grid Computing): • Utilizza risorse locali e non aree di storage condivise; • Offre librerie di programmazione semplici e di alto livello; • Gestisce problemi a livello applicativo invece di sfruttare sistemi hardware di alta affidabilità; Hadoop BD-ST
  • 12. • Hadoop common (strato software comune con funzioni di supporto); • YARN (framework per calcolo distribuito si occupa della gestione delle risorse); • Hadoop Distributed File System (HDFS - derivato da Google's GFS) • Hadoop MapReduce Framework (derivato da Google's MapReduce). Hadoop BD-ST HADOOP Distributed Storage (HDFS) Distributed Processing (MapReduce) Common YARN
  • 13. Architettura Hadoop BD-ST MASTER Node Name Job Tracker SLAVE Data Name Task Tracker SLAVE Data Name Task Tracker CLIEN T APP. 1000s Svincola dai problemi relativi a: - Collocazione dei file; - Gestione dei fallimenti; - Scomposizione del calcolo; - Gestione della scalabilità;
  • 14. HDFS BD-ST • Ogni file è suddiviso in blocchi (64MB o 128MB) ridondati su più nodi (default 3 copie) ospitati su rack differenti; • La ridondanza garantisce l’affidabilità ma anche l’efficienza nel recupero dei file (coinvolto il nodo più vicino); • Fornisce al programmatore un modello di storage virtualmente infinito; • Progettato per gestire un numero elevato di file di dimensioni ragguardevoli (terabyte); • Identificazione dei guasti e recovery dei dati è la sua caratteristica principale;
  • 15. HDFS BD-ST • Name Node: sono due uno attivo, l’altro in standby. Gestisce il file system: • Il namespace ovvero elenco dei file e dei blocchi in cui sono suddivisi; • Le strategie di replica e allocazione dei blocchi; • Verifica la presenza dei nodi per l’affidabilità. • Costituisce un single point of failure;
  • 16. HDFS BD-ST • Secondary Name Node: di supporto al NameNode (per l’efficienza) esegue le operazioni di checkpoint (Checkpoint Node); • Backup Node: simile al CheckpointNode ma mantiene il namespace in memoria e lo aggiorna continuamente.
  • 17. HDFS BD-ST • Data Node: gestisce fisicamente lo storage e soddisfa le richieste dei client. • Inviano un heartbeat (ogni 3sec) al NameNode con un block report. Se il nodo è giù o i blocchi corrotti è avviata la procedura di replica; • I client contattano il Name Node per conoscere quale Data Node contiene le informazioni richieste;
  • 18. MapReduce BD-ST • MapReduce è basato sul concetto di functional programming dove c’è scarsa codivisione dei dati; • Prevede la suddivisione del calcolo in diverse parti (divide et impera) processabili in modo autonomo; • L’implementazione consiste nello specificare: input, output e funzioni map e reduce come implementazioni di classi java. • L’output finale può essere input di un nuovo job MapReduce.
  • 19. Word Count BD-ST Map(k1,v1) → list(k2,v2) map(String name, String document) { // name: document name // document: document contents for each word w in document: emit (w, 1) } Reduce(k2, list (v2)) → list(v3) reduce(String word, Iterator partialCounts){ // word: a word // partialCounts: list of aggregated partial counts sum = 0 for each pc in partialCounts: sum += ParseInt(pc) emit (word, sum)
  • 20. MapReduce BD-ST • JobTracker: Execution Plane e Coordination; • Si occupa della gestione del ciclo di vita dei job MapReduce; • Privilegia i nodi che contengono i dati o altrimenti seleziona un nodo nello stesso rack; • In caso di fault si fa carico della ripetizione del job; • TaskTracker: eseguono i task (di map o reduce) sotto la direzione del JobTracker;
  • 21. MapReduce BD-ST 1. Client sottomette e job al JobTracker e copia i file binari (jar) in HDFS; 2. JobTracker interroga il NameNode per conoscere dove sono collocati i dati necessari; 3. JobTracker identifica i nodi più vicini ai dati e verifica che abbiano slot disponibili (data-local, rack-local, cross-rack) quindi crea un piano di esecuzione; 4. TaskTracker esegue il job e riporta al JobTracker attraverso heartbeat;
  • 22. Ecosistema Hadoop BD-ST • The Hadoop Ecosystem Table http://hadoopecosystemtable.github.io/ • Big Data Ecosystem http://hadoopilluminated.com/hadoop_illuminated/Bigdata_Ecosystem. html
  • 23. HDFS (Hadoop Distributed File System) HCatalog (Table & Schema Management) Mapreduce (Distributed Programming Framework) HIVE (SQL) PIG (Data Flow) Flume/Sqoop/Tika (Dataintegration) Hbase (ColumnarNoSQLStore) Zookeeper (Coordination) Ambari (Management) Ecosistema Hadoop
  • 24. Tika BD-ST • Strumento per la l’identificazione e l’esrtazione di metadati e testo danumerosi tipi di documenti; • Formati: HTML, XML, Microsoft Office, PDF, RTF, EPUB, OpenDocument, ZIP, TXT, Immagini, Audio, Video, JAR, MBOX, etc. • Funzionalità di Mime Type detection, parsing ed estrazione lingua. • Utilizzabile sia per la fase di acquisizione che per quella di integrazione/arricchimento. • Facilmente integrabile con Apache Solar.
  • 25. Flume BD-ST • Strumento per la movimentazione di grosse quantità di dati da una sorgente verso una destinazione; • Sorgente: File di testo, TCP o UDP, Avro, Altro Agent, Personalizabili (in java); • Destinazioni: HDFS, Hbase, Logger, Avro, Altro Agent, Personalizzabili (in java); • Scalabile orizzontalmente e dispone di meccanismi di failover e recovery che garantiscono il delivery dei dati; • Basata sul concetto di Agent che esegue le seguenti operazioni: raccolta dei dati (source), passaggio e conservazione (channel) e instradamento(sink); • Utilizzo tipico è la lettura dei log da diversi server ed il loro instradamento verso HDFS, dopo averli aggregati.
  • 26. Sqoop BD-ST • Strumento per il trasferimento dei dati tra database relazionali (RDBMS) e Hadoop (HDFS, Hbase, Hive); • Database supportati: Teradata, Netezza, Oracle, MySQL, Postgres, and HSQLDB; • Architettura basata su connettori che consente l’estensione attraverso l’implementazione di plug-in;• Utilizza job MapReduce per l’import parallelo dei dati opportunamente partizionati; • Utilizza l’introspezione per ottenere i metadati necessari all’import. • La classe java generata può essere utilizzata per elaborazione MapReduce. sqoop import –connect dbc:mysql://…. –username user –password password –table tab1 –targhet-dir /folder_hdfs1/folder_hdfs2
  • 27. HCatalog BD-ST • Hadoop consente la gestione dei dati indipendentemente dal loro formato grazie alla mancanza di uno schema fisso; • Lo schema è applicato nel momento in cui sono utilizzati attraverso l’applicazione di uno strato di metadati che consentono, agli strati applicativi, di interagire con i dati con linguaggi di query; • Compito di HCatalog è si semplificare la creazione e gestione dei metadati e la loro esposizione agli strumenti che li utilizzano; • Fornisce un layer di metadati che consente di avere una visione relazionale dei dati, organizzandoli in tabelle e database;
  • 28. Hive BD-ST • Strumento di data warehousing in grado di manipolare grandi quantità di dati presenti in sistemi distribuiti (OLTP vs OLAP); • ETL: caricamento e manipolazione dei dati; • Consente una strutturazione relazionale dei dati; • Linguaggio simile a SQL (HiveQL); • L’output del compilatore è una serie di job MapReduce che si occupano dell’esecuzione delle query; • Si avvale di un repository (metastore) che conserva i metadati di ciascuna tabella oppure utilizza HCatalog; • Lento quindi non adatto ad interrogazioni real-time; • Non destinato a rimpiazzare SQL ma è uno strumento per creare job su grandi moli di dati;
  • 29. HBase BD-ST • Schemaless, Wide Table, Denormalized; • Studiato per lavorare su cluster di nodi, ognuno con il proprio storage, la propria cache e la propria capacità di computazione; • Consente l’accesso rapido (random, low latency) ad una singola riga fra miliardi di record, diversamente HDFS consente un accesso batch ai dati (high latency). • Un Data Base distribuito (modellata su BigTable di Google) column-oriented, lavora sopra HDFS; • Tratta sia dati strutturati che non strutturati; • E’ un database relazionale ma consente una modellazione flessibile e dinamica dei dati in quanto non si cura dei tipi;
  • 30. HBase BD-ST • Fortemente basato su HDSF; • In corrispondenza dei NodeName e dei DataNode sono presenti le istanze dei servizi HMaster e RegionServer; • HMaster ha funzioni di monitoraggio, gestisce le modifiche ai metadati, load balancing, assegnazione region; • I RegionServer gestiscono le cosiddette region, elemento di base per la distribuzione delle tabelle; • I dati sono organizzati in una gerarchia Tabella->Region->…
  • 31. Pig BD-ST • Piattaforma per semplificare l’analisi e manipolazione di grandi quantità di dati; • Come Hive, nasce per evitare la realizzazione job MapReduce che può risultare oneroso; • Basato su: • PigLatin: linguaggio di script per la gestione di flussi di dati; • Pig Engine: parsa, ottimizza ed esegue gli script PigLatin come una serie di job MapReduce che poi sottomette al cluster Hadoop; • Consente l’utilizzo di Hadoop a quanti con conoscono Java e MapReduce offrendo un approccio semplificato; • Non richiede nessuna installazione sui cluster in quanto si compone semplicemente di un client che sottomette e monitorizza i job creati;
  • 33. Zookeeper BD-ST • Fornisce una infrastruttura centralizzata e dei servizi che consentono il coordinamento di applicazioni distribuite (Distributed Coordination Service); • Configurazione centralizzata dei nodi; • Sincronizzazione degli oggetti comuni nel cluster; • Serializzazione; • Consistenza sequenziale; • Atomicità; • Immagine singola del sistema; • Affidabilità; • Tempestività.
  • 34. Ambari BD-ST • Strumento di gestione e monitoraggio del cluster Hadoop; • Fornisce una interfaccia web per l’amministrazione; • Supporta: HDFS, MapReduce, Hive, HCatalog, HBase, Zookeeper, Oozie, Pig, Sqoop; • Utilizza dei wizard per l’installazione; • Fornisce tool per l’avvio e l’arresto dei servizi sui vari nodi; • Effettua monitoraggio e reporting anche tramite alert e-mail.
  • 35. Altro BD-ST • Oozie: motore di workflow; • Cassandra: database column-oriented (Amazon); • Mahout: libreria per machine learning; • Hue: interfaccia web per l’analisi dei dati con hadoop; • Whirr: librerie per eseguire cloud services; • Knox: rest api gateway per l’interazione conl cluster hadoop; • Kafka: message broker distribuito per gestione di feed in real-time; • Storm: real-time computation system; • Spark: data analytic cluster computing framework; Non Apache • R: software per analisi statistiche di base ed avanzate (librerie RHive e RHadoop); • Impala: motore di esecuzione di query distribuite (Cloudera) con prestazioni real- time; • HAWQ: motore di esecuzione di query distribuite (Pivotal);
  • 36. BD-ST Bibliografia ed Approfondimenti • http://hadoop.apache.org/ • http://hadoopecosystemtable.github.io/ • http://storm.incubator.apache.org/ • J. Dean, S. Ghemawat, MapReduce: Simplified data processing on large clusetrs, in OSDI’04: 137-150. • Alessandro Rezzani: Architettura, tecnologie e metodi per l’utilizzo di grandi basi di dati. • Oracle BigData Virtual Machine http://www.oracle.com/technetwork/database/bigdata- appliance/oracle-bigdatalite-2104726.html • Hortonworks Sandbox http://hortonworks.com/products/hortonworks-sandbox/
  • 37. 40 Grazie per l’attenzione Contatti Web: www.consulthink.it Mail: info@consulthink.it Telefono:+39-06 4549 2416 Fax:+39-06 4549 2454
  • 38. BD-ST Bibliografia ed Approfondimenti • http://hadoop.apache.org/ • http://hadoopecosystemtable.github.io/ • http://storm.incubator.apache.org/ • J. Dean, S. Ghemawat, MapReduce: Simplified data processing on large clusetrs, in OSDI’04: 137-150. • Alessandro Rezzani: Architettura, tecnologie e metodi per l’utilizzo di grandi basi di dati.

Editor's Notes

  1. Concordare con i grafico i Font
  2. NAME NODE: mantiene lo stato nel file fsimafe e le modifiche nell’edit log. Al successivo start il Name Node esegue il merge tra fsimage ed il log. Quindi fsimage viene salvato ed il log pulito.
  3. SECONDARY NAME NODE: per evitare che il log diventi troppo grande e rallenti il successivo startup del NAME NODE il seconary node periodicamente esegue il merge scaricando fsimage ed i log, quindi ricaricando le informazioni su NAME NODE. BACKUP NODE: riceve uno stream dal name node periodicamente ed esegue il merge in memoria.
  4. Framework di programmazione per l’elaborazione dei dati in parallelo; La programmazione multithreading presenta una complessità dovuta al coordinamento dell’accesso alle risorse; I task non hanno stato (condiviso); Possibili input: default txt imput format che splitta il file line by line; binary input format; database input format; record input format;
  5. HiveQL ha solo select e non ha insert o update. RDBMS = Schema on Write ovvero ad ogni inserimento è verificato il tipo del dato rispetto allo schema, questo è il motivo per cui il caricamento è lento mentre le query sono veloci perchè permettono l’uso degli indici; HIVE = Schema on Read quindi il caricamento dei dati p veloce mentre la lettura è più lenta pechè lo schema deve essere verificato.
  6. Non-relational database derivato da Bigtable di Google Column oriented database management system on top of HDFS Progettato per gestire tabelle molto grandi sia in termini di ricghe che di colonne Quanto utilizzarlo: Quando si hanno milioni/miliardi di dati. Se si hanno pochi migliaia o milioni di dati non è la scelta giusta. Meglio un RDBMS tradizionale in quanto I dati risiederebbero su un singolo nodo massimo due e gli altri rimarrebbero inutilizzati. Quando siamo sicuri di non avere bisogno delle caratteristiche di un RDBMC (colonne tipizzate, indici, transazioni, SQL avanzato). Il porting di una applicazione scritta su un RDBMS su Hbase richiede un completo ridisegno. Quando abbiamo hardware a sufficienza. HDFS non lavora bene su meno di 5 nodi (HDFS ne richiede almeno 3 per la replica più il NameNode). Le region sono automaticamente splittate e distribuite sui nodi.