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