Sei sulla pagina 1di 60

Big Data:

Concetti Generali, Architetture NoSQL,


Prodotti Open Source.
Seminario tecnico gratuito 24 febbraio 2016

First Time
Big Data

Second Time
NoSQL

Third Time
Products
1

Information and Communication Technology Internal Use Only

Big Data

Information and Communication Technology Internal Use Only

Big Data
I Big Data costituiscono un nuovo paradigma per la
realizzazione di database.
COME SI COSTRUISCE

UN SISTEMA BIG DATA?

BIG DATA = INGEGNERIA


3

Information and Communication Technology Internal Use Only

Big Data
I Big Data non nascono da speculazioni teoriche,
ma da reali esigenze pratiche.
Come si vedr, Doug Cutting per supportare il suo lavoro su
Nutch, un motore di ricerca web open source, fu
praticamente costretto ad implementare unapplicazione di
MapReduce ed un File System distribuito (HDFS), che uniti
insieme formarono il sistema Hadoop.

BIG DATA = TECNOLOGIA


4

Information and Communication Technology Internal Use Only

Big Data
CHE COSA SI CERCA DI OTTENERE CON IL NUOVO PARADIGMA
Localit dei dati (evitando i tempi di attesa e di trasferimento).
Assenza di lock e quindi il massimo parallelismo possibile.
Accesso sequenziale ai dati, con velocit prossime al transfer-rate

(tempo di trasferimento) massimo consentito dall'hardware ed indipendente dal


seek-time (tempo di ricerca).
Assenza di uno schema rigido che consente maggiore flessibilit e riduce

il rischio di perdita di dati (schema-on-read).


Alto grado di scalabilit e fault-tolerance.

Information and Communication Technology Internal Use Only

Big Data
Paradigma delle 3V coniato da
Doug Laney nel 2001 e
riutilizzato da Russom nel 2011.

Paradigma

Volume
Velocity
Variety

Le maggiori sfide per la


gestione distribuita dei dati.
Si possono trovare altre V od
altre lettere, come le 3W
presenti in figura.
6

Information and Communication Technology Internal Use Only

Big Data
La dimensione fa la differenza !
Se si chiede ad un astrofisico quanto
grande un chilometro, ci risponder che si
tratta di una misura molto piccola.
(1 anno luce 1015 m).
Se si chiede ad un fisico nucleare quanto
piccolo un millimetro, ci risponder che si
tratta di una misura molto grande.
(1 fermi 10-15 m).
La scienza ci insegna a definire una scala di
riferimento, ununit di misura, per avere una
valutazione coerente nello specifico contesto
dinteresse.
7

Information and Communication Technology Internal Use Only

Big Data
Con i Big Data la mole dei dati dell'ordine degli exabyte, ovvero milioni
di terabyte (un terabyte un milione di megabyte, che a sua volta un milione
di byte). E, per questo, necessaria una potenza di calcolo parallelo notevole.

Lesperienza insegna cha gi a livello di petabytes opportuno prendere in


considerazione strutture di tipo Big Data.

Information and Communication Technology Internal Use Only

Volume
Gestire grandi volumi di dati in rapida crescita, risultata una sfida per molti
decenni. In passato, questa sfida stata mitigata da processori sempre pi
veloci, la cui produzione ha rispettato la Legge di Moore.
Oggi non pi cos: il volume di dati cresce pi velocemente delle risorse di
calcolo. Le velocit di clock delle CPU sono praticamente in fase di stallo,
mentre i processori sono in forte espansione, dotati di un numero sempre
crescente di core. La prima dimensione dei Big Data il volume.
Legge di Moore: formulata negli anni 70, affermava che la potenza
computazionale sarebbe raddoppiata nel tempo una volta ogni due anni. Lo
stesso Gordon Moore ha successivamente dichiarato che questo fenomeno si
sarebbe fermato, tendendo asintoticamente ad un valore massimo.

Information and Communication Technology Internal Use Only

