Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la...

34
Architetture scalabili per la memorizzazione, analisi, condivisione e pubblicazione dei dati Roma, 13 giugno 2012 - ArcheoFOSS 2012 Rodolfo Boraso , Diego Guenzi

Transcript of Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la...

Page 1: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

Architetture scalabili per la memorizzazione, analisi, condivisione e

pubblicazione dei dati

Roma, 13 giugno 2012 - ArcheoFOSS 2012

Rodolfo Boraso , Diego Guenzi

Page 2: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

CSP s.c.a r.l.

2

Organismo di ricerca, ex Centro di Supercalcolo del Piemonte– Senza scopo di lucro– Utili reinvestiti in ricerca– Sviluppo sperimentale e ricerca industriale in ICT– Progetti europei, nazionali e regionali– Laboratorio di ricerca iscritto all' “Albo dei laboratori MIUR”– Nessun accesso preferenziale ai soci

Page 3: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

3

Topic

MEMORIZZAZIONE

Page 4: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

4

Ampia scelta di database

RelationalNon-relational

Piccolo Mapr Hadoop

Oracle IBM DB2 SQLServer JustOneOperationalInterSystems Progress VersantObjectivity

Document Lotus Notes

MarkLogic McObject

Mysql Ingres PostgreSQL SAP Sybase ASE EnterpriseDB

NewSQL

Amazon RDS SQL AzureDatabase.comXeround FathomDB

Schooner MySQL CodeFutures Tokutek ScaleBase NimbusDBContinuent VoltDB

Translattice

HandlerSocket

Akiban MySQL Cluster

ClustrixDrizzle

GenieDBScalArc

NOSQLCouchDB

MongoDBRavenDB Cloudant

Hadapt

KeyValue

Riak Redis

Membrain

Cassandra VoldemortBerkeleyDB

HypertableHBase

GraphBig TablesInfiniteGraphNeo4JGraphDB

'as-a-Service'App Engine Datastore SimpleDB

DataCache

Cloud Enable-ment

Data Grid/CacheTerracotta GigaSpaces Oracle Coherence memcached

IBM eXtreme Scale GridGain Vmware GemFire InfiniSpan CloudTran

Analytic Brisk Dryad Infobright Netezza ParAccel SAP Sybase IQ Teradata EMC CalPont Infosphere AsterData Greeplum VectorWise Vertica

CouchBase

Page 5: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

5

NOSQL

Movimento che promuove una classe non ben definita di strumenti di archiviazione di dati

“For some problems, other storage solutions are better suited”

Not Only SQL• Non è un movimento contro l’SQL• Esistono delle alternative ai RDBMS tradizionali• Un nuovo modo di vedere la persistenza• Strumenti nati per lavorare in ambienti distribuiti, adatti al cloud computing

Page 6: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

6

NOSQL

Si differenziano dai RDBMS• Non utilizzano il tradizionale SQL• Non adottano schemi tabellari fissi (dati semi-strutturati)• Evitano join• Scalano facilmente su commodity hardware

Uso complementare ai RDBMS• The right tool for the job• Coprono aree dove i RDBMS sono “deboli”• Hanno come target settori specifici

Page 7: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

7

Scalabilità

Verticale• Potenziamento dell'hardware

Orizzontale• Numero di macchine

Page 8: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

8

Costo della scalabilità

Verticale• Esponenziale

Orizzontale• Lineare

Page 9: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

9

Scalabilità RDBMS tradizionali

Verticale• In genere non ci sono grosse difficoltà

Orizzontale• Problematica: necessità di tecniche complesse con un forte degrado delle prestazioni offerte

Page 10: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

10

Scalabilità DB NOSQL

Verticale• In genere non ci sono grosse difficoltà

Orizzontale• Nascono per essere inseriti in ambienti distribuiti: l'eccezione è il server stand-alone

Page 11: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

11

Solo scalabilità?

Scalare orizzontalmente => avere più macchine

• Fault tolerance• Load balancing• High availability

Avere più macchine => poter distribuire e replicare i dati su più nodi

• Uso ideale in ambienti distribuiti• Affidabilità• Elevate prestazioni

Tutto in bundle, senza bisogno di software aggiuntivi

Page 12: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

12

NewSQL

