1. Architetture scalabili per la
memorizzazione, analisi, condivisione e
pubblicazione dei dati
Roma, 13 giugno 2012 - ArcheoFOSS 2012
Rodolfo Boraso , Diego Guenzi
2. 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
4. Ampia scelta di database
Relational
Non-relational Analytic Brisk Dryad Infobright Netezza ParAccel SAP Sybase IQ Teradata EMC
Hadapt CalPont Infosphere AsterData Greeplum VectorWise Vertica
Piccolo Mapr Hadoop
Operational Oracle IBM DB2 SQLServer JustOne
InterSystems
Progress Versant
Objectivity
Document MarkLogic Mysql Ingres PostgreSQL
McObject SAP Sybase ASE EnterpriseDB
Lotus Notes
NOSQL
CouchDB NewSQL HandlerSocket
Key MongoDB
Value
RavenDB 'as-a-Service' Amazon RDS
Akiban
MySQL Cluster
Cloudant SQL Azure
Riak CouchBase App Engine Clustrix
Database.com
Redis Datastore Drizzle
Xeround FathomDB
SimpleDB GenieDB
Membrain ScalArc
Big Tables Graph Schooner MySQL CodeFutures
Cassandra InfiniteGraph Tokutek ScaleBase NimbusDB
Voldemort Hypertable Neo4J Continuent VoltDB
BerkeleyDB HBase GraphDB Translattice
Data Cloud
Cache Enable-
ment
Data Grid/Cache
Terracotta GigaSpaces Oracle Coherence memcached
IBM eXtreme Scale GridGain Vmware GemFire InfiniSpan CloudTran
4
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
5
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
6
7. Scalabilità
Verticale
• Potenziamento dell'hardware
Orizzontale
• Numero di macchine
7
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
9
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
10
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
11
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
12
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
13
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)
14
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
15
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
17
18. 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
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
19
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
20
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
22
23. 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
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
25
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...)
28
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)
12
10
8
Colonna 1
6 Colonna 2
4 Colonna 3
2
0
Riga 1 Riga 2 Riga 3 Riga 4
29
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
30
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/
31
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
●
...
32
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)
33
34. Direzione Progettazione e Gestione Risorse
rodolfo.boraso@csp.it
diego.guenzi@csp.it
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: innovazione@csp.it
www.csp.it
34