Volume
Dal 1450 al 1500 furono stampati in Europa circa 8 milioni di libri, un
numero superiore a quelli prodotti dagli amanuensi, in tutti gli anni precedenti.
Il patrimonio della conoscenza (rappresentato dai libri) impiegava, in quel
periodo, circa 50 anni per raddoppiare.
Oggi sono sufficienti solo 3 anni, per duplicare la quantit di dati
disponibili su Internet e questo numero destinato a diminuire.

10

Information and Communication Technology Internal Use Only

Velocity
La seconda dimensione, con cui si devono fare i conti, la velocit.
Pi grande il set di dati da elaborare, pi tempo ci vorr per analizzarlo.
Tuttavia, non solo in questo senso, puramente computazionale, che di solito
sintende per velocit, nel contesto dei Big Data.
La velocit legata alla capacit dei dati di fluire verso centri di elaborazione,
nel minor tempo possibile, offrendo cos la possibilit di effettuare analisi
in tempi brevi ed ottenere informazioni sempre aggiornate.
Ci possono essere situazioni in cui si richiede un risultato immediato. Ad
esempio, se si sospetta che durante una transazione con carta di credito ci sia
una possibile frode, dovrebbe essere possibile segnalare il pericolo prima
che la transazione sia completata, per impedire che loperazione avvenga.

11

Information and Communication Technology Internal Use Only

Velocity
La necessit di comprimere i tempi di utilizzo dei
dati, dettata dal fatto che le informazioni
invecchiano molto pi velocemente che in
passato, diventando presto obsolete.
Un settore dove questo aspetto molto sentito, la
Meteorologia. Ci sono milioni di sensori,
rilevatori e telecamere che raccolgono informazioni
in tutto il mondo, per avere un quadro il pi
possibile veritiero delle condizioni climatiche.
Questi dati, in poche ore, possono diventare
completamente obsoleti.
Argomenti Correlati:
Sistemi Dinamici Logica Fuzzy

12

Information and Communication Technology Internal Use Only

Variety
Quando gli esseri umani scambiano informazioni, lo fanno esprimendo una
fiorita variet di espressioni linguistiche. La ricchezza e le sfumature del
linguaggio naturale, sono in grado di fornire preziosi significati, spesso
indispensabili per la conoscenza. La terza dimensione, con cui ci si
confronta, la variet di formato delle informazioni.
Le macchine, che utilizzano algoritmi, si aspettano di solito dati omogenei
e non riescono a capire tali sfumature. Di conseguenza, le informazioni devono
essere categorizzate e strutturate: il primo passo dellAnalisi dei Dati.
Si consideri, ad esempio, un paziente che ha pi procedure mediche in un
ospedale. Si potrebbe creare un record per ogni procedura, un record per il
soggiorno clinico, un record per le interazioni dellospedale con il paziente e
cos via. E intuitivo, quindi, pensare a strutture tabellari in relazione tra di
loro, per contenere tutte le informazioni.

13

Information and Communication Technology Internal Use Only

Variety
Nel caso di Big Data la variet, ovvero la mancanza di omogeneit nel
formato dei dati, una costante o come si preferisce dire: uninvariante.
E prassi comune classificare le diverse tipologie di sorgenti informative, che
confluiscono nei Big Data, in 5 distinte categorie:
1. Web & Social Media data
2. Machine-to-Machine data
3. Big Transaction data
4. Biometric data

5. Human-Generated data

14

Information and Communication Technology Internal Use Only

Plus

15

Information and Communication Technology Internal Use Only

Data Science
NUOVE PROSPETTIVE
L'obiettivo della Data Science l'estrazione
d'informazioni utili da archivi disponibili.
Essa inizia con la raccolta di dati esterni
allorganizzazione, oppure dati provenienti
dai processi di business interni.
Successivamente arriva la raffinatezza: il
processo che riduce i dati a informazioni
utili che rispondono, cio, a domande
specifiche. Tipicamente, le domande
definiscono l'approccio da usare per
l'estrazione delle informazioni.

16

Information and Communication Technology Internal Use Only