● Una via di mezzo fra il mondo NOSQL e quello relazionale● Uso di tabelle relazionali e di SQL● Stessa scalabilità dei DBMS NOSQL● Molti prodotti stanno nascendo: VoltDB, MySQL Cluster (NDB),

ScaleDB, Xeround…● Molti storage engine per MySQL

Page 13: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

13

HBase

● Architettura orientata alle colonne / ibrida basata su HDFS● Si ispira a BigTable di Google● Software open source con licenza Apache● Utilizzato in produzione da molti enti fra i quali spicca Facebook● Salvataggio dati in RAM (con flush su disco)● Replica dei dati e sharding ottenuti grazie all’HDFS● Aggiunta di nodi a caldo● Self-healing

Page 14: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

14

HDFS

● Filesystem distribuito, altamente scalabile● Basato sul framework Hadoop● Cluster di nodi formano uno storage HDFS● Fault-tolerant ● Lavora su commodity hardware (low-cost)

Page 15: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

15

Hadoop

● Framework che supporta applicazioni distribuite con elevato accesso ai dati● Scritto interamente in Java● Permette alle applicazioni di lavorare con migliaia di nodi e petabyte di dati● Si ispira alla tecnologia Map/Reduce di Google e al Google File System● Progetto top-level di Apache Foundation● Usato da alcuni grossi player come AOL, eBay, Facebook, IBM, Imageshack, Joost, Linkedin, The New York Times, Twitter e Yahoo

Page 16: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

16

Topic

ANALISI

Page 17: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

17

R – Statistical computing

● Ambiente per l'analisi statistica con licenza GPL● Predisposto per l'interconnessione a diversi database e a sistemi GIS come GRASS (geostatistica)● Ampia disponibilità di moduli per la connessione ad altre applicazioni con driver specifici o tramite connessioni ODBC● Disponibile per moltissime piattaforme

Page 18: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

R + Hadoop

● Connubio “best-of-breed” open source per l'analisi● Permette di analizzare grossi insiemi di dati distribuiti su HDFS / HBase anziché su storage e database locali ● Utilizza script in linguaggio R e sfrutta le potenzialità della metodologia di calcolo distribuito di Map / Reduce

18

Page 19: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

19

Big Data Analytics

● Big Data = informazioni in enormi quantità, delle più svariate tipologie e formati e in costante crescita, che causano complessità nella gestione con strumenti tradizionali

● Complessità sì nella memorizzazione (i RDBMS tradizionali sono insufficienti) ma, specialmente, nell'analisi (tecniche di warehousing o di business intelligence risultano inadatte)

● Big Data Analytics = utilizzo di “nuovi” strumenti distribuiti per l'analisi

● HDFS + NOSQL + Map / Reduce + R = una possibile soluzione open source per la Big Data Analytics

Page 20: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

20

Esempio: Oracle Big Data Appliance

● Un'appliance Oracle per l'analisi dei Big Data

● Oracle Enterprise Linux 5.6● CDH - Cloudera's Distribution

including Hadoop (Hadoop pacchettizzato da Cloudera)

● Oracle NOSQL Database (BerkleyDB)

● Open source R

Page 21: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

21

Topic

CONDIVISIONE e PUBBLICAZIONE

Page 22: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

22

Apache web server e WebDAV

● Progetto della Apache Foundation● Server web multipiattaforma open source attivo dal 1995● Architettura modulare● Grazie a mod_dav e dav_fs permette l'accesso tramite protocollo WebDAV alle risorse presenti sul file system● Web-based Distributed Authoring and Versioning (WebDAV)

● Protocollo basato su HTTP● Permette all'utente di gestire in modo collaborativo i file in un

server remoto● Scopo: rendere il web un mezzo di lettura e scrittura● Supportato da una miriade di dispositivi, dai computer agli

smartphone

Page 23: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

23

Data feed via mobile

Cloud A

Cloud B

Cloud C

Cloud Computing

Internet

Mobile Users

Network Operators

Internet Service Providers

Application Service Providers

● Esempio: crowdsourcing● ...ma non solo: oltre al feed, anche la fruizione dei contenuti può avvenire tramite device mobili

Page 24: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

24

Topic

ARCHITETTURA

Page 25: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

25

Load balancing

● Metodologia per la distribuzione del carico su più macchine all'interno di un cluster

● Moltissime soluzioni open source, ad esempio HAProxy+Keepalived, ma anche Nginx + Keepalived

