Informazioni Generali

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

Docenti

Valeria Cardellini
Tel.: 067259 7388
E-mail: img (è 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.


Avvisi

  • 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.

Materiale Didattico

Testi consigliati

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:

Calendario e slide delle lezioni

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

Articoli

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)

Introduzione ai Big Data

Storage: File System Distribuiti

Storage: Data store NoSQL e NewSQL

MapReduce ed ecosistema di Hadoop

Video

Video di presentazioni utili per approfondire alcuni argomenti del corso.

Altri link utili

I seguenti link forniscono delle fonti per approfondimenti.


Programma preliminare

  • 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
    • Case study: Mesos
  • Fog and edge computing for data processing and analytics

Esami

Modalità di esame

  1. 2 progetti assegnati durante il corso.
    Progetti da svolgere preferibilmente in gruppo composto da 2 o 3 studenti (singolarmente se non possibile altrimenti).
  2. Prova orale su tutto il programma del corso.

Appelli

  • I appello sessione estiva
  • II appello sessione estiva
  • I appello sessione autunnale
  • II appello sessione autunnale
  • I appello sessione invernale
  • II appello sessione invernale