Data Science
NUOVE PROSPETTIVE
La Data Science sostiene e incoraggia il continuo passaggio concettuale tra
ragionamento deduttivo (ipotesi-based) ed induttivo (pattern-based). Si
tratta di un cambiamento fondamentale, che completa gli approcci analitici
tradizionali, sicuramente meno dinamici.
LAnalisi Induttiva dei dati fornisce un mezzo efficace per formare o
perfezionare ipotesi e scoprire nuovi percorsi di conoscenza. La successiva
interazione con il Ragionamento Deduttivo, rafforza e consolida i risultati,
definendo in modo chiaro lintepretazione definitiva.
Gli strumenti statistico-matematici e tecnico-informatici fungono da
microscopio ingranditore per la realt, che si cela nella miriade
dinformazioni che si accumulano ogni giorno.
17

Information and Communication Technology Internal Use Only

Data Scientist
NUOVE PROFESSIONI
Cosa fa un Data Scientist?
Un Data Scientist analizza dati per fornire al management le
informazioni utili per assumere decisioni e disegnare strategie. Per lunghi
anni si parlato dell'importanza dei dati, ora si sottolinea l'esigenza di
saperne fare buon uso.

Perch c' bisogno di Data Scientist?


La risposta in due sostantivi: produttivit e cambiamento. Cambiano i
modelli di business delle aziende, cos come cambiano le loro politiche
economiche ed i mercati. Cambiano gli strumenti tecnici e metodologici. Di
conseguenza vige la necessit di migliorare produttivit e profitti.
18

Information and Communication Technology Internal Use Only

Data Scientist
NUOVE PROFESSIONI
Lobiettivo sempre e comunque uno solo:
avere a disposizione informazioni
migliori per prendere decisioni migliori.
Memorizzare poi questi dati, che arrivano in
gran quantit ed in formati eterogenei, in
strutture di database che favoriscano
ricerche veloci, il passo successivo.

19

Information and Communication Technology Internal Use Only

NoSQL

20

Information and Communication Technology Internal Use Only

NoSQL
NoSQL un movimento
che negli ultimi anni si
molto affermato,
producendo risultati
soddisfacenti, con la
creazione di progetti ed
iniziative utilizzate
anche su larga scala.
Tale movimento vuole
rompere la storica linea
dei database relazionali
sinora adottati.

21

Information and Communication Technology Internal Use Only

NoSQL
Si cercato e si cerca
ancora di definire nuove
linee guida, per
limplementazione di
database, che non
utilizzano il linguaggio
dinterrogazione SQL e
non siano strettamente
legati ad una
definizione rigida
dello schema dati.
Il tentativo sta
producendo risultati
concreti.

22

Information and Communication Technology Internal Use Only

NoSQL
Un NoSQL data model pu essere implementato seguendo differenti
tecniche. Si tratta sempre di un paradigma schemaless, che semplifica
lorganizzazione del modello, rinunciando alle relazioni e costruendo
strutture variabili in termini di tipo e numero di campi (colonne).
Wide Column Store o Famiglie di Colonne (come per Cassandra e
HBase): le informazioni sono memorizzate in colonne, con coppie
chiave/valore. Tipicamente sono usati nellambito della memorizzazione
distribuita dei dati.
Document Store (come per MongoDB, OrientDB): le informazioni sono
organizzate in Documenti e laccesso ai dati avviene attraverso API che
interrogano veri e propri dizionari. Sono molto usati nello sviluppo di web
application.

23

Information and Communication Technology Internal Use Only

NoSQL
Partendo dalla domanda:
Perch avere altri tipi di DBMS se esistono quelli relazionali?
Che cosa si legge sullargomento?

24

NoSQL abbraccia quasi totalmente la filosofia open-source.

NoSQL pi semplice da usare e non occorre uno specialista di


progettazione come per gli RDBMS. (NON E PROPRIO COSI ...).

I dati sono altamente portabili su sistemi differenti.

Non si definisce uno schema rigido (schemaless) e non occorre


tipizzare i campi, per cui non esistono limiti o restrizioni ai dati
memorizzati nel database NoSQL.

Information and Communication Technology Internal Use Only

NoSQL

Permette maggiori velocit di esecuzione, in interrogazioni su grosse


