Risultati dell'apprendimento
Principi, paradigmi e tecnologie per la progettazione e gestione di sistemi
a larga scala che processano ed analizzano Big Data.
CFU
6 CFU, 60 ore di didattica frontale distribuite in 4 ore a settimana
Prerequisiti
Il corso presuppone una conoscenza delle basi di dati, dei sistemi distribuiti e del Cloud computing.
Orario delle lezioni
Il corso si tiene nel secondo semestre.
Orario valido dall'1/3/2021 al 12/6/2021 (secondo semestre)
- Lunedì dalle 11:30 alle 13:15, aula B6 edificio didattica
- Giovedì dalle 11:30 alle 13:15, aula B6 edificio didattica
Classe virtuale su Teams
link
Valeria Cardellini
Tel.: 067259 7388
E-mail:

(è necessario specificare [SABD] nell'oggetto della mail)
Ufficio: stanza D1-17,
corpo D dell'edificio "Ingegneria dell'Informazione", primo piano.
Orario di ricevimento: da definire.
Fabiana Rossi
Corso integrativo da 2 CFU "Hands-on storage systems and processing frameworks for Big Data"
E-mail:
(è necessario specificare [SABD] nell'oggetto della mail)
Orario di ricevimento: da concordare tramite email; a causa dell'emergenza Covid-19, il ricevimento si svolge in modalità telematica.
- 31 marzo 2021 -
Per la lezione di Laboratorio di giovedì 1 aprile, si consiglia di scaricare in anticipo le immagini Docker di HBase e Neo4j:
docker pull harisekhon/hbase:1.4
docker pull neo4j:3.0
- 14 marzo 2021 -
Per la lezione di Laboratorio di lunedì 15 marzo, si consiglia di scaricare in anticipo le immagini Docker di HDFS, Redis e MongoDB:
docker pull effeerre/hadoop
docker pull sickp/alpine-redis
docker pull mongo
-
27 febbraio 2021 - Il corso avrà inizio lunedì 1 marzo 2021 alle ore 11:30 su Teams. Come da decisione della Macroarea di Ingegneria, la prima settimana di lezioni si svolgerà esclusivamente in modalità online.
Non c'è un libro di testo, in quanto il materiale si basa principalmente su articoli scientifici e documentazione dei framework e tool per Big Data.
Ma se sei interessata/o ad un testo, quelli elencati di seguito coprono una buona parte degli argomenti trattati nel corso:
-
A. Bahga, V. Madisetti,
Big Data Science and Analytics: A Hands-On Approach, VPT, 2016.
In alternativa degli stessi autori:
Cloud Computing Solutions Architect: A Hands-On Approach, 2019.
-
M. Kleppman,
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, O'Reilly, 2017.
Giorno |
Argomento |
Lucidi |
Ultima modifica |
1/3/2021 |
Organizzazione del corso
Introduzione ai Big Data |
Organization.pdf
IntroBD.pdf
|
1/3/2021
1/3/2021 |
4/3/2021 |
Introduzione ai Big Data
Sistemi per storage dei dati: introduzione, file system distribuiti, GFS |
vedi lezione precedente
Storage_DFS.pdf |
8/3/2021 |
8/3/2021 |
Sistemi per storage dei dati: GFS, HDFS, GlusterFS, Alluxio |
vedi lezione precedente |
|
11/3/2021 |
Data store NoSQL: introduzione, data store chiave-valore, orientati ai documenti |
Storage_NoSQL.pdf |
28/3/2021 |
15/3/2021 |
Hands-on Hadoop Distributed File System
|
Storage_HandsOn_HDFS.pdf
scaletta
Docker Image Repository
scripts
|
15/3/2021 |
18/3/2021 |
Data store NoSQL: data store family-column e database a grafo
Case study: Dynamo |
vedi lezione dell'11/3 |
|
22/3/2021 |
Data store NoSQL: case study su Bigtable, Google Cloud Bigtable |
vedi lezione dell'11/3 |
|
25/3/2021 |
Data store NoSQL: case study su Cassandra e Neo4j |
vedi lezione dell'11/3 |
|
29/3/2021 |
Data store NoSQL: analisi delle prestazioni e scelta
Database NewSQL e database per serie temporali |
vedi lezione dell'11/3
Storage_NewSQL&TSDB.pdf |
1/4/2021 |
2/4/2021 |
Hands-on NoSQL DB: Redis, MongoDB, HBase |
Storage_HandsOn_NoSQL_KVDC.pdf
scaletta.txt
script.zip
Code: HBaseClient
|
1/4/2021 |
5/4/2021 |
Introduzione a MapReduce e Spark: background
MapReduce |
Intro_Hadoop+Spark.pdf
MapReduce&Hadoop.pdf
|
16/4/2021
16/4/2021 |
8/4/2021 |
MapReduce: esempi |
vedi lezione del 5/4 |
|
12/4/2021 |
Hadoop |
vedi lezione del 5/4 |
|
15/4/2021 |
MapReduce: PageRank
Apache Spark: introduzione |
vedi lezione del 5/4
|
|
19/4/2021 |
Hands-on Neo4j and MapReduce |
Neo4j: Storage_HandsOn_NoSQL_G.pdf
start-neo4j-server.sh
scaletta.txt
MapReduce: MapReduce_HandsOn_DesignPatterns.pdf
scaletta.txt
code
|
19/4/2021 |
I seguenti articoli approfondiscono ed integrano gli argomenti trattati a lezione; la loro lettura è raccomandata.
When I talk to researchers, when I talk to people wanting to engage in entrepreneurship, I tell them that if you read research papers consistently, if you seriously study half a dozen papers a week and you do that for two years, after those two years you will have learned a lot. This is a fantastic investment in your own long term development.
(Andrew Ng,
Inside The Mind That Built Google Brain: On Life, Creativity, And Failure)
-
T.H. Davenport and D.J. Patil,
Data Scientist: The Sexiest Job of the 21st Century, Harvard Business Review, 2012.
-
J. Heidrich, A. Trendowicz and C. Ebert,
Exploiting Big Data's Benefits,
in IEEE Software, 2016.
[pdf]
-
H.V. Jagadish et al.,
Big Data and Its Technical Challenges,
Commun. ACM, vol. 57, no. 7, pp. 86-94, July 2014.
[pdf]
-
S. Ghemawat, H. Gobioff, and S.-T. Leung, The Google File System, In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP '03), 2003.
-
H. Li, A. Ghodsi, M. Zaharia, S. Shenker, and I. Stoica. Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks. In Proceedings of the ACM Symposium on Cloud Computing (SOCC '14), 2014.
- K. Grolinger, W.A. Higashino, A. Tiwari and M. Capretz, Data management in cloud environments: NoSQL and NewSQL data stores, Journal of Cloud Computing, 2013.
- G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels, Dynamo: Amazon's highly available key-value store, In Proceedings of the 21st ACM SIGOPS Symposium on Operating Systems Principles (SOSP '07), 2007.
-
F. Chang, J. Dean, S. Ghemawat, W.C. Hsieh, D.A. Wallach, M. Burrows, T. Chandra, A. Fikes, R.E. Gruber, Bigtable: A distributed storage system for structured data, In Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI '06), 2006.
-
A. Lakshman and P. Malik, Cassandra: a decentralized structured storage system, SIGOPS Oper. Syst. Rev., Vol. 44, No. 2, pp. 35-40, 2010.
- M. Needham and A. Hodler, Graph Algorithms: Practical Examples in Apache Spark and Neo4j, O'Reilly Media, 2019.
- J. Corbett et al., Spanner: Google’s Globally-Distributed Database, Proc. OSDI '12, 2012.
- M. Stonebraker and A. Weisberg, The VoltDB main memory DBMS, 2013.
-
J. Dean and S. Ghemawat,
MapReduce: simplified data processing on large clusters, In Proceedings of the 6th Symposium on Operating System Design and Implementation (OSDI '04), 2004.
-
J. Leskovec, A. Rajaraman, and J. Ullman,
Mining of Massive Datasets 3rd edition, chapter 2, 2020.
-
A. Gates et al.,
Building a high-level dataflow system on top of Map-Reduce: the Pig experience,
In Proceedings of the VLDB Endowment, 2009.
-
A. Thusoo et al., Hive – A petabyte scale data warehouse using Hadoop, In Proceedings of the 26th IEEE International Conference on Data Engineering (ICDE’10), 2010.
-
M. Kornacker et al., Impala: A modern, open-source SQL engine for Hadoop, In Proceedings of CIDR ’15, 2015.
Video di presentazioni utili per approfondire alcuni argomenti del corso.
I seguenti link forniscono delle fonti per approfondimenti.
- Introduction to Big Data: issues and challenges
- Data storage: distributed file systems, NoSQL data stores, NewSQL databases, time series databases
- Case studies: HDFS, Dynamo, Redis, MongoDB, Bigtable, HBase, Cassandra, and Neo4j
- Lab: HDFS, Redis, MongoDB, HBase, Neo4j
- Systems for data acquisition and ingestion: pub/sub, message queues, collection systems
- Case studies: Kafka, Flume, and Sqoop
- Systems for batch processing
- Case studies: Hadoop, Pig, Hive, Spark, and Spark SQL
- Lab: Hadoop, Spark, Spark SQL
- Systems for stream processing
- Case studies: Spark Streaming, Storm, Flink, Heron, Samza
- Lab: Storm, Spark Streaming, Kafka Streams
- Batch and stream processing in the Cloud
- Frameworks for cluster resource management
- Fog and edge computing for data processing and analytics
- 2 progetti assegnati durante il corso.
Progetti da svolgere preferibilmente in gruppo composto da 2 o 3 studenti
(singolarmente se non possibile altrimenti).
- Prova orale su tutto il programma del corso.
- I appello sessione estiva
- II appello sessione estiva
- I appello sessione autunnale
- II appello sessione autunnale
- I appello sessione invernale
- II appello sessione invernale