20802125 - BIG DATA

Il corso mira a illustrare le moderne soluzioni tecniche e metodologiche alla gestione dei big data, ovvero collezioni di dati destrutturati le cui dimensioni superano le capacità di memorizzazione, gestione e analisi tipiche dei tradizionali sistemi per basi di dati. Partendo dai requisiti delle moderne applicazioni per basi di dati, verranno affrontate le diverse problematiche di memorizzazione e uso dei big data, illustrando le architetture hardware e software che sono state proposte per la loro gestione. Gli argomenti che verranno trattati includono: il le architetture basate su cluster, il paradigma map-reduce, il Cloud computing, i sistemi NoSQL, gli strumenti e i linguaggi per l'analisi dei dati. Durante il corso si cercherà di coniugare aspetti metodologici e tecnologici mediante esercitazioni pratiche con l'ausilio di sistemi reali, seminari aziendali e svolgimento di progetti pratici.
scheda docente | materiale didattico

Programma

- Infrastrutture e paradigmi di programmazione per i big data
- L'ecosistema Hadoop
- Cloud computing
- Elaborazione di big data (MapReduce, Hive, Spark)
- I sistemi NoSQL
- Tecniche di analisi di big data
- I Data Lake
- Sistemi e applicazioni
- Seminari aziendali


Testi Adottati

Martin J. Fowler, PramodkumarJ. Sadalage. "NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence".
Materiale predisposto dal docente (disponibile sul sito Web del corso)

Modalità Erogazione

I metodi didattici e gli strumenti di supporto che saranno utilizzati al fine di conseguire i risultati di apprendimento attesi sono i seguenti: - lezioni frontali - esercitazioni pratiche - seminari - laboratori - lavoro di gruppo - analisi di casi reali

Modalità Valutazione

La verifica dell’apprendimento avviene attraverso lo svolgimento di alcuni progetti e una prova scritta della durata di 1 ora. - I progetti sono svolti in gruppo e riguardano sia la soluzione di problemi assegnati dal docente, sia lo svolgimento di attività concordate con il docente. - Lo scritto è organizzato attraverso un certo numero di esercizi finalizzati a verificare il livello di comprensione effettiva dei concetti e la capacità degli studenti di applicarli in contesti reali. Le prove assegnate negli anni precedenti sono disponibili sul sito del corso.