quantit di dati eterogenei e la possibilit di distribuzione su pi
server (replica dei dati), con meccanismi totalmente trasparenti
allutilizzatore.

I DBMS NoSQL si focalizzano su una scalabilit orizzontale e non


verticale come quelli relazionali.

Dallaltro lato, il paradigma NoSQL non garantisce i requisiti ACID su cui si


basano i sistemi relazionali.
La parola ACID deriva dall'acronimo Atomicity, Consistency, Isolation,
Durability (Atomicit, Consistenza, Isolamento e Durabilit) ed indica le
propriet che devono avere le transazioni elettroniche.

25

Information and Communication Technology Internal Use Only

NoSQL
Atomicit. La transazione indivisibile nella sua esecuzione e la sua
elaborazione deve essere o totale o nulla: non sono ammissibili esecuzioni
parziali.
Consistenza. Quando inizia una transazione, il database si trova in uno
stato consistente e quando la transazione termina, il database deve
rimanere in uno stato altrettanto consistente.
Isolamento. Ogni transazione eseguita in modo isolato ed indipendente
dalle altre: l'eventuale fallimento di una transazione non deve interferire con le
altre in esecuzione.
Durabilit. Per una transazione che abbia richiesto una commit work, i
cambiamenti apportati al database non dovranno essere persi.

26

Information and Communication Technology Internal Use Only

NoSQL
I pi comuni e diffusi RDBMS, istallati su singola macchina, supportano
piuttosto bene le transazioni ACID.
Ma dov il problema, allora?
Nellera del Web, le applicazioni devono lavorare su bilioni e trilioni di dati
ogni giorno e la scalabilit un concetto che, in tale ambito, ricopre un ruolo
fondamentale.
Scalabilit Verticale (Scale Up):
possibilit dintervenire su di un singolo
sistema modificandolo allinterno in modo
specifico.
Scalabilit Orizzontale (Scale Out):
possibilit dintervenire sulla propria
struttura aggiungendo o eliminando
elementi modulari.
27

Information and Communication Technology Internal Use Only

NoSQL
UN TEOREMA IMPORTANTE
Il teorema CAP, noto anche come teorema di Brewer (Eric Brewer lo ha
formulato nel 2000), afferma che impossibile, per un sistema informatico
distribuito, fornire simultaneamente le tre seguenti garanzie:
Consistency (Consistenza): tutti i nodi vedono gli stessi dati nello stesso

momento.
Availability (Disponibilit): ogni richiesta ricever una risposta.
Partition Tolerance (Tolleranza a livello di Partizione): il sistema

continua a funzionare nonostante arbitrarie perdite (fault) di messaggi.


Secondo il teorema, un sistema distribuito in grado di soddisfare al massimo
due di queste garanzie contemporaneamente, ma non tutte e tre.
28

Information and Communication Technology Internal Use Only

NoSQL

29

Information and Communication Technology Internal Use Only

NoSQL
CONSISTENCY-AVAILABILITY (CA)
Elevata coerenza/alta disponibilit. Si tratta del compromesso tipicamente
offerto negli RDBMS tradizionali. Le informazioni sono mantenute
in modo coerente. sempre possibile leggere e/o scrivere ed essere sicuri che i
nuovi dati siano propagati correttamente su tutti i nodi del cluster.
Tuttavia, la totale coerenza pu incidere sulle performance (latenza) e sulla
scalabilit. Inoltre, si possono avere problemi qualora si venisse a formare
una partizione tra nodi distinti. In situazioni limite, possibile che la presenza
di partizioni generi un disallineamento dei dati, di non facile recupero.

30

Information and Communication Technology Internal Use Only

NoSQL
CONSISTENCY-PARTITION TOLERANCE (CP)
Elevata coerenza/tolleranza nella partizione. Questo compromesso quello
preferito da soluzioni quali MongoDB, HBase, BigTable, Redis. I dati
sono mantenuti in maniera coerente su tutti i nodi del cluster e viene garantita
la tolleranza a livello di singola partizione.
Tuttavia, si possono avere problemi di disponibilit, perch il sistema
diventa non accessibile quando un nodo va in crash. Quasi tutte queste
soluzioni prevedono una configurazione dove un nodo agisce come master e
gli altri come slave. Inoltre, i sistemi prevedono particolari procedure per
"eleggere" un nuovo master,
qualora quello in carica non sia pi
raggiungibile.

