Conoscenza e capacità di comprensione: Far conoscere come cambia il modo di gestire le informazioni nel panorama dei Big Data. Far conoscere la gestione dei Big Data mediante DBMS NoSQL e NewSQL. Far conoscere le principali architetture parallele e distribuite per l’analisi dei Big Data. Conoscenza e capacità di comprensione applicate: Far progettare data model e implementare DBMS e sistemi distribuiti per l’analisi dei Big Data. Autonomia di giudizio: Far individuare la migliore soluzione DBMS e sistema distribuito per l’analisi dei Big Data in base ad un determinato caso di studio. Abilità comunicative: Far esprimere gli studenti con il linguaggio specifico della disciplina. Capacità di apprendere: Far acquisire un metodo di studio e di analisi adeguato all'analisi di problemi.
Prerequisiti
Conoscenze di sistemi operativi (struttura dei sistemi operativi, gestione dei processi, sincronizzazione dei processi, gestione della memori, il file system, sicurezza e protezione ), database (modello relazionale, algebra relazionale, normalizzazione, DDL e DML, SQL, Triggers) e programmazione (programmazione procedurale e ad oggetti, interazione con database).
Testi
Judith S. Hurwitz, Alan Nugent, Fern Halper, Marcia Kaufman. Big Data For Dummies. Wiley, 2013 Tom White. Hadoop - The Definitive Guide (4th edition). O'Reilly, 2015 Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee. Learning Spark, 2nd Edition. O'Reilly, 2020 Andrew G. Psaltis. Streaming Data - Understanding the real-time pipeline. Manning, 2017 Ian Foster, Dennis Gannon. Cloud Computing for Science and Engineering. MIT Press, 2017 Slides fornite dal docente
Contenuti
FONDAMENTI DI BIG DATA: L'evoluzione della gestione dei dati. Capire come gestire i big data. Creazione di strutture dati gestibili. Web e gestione dei contenuti. Gestire i big data. Definizione di Big Data. Costruire un'architettura di gestione dei Big Data. Cattura, organizzazione, integrazione e analisi dei Big Data. Considerazioni sulle prestazioni. Analisi dati tradizionali e avanzate. TIPI DI BIG DATA: definizione di dati strutturati / non strutturati / semi-strutturati. Esplorazione delle fonti di big data. Comprendere il ruolo dei database relazionali nei big data. Definizione di dati non strutturati. Esplorazione di fonti di dati non strutturati. Comprendere il ruolo di un CMS nella gestione dei big data. Analisi dei requisiti in tempo reale e non in tempo reale. Integrazione di Big Data. Gestione di diversi tipi di dati. Integrazione di tipi di dati in un ambiente di big data.
COMMPUTING DISTRIBUITO: breve storia dell'informatica distribuita. Nozioni di base sull'elaborazione distribuita. COMPONENTI PER LA TECNOLOGIA BIG DATA: Lo stack Big Data. Livello 0: infrastruttura fisica. Livello 1 - Infrastruttura di sicurezza. Livello 2 - Database operativo. Livello 3: organizzazione di servizi e strumenti di dati. Livello 4 - Data Warehouse analitici. Analisi dei Big Data. Applicazioni Big Data. VIRTUALIZZAZIONE E COME ESSA SUPPORTA L'ELABORAZIONE DISTRIBUITA: Comprendere la virtualizzazione. Gestione della virtualizzazione con hypervisor e motori di container. Implementazione della virtualizzazione per lavorare con i big data. BIG DATA NEL CLOUD: Definizione del cloud computing nel contesto dei Big Data. Comprensione dei modelli di distribuzione e fornitura di servizi nel cloud. Utilizzo del cloud per i big data. BATABASE OPERATIVI: Database relazionali e non relazionali per Big Data. Database NoSQL e NewSQL. Database key-value pairs; Document database; Column database; Graph database; Database spaziali; HADOOP PER BIG DATA: Origini di MapReduce. Comprensione delle funzioni MapReduce. Ottimizzazione delle attività MapReduce. Architettura di MapReduce. File system distribuito Hadoop; Hadoop MapReduce. Yarn, HBase, Hive. APPLIANCES E BIG DATA WAREHOUSE: Integrazione di Big Data con Data Warehouse tradizionale. Analisi Big Data con Systemi Data Warehouse; Come cambia il ruolo del Data Warehouse. Il futuro del Data Warehouse. DEFINIRE L'ANALISI DEI BIG DATA: Usare i Big Data per estrarre conoscenza. Modifica dei prodotti di Business Intelligence per gestire i Big Data. Studiare Big Data Analytics. Soluzioni di Big Data Analytics.