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

Lezioni frontali Esercitazioni Seminari Lavoro di gruppo Casi di studio

Modalità Valutazione

La verifica dell’apprendimento avviene attraverso una prova scritta e da alcuni progetti assegnati durante il corso da svolgere in gruppi di due persone. Lo scritto consiste in un problema di big data finalizzato a verificare il livello di comprensione effettiva dei concetti e la capacità degli studenti di applicarli in contesti reali.