31

Information and Communication Technology Internal Use Only

NoSQL
AVAILABILITY-PARTITION TOLERANCE (AP)
Continua disponibilit/tolleranza nella partizione. Questo compromesso
stato scelto da soluzioni quali Apache Cassandra, CouchDB, DynamoDB
e Riak. I nodi restano on-line anche nelle situazioni in cui non possono
comunicare tra loro. , poi, compito del processo di risincronizzazione
dei dati risolvere eventuali conflitti.
Tuttavia, non possibile avere garanzia che tutti i nodi abbiano gli stessi
dati, con gli stessi valori, durante la perdita di connessione e la relativa
risoluzione del fault. Le soluzioni AP garantiscono migliori prestazioni in
termini di latenza e mostrano una scalabilit pi lineare.

32

Information and Communication Technology Internal Use Only

NoSQL
Conclusione: se si vogliono dati geograficamente distribuiti e prestazioni
soddisfacenti, si costretti a sacrificare o la Consistency o la Availability, e
quindi gli RDBMS non vanno bene.
La globalizzazione informatica e lesigenza di trattare Big Data, spinge a
scalare orizzontalmente i dati usando macchine consumer, replicandole a
livello geografico per ragioni di economicit, ,disponibilit, reattivit.
Stanno quindi avanzando paradigmi di memorizzazione che non si basano pi
sul classico modello ACID, caratteristico degli RDBMS.
Sta emergendo il nuovo modello BASE (Basically Available Soft-state services
with Eventual-consistency) che rilassa il concetto di consistenza sicura verso
una CONSISTENZA EVENTUALE.

33

Information and Communication Technology Internal Use Only

NoSQL

34

Information and Communication Technology Internal Use Only

Products

35

Information and Communication Technology Internal Use Only

Products
OPEN SOURCE
DYNAMODB (Amazon)
REDIS (Redis Labs)
CASSANDRA (Facebook)
BIGTABLE (Google)
COUCHDB (Apache)
HADOOP (Apache)
HBASE (Apache)
ELASTICSEARCH (Apache)
MONGODB (MongoDB Labs)
ORIENTDB (OrientDB Labs)
...

36

Information and Communication Technology Internal Use Only

Hadoop
Apache Hadoop un
framework open source per
applicazioni distribuite
data-intensive, creato
inizialmente da Doug Cutting
per supportare il suo lavoro
su Nutch, un motore di
ricerca web open source.
Cutting implement
unapplicazione di
MapReduce ed un File
System distribuito (HDFS),
che uniti insieme formarono
il sistema Hadoop.

37

Information and Communication Technology Internal Use Only

Hadoop
L'architettura interna di tipo master-slave.
Il master, detto NameNode, ha il compito di conservare e gestire la

struttura del file-system e in generale tutto il sistema di metadati.

Realizza le seguenti funzioni.


Organizzazione dei blocchi di dati.
Posizionamento logico/fisico dei file sui nodi dei cluster.
Gestione delle repliche di ogni singolo nodo.
Gestione delle regole di accesso.
Gli slave, detti DataNode, hanno invece il solo compito di memorizzare i

blocchi di dati e consentirne l'accesso in lettura/scrittura alla massima


velocit possibile.

38

Information and Communication Technology Internal Use Only

MapReduce
HDFS offre una
memorizzazione di file
poco costosa e affidabile.
Tale servizio, da solo,
non sarebbe sufficiente a
creare il livello
dinteresse o di
giustificare il tasso di
adozione, che qualifica
oggi Hadoop.
La seconda componente
principale di Hadoop il
sistema di elaborazione
parallela di dati,
chiamato MapReduce.

39

Information and Communication Technology Internal Use Only

