Secondo Progetto Corso di Big Data
Obiettivi Risolvere problemi attinenti alle tematiche Big Data Sperimentare metodologie di Big Data Analizzare e confrontare tecnologie di Big Data
Approccio Selezionare un problema di big data Individuare uno o più metodi per risolvere il problema Scegliere le tecnologie più adatta Implementare i metodi con le tecnologie scelte Fare delle sperimentazioni (e dei confronti)
Modalità di scelta Scelta di un progetto tra i vari argomenti proposti I progetti hanno specifiche piuttosto lasche in modo da poter essere scelti da più gruppi ma soprattutto per favorire la libertà di inventiva I progetti sono esclusivi non possono esserci due progetti con stesse specifiche non tardate nella scelta del vostro progetto!!! In ogni caso, per l assegnazione è necessaria l approvazione del docente Scelta tramite una form sul sito
TOPIC 1: (ANY KIND OF) DATA ANALYTICS Cercare autonomamente uno scenario applicativo e dei dati reali (possibili sorgenti in fondo alla presentazione) Individuare uno o più metodi di analisi dei dati individuati Scegliere la o le tecnologie più adatte (tra quelle viste a lezione ma anche altre, purché siano adatte ai big data ) Implementare i metodi con le tecnologie scelte (in ambiente distribuito) Fare delle sperimentazioni discutendo efficacia ed efficienza dei metodi
TOPIC 2: Enterprise Big Data Platforms Sistemi per gestire collezioni eterogenee di big data con diversi strumenti. Polystores basati su accoppiamento lasco Accesso diretto ai singoli sistemi e ricerca basata su esplorazione QUEPA (QUery and Exploring a Polystore by Augmentation) Data Lake Management Systems Strumenti per la preparazione dei dati (discovery, profiling, cleansing, validation and transformation) con riduzione del time-to-action KAYAK Dettagli nella presentazione di Antonio Maccioni disponibile sul sito del corso
TOPIC 3: EXPLANATION SYSTEMS Sistemi che spiegano all utente: Il come si è arrivati ad un dato risultato Il motivo di risultati anomali (outliers) Il motivo di performance anomale... Sistemi analoghi a dei debugger Scorpion (https://github.com/sirrice/scorpion) Titian Dettagli nella presentazione di Antonio Maccioni disponibile sul sito del corso
TOPIC 4: POLYGLOT DATA MANAGEMENT Creazione di uno o più scenari poliglotti (gestione di dati con sistemi diversi) e accesso tramite middleware Approccio basato su accoppiamento forte Implementazione e test di operatori a supporto del sistema Dettagli nella presentazione di Roberto De Virgilio disponibile sul sito del corso.
TOPIC 5: Profiling in Social Networks Caratterizzare ( profilare ) comunità presenti su social network Uso di knowledge graphs per catturare la semantica Implementazione e test di operatori a supporto del sistema Sperimentazione su social networks reali (twitter) Dettagli nella presentazione di Roberto De Virgilio disponibile sul sito del corso.
TOPIC 6: Fraud detection Strumenti in grado di individuare frodi sfruttando reti di conoscenza (knowledge graphs) Approccio basato sulla scoperta automatica di patterns su grafi Sperimentazione con Graph-DBMS e strumenti visuali Dettagli nella presentazione di Roberto De Virgilio disponibile sul sito del corso.
Topic 7: Community Detection L'analisi delle comunità (Community Detection) è uno dei problemi più diffusi nell'analisi delle reti sociali. Esistono molte definizioni di comunità, qual è la tua preferita e quali sono le sue proprietà? Questo progetto include: Analisi di dati provenienti da social networks Implementazione di algoritmi di community detection Analisi di comunità reali usando tecnologie esistenti (es. Neo4j, Giraph) Dettagli nella presentazione di Donatella Firmani disponibile sul sito del corso.
Topic 8: Entity Resolution Risolvere le entità (Entity Resolution) è uno dei problemi più importanti nell ambito della data integration, e il crowdsourcing è un potente strumento. Sapresti classificare diversi articoli in vendita sul web in entità e categorie, potendo fare delle semplici domande a degli esseri umani? Questo progetto include: Analisi di dati provenienti da siti di e-commerce Implementazione di algoritmi per entity resolution (es. meta-blocking, oracle strategies) Analisi di dati reali usando piattaforme esistenti (es. Google Product, CrowdFlower) Dettagli nella presentazione di Donatella Firmani disponibile sul sito del corso.
TOPIC 9: NoSQL & NewSQL Confronto sperimentale fra sistemi NoSQL Confronto sperimentale fra sistemi NewSQL Google Spanner, CockroachDB, Clustrix, VoltDB, MemSQL, Hana, NuoDB and Trafodion. NewSQL vs SQL NoSQL vs NewSQL
TOPIC 10: STREAMS Creazione di uno o più scenari (Sensori, Twitter,..) Sperimentazione di una o più tecnologie di data streaming (es. Apache Flink, Storm, Flume, Kafka, Spark Streaming, FuelDB, Apache Ignite, ecc.) Dataflow Programming Apache BEAM (formerly Google Cloud DataFlow) Analisi di un'architettura lambda
TOPIC 11: GENOMIC DATA MANAGEMENT Gestione di dati biologici (genomici in particolare) Nell ambito dei progetti GeCo e TCGA Dettagli nella presentazione di EmanuelWeitschek disponibile sul sito del corso.
Cosa Consegnare Relazione esaustiva ma sintetica che descrive: le attività svolte, le analisi fatte le osservazioni conclusive Materiale aggiuntivo per la riproducibilità delle attività svolte (es. codice, script, ecc.).
Deadlines (orientative) Prima presentazione (pitch): 14 giugno 2017 Prova scritta: 17 luglio 2017 Consegna progetti: 14 luglio 2017 Presentazione finale: 14 luglio 2017 Verbalizzazioni: 19 luglio 2016
Valutazione Il voto è unico per gruppo, commisurato al numero di membri del gruppo e basato sui seguenti fattori: Qualità presentazione e materiale consegnato (40%) Esposizione finale Riproducibilità Chiarezza e sintesi della tesina Capacità di evidenziare i risultati chiave Originalità e Proattività (30%) Impostazione e significatività della sperimentazione Capacità di problem solving in ambito Big Data Implementazione (30%) Soddisfacimento requisiti Completezza della sperimentazione Difficoltà problemi affrontati
Materiale Utile Nel seguito alcuni link Segnalazioni utili a tutti sono benvenute
Cross-disciplinary data sets https://www.kaggle.com/datasets http://aws.amazon.com/datasets http://crowdsignals.io/ http://reddit.com/r/datasets https://datahub.io/ alias http://ckan.net http://quandl.com http://data.worldbank.org/ http://www.data.gov/ http://www.dati.gov.it http://www.kdnuggets.com/datasets/index.html (Datasets for Data Mining) http://databib.org http://datacite.org http://figshare.com
Generatori di dati https://github.com/ldbc/ldbc_spb_bm_2.0 (Tabular and RDF data) https://github.com/ldbc/ldbc_snb_datagen (Graphs Social Network) Data Science Jupyter Notebook Apache Zeppelin
Assessment and Benchmark https://amplab.cs.berkeley.edu/benchmark/ (OLTP) http://www.tpc.org/ (Vari OLTP, OLAP,...) http://prof.ict.ac.cn/bigdatabench/old/2.0/ (vari) https://github.com/brianfrankcooper/ycsb (NoSQL) http://ldbcouncil.org/ (Graphs, RDF and Social Networks) http://wifo5-03.informatik.unimannheim.de/bizer/berlinsparqlbenchmark/ https://github.com/socialsensor/graphdb-benchmarks (GDBMSs) (RDF databases)