Page 26: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

26

Schema architetturale

Cluster Web

Internet

…...HAProxy

….... …....

…....

HTTP/WebDAV

HAProxy

Apache+

Fuse

Apache+

Fuse

Apache+

Fuse

Cluster Web

RApacheSolr

Pentaho

Piattaformedi analisi

NodoHadoop

NodoHadoop

NodoHadoop

HDFS

Hadoop HBase

Keepalived

HTTP/WebDAV

Hive

Page 27: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

27

Topic

CONTESTI D'USO

Page 28: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

28

Pubblica amministrazione

● Le PA possono disporre di grosse moli di dati di interesse per i cittadini, tra i quali si identificano spesso gli open data● Quale modo migliore per utilizzarli se non dal proprio smartphone?● Come evidenziato su dati.gov.it esistono app per:

● amministrazioni centrali (trovare e lasciare opinioni sugli uffici pubblici, gestione INPS e INAIL, motorizzazione civile...)

● regioni (informazioni turistiche e culturali, analisi statistiche...)● province (infomobilità, gastronomie tipiche...)● comuni (mezzi pubblici, news...)

Page 29: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

29

Mobile data analytics

● Connubio fra data analytics e ambienti di nuova generazione ● Se si parla di Big Data è necessario elaborare i dati per renderli anonimi e aggregarli, in modo che il cittadino li riceva in forma semplificata● Serve potenza di calcolo nell'infrastruttura di back-end: i dispositivi mobili fungono solo da thin client● Necessità di ambienti scalabili (cloud)

Riga 1 Riga 2 Riga 3 Riga 40

2

4

6

8

10

12

Colonna 1

Colonna 2

Colonna 3

Page 30: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

30

Cloud storage e personal cloud

● Necessità di avere un contesto comune fra più dispositivi, al fine di condividere i dati fra i propri device

● PC● Notebook● Tablet● Smartphone

● Necessità di condividere i propri dati con altri● Necessità di capacità di storage addizionale

Page 31: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

31

Hadoop nell'archeologia

● Uso di LIDAR per la rilevazione della mappatura di siti relativi alle civiltà pre-colombiane in America centrale (mole enorme di campionamenti)● Elaborazione dei dati grazie a Map / Reduce e Hadoop con performance migliori rispetto ad architetture HPC, ben più costose (San Diego Supercomputing Centre)● http://silvertonconsulting.com/blog/2012/03/14/archeology-meets-big-data/

Page 32: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

32

R nell'archeologia● Numerosi esempi di utilizzo:

● analisi di statistica circolare per lo studio dell'esposizione solare

● analisi dell'assetto spaziale di un deposito archeologico (Fabric Analysis)

● analisi di comparazione di reperti utilizzando indici di somiglianza tra oggetti o siti

● “Un'anfora frammentaria della laguna di Venezia” di I. Modrzewska, G. Taroni, F. Pianetti, 2010

● “Correspondence analysis in R for archaeologists: an educational account” di M.J. Baxter, H.E.M. Cool, 2010

● ...

Page 33: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

33

Conclusioni

● La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open source)● Architettura fortemente scalabile● Modello “modulare” con componenti intercambiabili e interoperabili● Infrastruttura general purpose, adatta alla memorizzazione e all'analisi di diverse tipologie di dati (strutturati o meno)● Componenti dell'architettura ampiamente adottate e fortemente supportate dalla community● Capacità di esecuzione su commodity hardware anziché su soluzioni specifiche offerte da vari vendor (rischio di vendor lock-in)

Page 34: Architetture scalabili per la memorizzazione, analisi ... · La soluzione stato dell'arte è la soluzione FOSS (e.g. Oracle Big Data Appliance adotta prevalentemente software open

CSP innovazione nelle ICT s.c. a r.l. Via Nizza n. 150 – 10126 Torino – Italy(ingresso da via Alassio, 11/c)

Tel: +39 011 4815111Fax: +39 011 4815001E-mail: [email protected]

www.csp.it

34

Direzione Progettazione e Gestione Risorse

[email protected] [email protected]

Attribution - NonCommercial - ShareAlike 2.5 ItalyTutti i marchi citati e i loghi riprodotti appartengono ai legittimi proprietari.I suddetti sono citati esclusivamente a scopo informativo.