Architetture scalabili per la memorizzazione, analisi, condivisione e

Architetture scalabili per la
memorizzazione, analisi, condivisione e
pubblicazione dei dati
Roma, 13 giugno 2012 - ArcheoFOSS 2012
Rodolfo Boraso , Diego Guenzi
CSP s.c.a r.l.
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
2
Topic
MEMORIZZAZIONE
3
Ampia scelta di database
Relational
Non-relational
Analytic
Infobright Netezza ParAccel SAP Sybase IQ Teradata EMC
Brisk Dryad
Hadapt CalPont Infosphere AsterData Greeplum VectorWise Vertica
Piccolo Mapr Hadoop
Operational
InterSystems
Progress Versant
Objectivity
Oracle
Document
Lotus Notes
NOSQL
Key
Value
MarkLogic
McObject
CouchDB
MongoDB
RavenDB
Cloudant
App Engine
CouchBase
Riak
Datastore
Redis
SimpleDB
Membrain
'as-a-Service'
Big Tables
Cassandra
Voldemort
Hypertable
BerkeleyDB
HBase
Data
Cache
Data Grid/Cache
Terracotta
IBM eXtreme Scale
GigaSpaces
Graph
InfiniteGraph
Neo4J
GraphDB
Mysql
IBM DB2
SQLServer
JustOne
Ingres
PostgreSQL
SAP Sybase ASE
EnterpriseDB
NewSQL
HandlerSocket
Amazon RDS
SQL Azure
Database.com
Xeround
FathomDB
Akiban
MySQL Cluster
Clustrix
Drizzle
GenieDB
ScalArc
Schooner MySQL CodeFutures
Tokutek
ScaleBase
NimbusDB
Continuent
VoltDB
Translattice
Cloud
Enablement
Oracle Coherence
memcached
GridGain
Vmware GemFire
InfiniSpan
CloudTran
4
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
5
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
6
Scalabilità
Verticale
• Potenziamento dell'hardware
Orizzontale
• Numero di macchine
7
Costo della scalabilità
Verticale
• Esponenziale
Orizzontale
• Lineare
8
Scalabilità RDBMS tradizionali
Verticale
• In genere non ci sono grosse difficoltà
Orizzontale
• Problematica: necessità di tecniche
complesse con un forte degrado delle
prestazioni offerte
9
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
10
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
11
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
12
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
●
13
HDFS
Filesystem distribuito, altamente
scalabile
●
Basato sul framework Hadoop
●
Cluster di nodi formano uno
storage HDFS
●
Fault-tolerant
●
Lavora su commodity hardware
(low-cost)
●
14
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
●
15
Topic
ANALISI
16
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
●
17
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
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
●
19
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
●
20
Topic
CONDIVISIONE e PUBBLICAZIONE
21
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
●
22
Data feed via mobile
Cloud Computing
Cloud C
Internet
Cloud A
Network Operators
Cloud B
Mobile Users
Internet Service Providers
Application Service Providers
Esempio: crowdsourcing
●
...ma non solo: oltre al feed, anche la fruizione dei contenuti può
avvenire tramite device mobili
●
23
Topic
ARCHITETTURA
24
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
●
25
Schema architetturale
Internet
HTTP/WebDAV
HAProxy
HAProxy
Keepalived
…...
HTTP/WebDAV
Apache
+
Fuse
Apache
+
Fuse
Cluster Web
Apache
+
Fuse
…....
Hadoop
Nodo
Hadoop
Nodo
Hadoop
R
Apache
Pentaho
Solr
Hive
Piattaforme
di analisi
…....
HBase
Nodo
Hadoop
…....
HDFS
26
Topic
CONTESTI D'USO
27
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...)
●
28
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)
●
12
10
8
Colonna 1
Colonna 2
Colonna 3
6
4
2
0
Riga 1 Riga 2 Riga 3 Riga 4
29
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
●
30
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/
31
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
...
32
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)
●
33
Direzione Progettazione e Gestione Risorse
[email protected]
[email protected]
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 4815111
Fax: +39 011 4815001
E-mail: [email protected]
www.csp.it
Attribution - NonCommercial - ShareAlike 2.5 Italy
Tutti i marchi citati e i loghi riprodotti appartengono ai legittimi proprietari.
I suddetti sono citati esclusivamente a scopo informativo.
34