MapReduce
Il framework nasce dallesigenza dimplementare centinaia di computazioni al
giorno, che processano grosse quantit di dati come documenti, log e pagine
web, per ottenere dati strutturati di vario tipo.
Le primitive map e reduce sono ispirate alle analoghe feature del linguaggio
funzionale LISP. La funzione map viene applicata ad ogni record e genera un
set di coppie intermedie chiave-valore, che saranno passate alla funzione
reduce. Questa verr applicata a tutte le coppie con la stessa chiave, in modo
da processare adeguatamente i dati, raggruppati in precedenza dalla funzione
map.
LISP: dallinglese balbettare, in italiano interpretato liberamente come
acronimo di Lista Infinita di Stupide Parentesi.

40

Information and Communication Technology Internal Use Only

YARN
Hadoop (che ha circa 10 anni) ha sostenuto, nella prima parte della sua
esistenza (Hadoop 1), un unico paradigma di calcolo: MapReduce. E stato il
modo con cui l'industria di ricerca web ha tenuto il passo con la crescente
richiesta di capacit di elaborazione, da parte del mercato. Il paradigma
MapReduce, si dimostrato particolarmente adatto nelle situazioni risolvibili
con una scalabilit orizzontale.
Ma le soluzioni MapReduce non si sono dimostrate particolarmente innovative
e performanti, perch non sfruttano al meglio la memoria delle CPU. E
grazie a Yarn che Hadoop continuer a svolgere un ruolo fondamentale, nel
trattamento dei Big Data in tutti i settori.

41

Information and Communication Technology Internal Use Only

YARN
Con la nascita di reti pi veloci, core pi elevati, storage allo stato
solido e soprattutto, memorie pi capienti, nuovi paradigmi di calcolo
parallelo si stanno diffondendo su larga scala. YARN (Yet Another
Resource Negotiator) un framework che consente agli utenti di andare
oltre MapReduce e di adottare questi paradigmi emergenti. Nasce cos la
seconda vita di Hadoop (Hadoop 2).
MapReduce non sar archiviato: una buona soluzione per molti problemi
che non effettuano elaborazioni di algoritmi particolarmente sofisticati e scala
orizzontalmente ancora meglio di ogni altra alternativa attualmente sviluppata.
Ma sar, in futuro, solo una componente di uno strumento molto pi esteso,
YARN, che nasce dalle sue ceneri.

42

Information and Communication Technology Internal Use Only

HBase
HBase un database: il database di Hadoop. E 'spesso descritto come un db
column-family oriented, pensato per l'archiviazione ed il recupero dei dati
con accesso casuale (non supportato in HDFS). In Hbase nessun nodo
unico: se una macchina va in crash, sufficiente sostituirla con unaltra od
eliminarla dalla rete, senza perdita di dati.
prevista, inoltre, la memorizzazione dinformazioni non strutturate:
HBase non si preoccupa del tipo e permette un modello di dati dinamico e
flessibile, che non costringe a specificare una tipologia di memorizzazione.
Non usa SQL e non forza relazioni all'interno dei dati. Non si preoccupa
dellintegrit referenziale e non usa join.

43

Information and Communication Technology Internal Use Only

HBase
HBase un database che memorizza i dati in tabelle, contenute in file (HFile).
Proprio come quelle di un database relazionale, le tabelle in HBase sono
strutturate in colonne. Ma HBase tratta le colonne diversamente da un
RDBMS: esse sono organizzate in gruppi chiamati famiglie. Una tabella deve
avere, quindi, almeno una famiglia di colonne.

44

Information and Communication Technology Internal Use Only

Ecosystem
ECOSISTEMA DI HADOOP

Ci sono diversi tools che costituiscono lecosistema di Hadoop. Di seguito


alcuni esempi.
Hive
Pig
Impala
Sqoop
Flume
Kafka
Zookeeper
Spark
Mahout

45

Information and Communication Technology Internal Use Only

Ecosystem
SPARK

Apache Spark un nuovo framework, per la computazione di grandi moli di


