Il corso copre un'ampia varietà di argomenti avanzati riguardanti il data intensive computing, inclusi i file system distribuiti, i database NoSQL, l'elaborazione di dati batch e streaming ed i sistemi per il machine learning distribuito.
Pagina su DidatticaWeb
Link per Microsoft Teams
CFU
6 CFU, 60 ore di didattica frontale distribuite in 4 ore a settimana.
Risultati dell'apprendimento
Principi, paradigmi e tecnologie per la progettazione e gestione di sistemi a larga scala che processano ed analizzano Big Data.
Prerequisiti
Il corso presuppone una conoscenza delle basi di dati, dei sistemi distribuiti e del Cloud computing.
Modalità di svolgimento delle lezioni
La didattica è svolta esclusivamente in presenza.
La classe virtuale su Teams è utilizzata per condividere il materiale del corso e per le informazioni.
Orario delle lezioni
Orario valido dal 3/3/2025 al 13/6/2025 (secondo semestre)
- Lunedì dalle 11:30 alle 13:15, aula C5 edificio didattica
- Giovedì dalle 11:30 alle 13:15, aula B8 edificio didattica
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: in aula al termine delle lezioni oppure per appuntamento (contattare via email per concordare giorno e orario).
Matteo Nardelli
E-mail:
(è necessario specificare [SABD] nell'oggetto della mail)
Orario di ricevimento: online, da concordare tramite email.
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, il seguente copre una buona parte degli argomenti trattati nel corso:
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)
- CACM Staff,
Big Data - ACM Panels in Print, Communications of the ACM, Vol. 60, No. 6, 2017.
-
H.V. Jagadish et al.,
Big Data and Its Technical Challenges,
Communications of the ACM, 2014.
-
J. Wing, The Data Life Cycle, Harvard Data Science Review, 1(1), 2019.
-
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.
-
D. Hildebrand and D. Serenyi,
Colossus under the hood: a peek into Google’s scalable storage system, 2021.
-
H. Li, Alluxio: A Virtual Distributed File System. University of California Berkeley, Technical Report No. UCB/EECS-2018-29, 2018.
-
S. Noghabi et al., Ambry: LinkedIn's Scalable Geo-Distributed Object Store, Proceedings of the 2016 International Conference on Management of Data (SIGMOD '16), 2016.
- M. Fowler, NoSQL Databases, 2019.
- G. DeCandia et al., Dynamo: Amazon's highly available key-value store, In Proc. of the 21st ACM SIGOPS Symposium on Operating Systems Principles (SOSP '07), 2007.
-
F. Chang et al., Bigtable: A distributed storage system for structured data, In Proc. of 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. Elhemali et al., Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service, Proc. of USENIX ATC '22, 2022.
- J. Corbett et al., Spanner: Google’s Globally-Distributed Database, Proc. of OSDI '12, 2012.
- M. Stonebraker and A. Weisberg, The VoltDB main memory DBMS, 2013.
Video di presentazioni utili per approfondire alcuni argomenti del corso.
- Introduction to Big Data: issues and challenges
- Data storage: distributed file systems, NoSQL data stores, NewSQL databases, time series databases
- Case studies: GFS, HDFS, Dynamo, Bigtable, Cassandra, DynamoDB, Spanner, VoltDB
- Lab: HDFS, Redis, MongoDB, HBase, Neo4j, InfluxDB, CockroachDB
- Systems for data acquisition and ingestion: pub/sub, message queues, collection systems
- Case studies: Kafka, Pulsar, Flume, and NiFi
- Systems for batch processing
- Case studies: Hadoop, Spark, Spark SQL, Spark MLlib
- Lab: Spark, Spark SQL
- Systems for stream processing
- Case studies: Storm, Flink
- Lab: Flink, Spark Streaming, Kafka Streams
- Challenges in DSP
- Runtime deployment in DSP (optional)
- Batch and stream processing in the Cloud
- Distributed and federated machine learning
- Case studies: Spark MLlib, TensorFlow distributed
- 2 progetti assegnati durante il corso: il primo su batch processing, il secondo su data stream processing.
Progetti da svolgere preferibilmente in gruppo composto da 2 o 3 studenti
(singolarmente se non possibile altrimenti).
Le tracce dei progetti sono pubblicate sul canale Teams del corso.
- Prova orale sul programma del corso.
- I appello sessione estiva
Prova orale: mercoledì 25 giugno 2025 ore 10:00, aula C3
- II appello sessione estiva
Prova orale: martedì 15 luglio 2025 ore 10:00, aula B14