Sistemi di elaborazione di grandi quantita' di dati (2018/2019)



Codice insegnamento
4S001412
Crediti
6
Coordinatore
Damiano Carra
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
L'insegnamento è organizzato come segue:
Attività Crediti Periodo Docenti Orario
Teoria 5 I semestre Damiano Carra

Vai all'orario delle lezioni

Laboratorio 1 I semestre Damiano Carra

Vai all'orario delle lezioni

Obiettivi formativi

Il corso si propone di fornire i concetti fondamentali dei sistemi di calcolo distribuito che devono gestire grandi quantità di dati, insieme ai paradigmi di programmazione adottati da tali sistemi.
Al termine del corso lo studente dovrà dimostrare di avere acquisito le conoscenze necessarie per valutare le possibili alternative nella progettazione dell'analisi di grandi moli di dati, considerando i benefici e le limitazioni delle possibili alternative.
Queste conoscenze consentiranno allo studente di: i) configurare sistemi paralleli di elaborazione di dati; ii) progettare soluzioni per analizzare grandi moli di dati; iii) valutare le soluzioni per l'analisi dei dati con sistemi paralleli, considerando le risorse di sistema necessarie all'analisi stessa; iv) proseguire gli studi in modo autonomo nell’ambito dello sviluppo di analisi avanzate di grandi moli di dati.

Programma

* Framework di programmazione:
-- Filesystem distribuiti (HDFS);
-- Analisi di dati e grafi (MapReduce, Pregel);
-- Sistemi SQL-like (Pig, Hive);
-- Sistemi NoSQL (HBase, Cassandra).

* Algoritmi:
-- Progettazione di algoritmi per l'analisi dei testi;
-- Algoritmi per l'indicizzazione (inverted indexing);
-- Analisi dei grafi (PageRank).

* Architetture dei data center:
-- Struttura e organizzazione di un data center;
-- Connettività di rete;
-- Gestione degli errori e dei guasti.

Modalità d'esame

L'esame consiste nello svolgimento di un progetto e relativa documentazione. Obiettivo del progetto è quello di accertare la comprensione dei contenuti del corso e la capacità di applicare tali contenuti nella risoluzione di problemi. Il tema del progetto viene concordato con il docente e riguarda l'applicazione delle nozioni viste durante il corso in casi di studio specifici. Lo svolgimento del progetto include la valutazione delle prestazioni al variare delle dimensioni dell'input da analizzare, nonché la valutazione delle possibili alternative implementative. Dopo una valutazione della documentazione, è possibile sostenere una prova orale in cui viene discusso il progetto stesso.

Opinione studenti frequentanti - 2017/2018