dati su cluster. Viene scherzosamente descritto come quello pi veloce di Map
Reduce, perch nel confronto con il suo predecessore ha prestazioni 10-100
volte maggiori. Spark implementato in Scala, un linguaggio di
programmazione ad alto livello, che integra caratteristiche sia dei linguaggi
funzionali sia della programmazione orientata agli oggetti.
La compilazione di un programma in Scala produce bytecode per la JVM.
Spark fornisce le API per i linguaggi Scala, Java e Python, ed offre dei preziosi
tool di sviluppo come Spark SQL, per creare delle query direttamente con
Spark e MLlib, una libreria ricca di algoritmi e strumenti classici per il
machine learning.

46

Information and Communication Technology Internal Use Only

Ecosystem
SPARK
Il vantaggio principale dellutilizzo di Spark, la sua estrema velocit
nelleseguire programmi di elaborazione dati. Il motivo di queste prestazioni
risiedono in una miglior gestione della memoria. Spark si integra, anche,
molto bene con Hbase. Il suo schema di lavoro, che pu essere iterato pi
volte, molto semplice.
Load dei dati da disco locale verso i nodi worker del cluster.
Esecuzione della funzione assegnata.
Store dei dati su disco locale.

Ad alto livello, unapplicazione Spark formata da un driver program, che


contiene la funzione main scritta dallutente e da una serie di parallel
operation definite nel programma, che saranno eseguite sui vari nodi worker
del cluster.
47

Information and Communication Technology Internal Use Only

Ecosystem
MAHOUT
Mahout un libreria open source di Apache. Lalgoritmo che implementa
ricade sotto la definizione di learning machine (apprendimento automatico)
o collective intelligence, che pu significare molte cose ma, allo stato
attuale, il suo uso corrente sinonimo di recommender engine ed operatore
di funzioni di clustering e classification.
Mathout una parola Hindi che si riferisce a colui che guida elefanti. Ha
iniziato la sua vita nel 2008 come sottoprogetto di Lucene, motore di
ricerca open source, implementando operazioni di text mining e tecniche
destrazione delle informazioni.

48

Information and Communication Technology Internal Use Only

Ecosystem
MAHOUT
I Recommender Engine rappresentano tecniche che sono largamente
utilizzate al giorno doggi. Esempi possono essere trovati su Amazon che
consiglia libri agli utenti, Netflix che consiglia DVD, siti di social network che
possono consigliare affinit tra persone. Facebook ne utilizza una variante per
identificare persone che potrebbero essere connesse ad altre.
E stato dimostrato, da organismi accreditati, che lutilizzo di queste tecniche
per scopi commerciali, porta ad un aumento dei ricavi che va dall8 al 10
per cento.

49

Information and Communication Technology Internal Use Only

ElasticSearch
DEFINIZIONE
Prima di parlare di ElasticSearch necessario introdurre Apache Lucene,
un motore di ricerca full-text ad alte prestazioni, interamente scritto in
Java. Si tratta di una tecnologia adatta a qualsiasi applicazione che richiede la
ricerca full-text, in particolare per architetture cross-platform. Lucene pu
indicizzare qualsiasi documento convertibile in formato testuale.
Quando Lucene indicizza un documento, lo decompone in una serie di
termini. Quindi memorizza i termini in un file indice, dove ognuno
associato ai documenti che lo contengono. Al momento dellesecuzione di una
query, questa viene elaborata attraverso lo stesso analizzatore che stato
utilizzato per costruire l'indice, per cercare il termine desiderato.

50

Information and Communication Technology Internal Use Only

ElasticSearch
LUCENE
Anche se Lucene uno strumento molto
efficace, per scomodo da usare
direttamente ed offre alcune funzionalit
basate su singolo server.
Elasticsearch dispone di API pi
intuitive e semplici rispetto a quelle di
Lucene. Inoltre, fornisce anche la
possibilit di creare uninfrastruttura
scalabile attraverso diversi server.
JSON il formato per i documenti,
supportato dal prodotto.

51

Information and Communication Technology Internal Use Only

ElasticSearch
UTILIZZO
Ci sono innumerevoli situazioni in cui Elasticsearch risulta molto utile.
Ricerca allinterno di un gran numero di descrizioni prodotto, per

