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

Codice insegnamento
4S001412
Docente
Damiano Carra
Coordinatore
Damiano Carra
crediti
6
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Periodo
I sem. dal 2-ott-2017 al 31-gen-2018.

Orario lezioni

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.

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
Jimmy Lin, Chris Dyer Data-Intensive Text Processing with MapReduce (Edizione 1) Morgan & Claypool Publishers 2010 978-1608453429
Tom White Hadoop: The Definitive Guide (Edizione 3) Oreilly & Associates Inc 2012 978-1449311520

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.

Materiale didattico

Documenti

Opinione studenti frequentanti - 2016/2017


Statistiche per i requisiti di trasparenza (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

I dati relativi all'AA 2017/2018 non sono ancora disponibili