la migliore corrispondenza nel caso di una frase specifica (ad esempio


macchina fotografica autofocus") e restituendo i risultati migliori.
Ricerca di testo per le parole simili per scrittura o significato.
Auto-completamento di searchbox basato su parole parzialmente

tipizzate, sulla base di ricerche precedentemente eseguite, tenendo conto di


errori di ortografia.
Elasticsearch utilizza con efficacia algoritmi di Logica Fuzzy.

52

Information and Communication Technology Internal Use Only

MongoDB
DOCUMENTI
MongoDB (humongous = gigantesco, mostruoso)
un NoSQL open-source scalabile ed altamente
performante, scritto in C++ con interfaccia Javascript.
Document oriented storage. I dati sono archiviati
sotto forma di document in stile JSON (Javascript
Object Notation), con schemi dinamici.
Full Index Support. Qualsiasi attributo pu essere
indicizzato.
Replication & High Availability. La replica dei
dati assicura fault tolerance ed alta scalabilit.
53

Information and Communication Technology Internal Use Only

MongoDB
SHARDING E REPLICHE
Meccanismo di partizionamento per
MongoDB. Ogni Shard ha le sue
repliche. I nodi Master ricevono
tutte le scritture e le inoltrano ai
nodi Slave, che sono in sola lettura.
Se il nodo Master ha un problema
(system crash, network error,
mongodb server crash) i nodi Slave
tengono una elezione (automatica)
per scegliere un nuovo Master.

54

Information and Communication Technology Internal Use Only

MongoDB
INDICI
Geospatial Index
Per supportare query efficienti di dati geospaziali, MongoDB fornisce due
indici speciali, oltre a quelli tradizionali:
2d indexes, che utilizzano algoritmi di geometria piana per la

localizzazione bidimensionale dei dati sui diversi nodi;


2sphere indexes, che utilizzano algoritmi di geometria sferica, per la

localizzazione tridimensionale dei dati sui nodi.

55

Information and Communication Technology Internal Use Only

OrientDB
DEFINIZIONE
OrientDB un prodotto particolarmente interessante, che riunisce in un unico
database molte funzionalit e caratteristiche poliedriche.
Ha modalit multiple di storage: document, graph, object, key/value.
Utilizza un funzionamento embedded, in memory, client/server.
Fornisce propriet ACID di consistenza delle transazioni (unico NoSQL).
Supporta nativamente JSON e REST.
E scritto in Java.

56

Information and Communication Technology Internal Use Only

OrientDB
FORMATI
La modalit Document una delle pi importanti di OrientDB: su di essa
infatti si basano sia la modalit Graph database che Object database.

La definizione di documento molto generica: unentit che raggruppa


diversi campi, di qualsiasi tipo: stringhe, date, numeri, dati binari, riferimenti
ad altri documenti. In questa definizione potrebbero ricadere le tradizionali
tabelle di un database relazionale.
C, per, una grossa differenza: un documento non ha necessariamente una
struttura fissa, ma pu contenere un numero variabile di campi.

57

Information and Communication Technology Internal Use Only

OrientDB
ARCHITETTURA
Questa estrema libert permette di utilizzare la struttura dati in molti modi, ed
proprio ci che succede dietro le quinte di OrientDB.

Nella modalit Object Database ogni oggetto viene salvato in un documento,


e le sue propriet in altrettanti campi.
Nella modalit Graph Database i nodi sono documenti che memorizzano nei
propri campi i collegamenti verso gli altri nodi.
Ci ha richiesto una complessa progettazione software, ottenuta con lutilizzo
di personale altamente qualificato ed esperto.

58

Information and Communication Technology Internal Use Only

Focus
Database
SQL
DataMart
SQL

Database
NoSQL

59

Information and Communication Technology Internal Use Only

relatore

Mauro Liciani
progettazione ed ottimizzazione
di sistemi software e basi di dati

mauro_liciani@hotmail.com
altri riferimenti su linkedin

Training and Education


Un giorno le macchine riusciranno a risolvere tutti i problemi,
ma nessuna di esse potr mai porne uno.
citazione attribuita ad

Albert Einstein.

best regards
60

Information and Communication Technology Internal Use Only