CODICE 61884 ANNO ACCADEMICO 2018/2019 CFU 9 cfu anno 1 COMPUTER SCIENCE 10852 (LM-18) - GENOVA 6 cfu anno 1 INGEGNERIA INFORMATICA 8733 (LM-32) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE Quando la dimensione dei dati strutturati e non supera la capacità dei sistemi di gestione dati tradizionali, sono necessari nuovi strumenti e metodi per l'acquisizione, l'archiviazione e la gestione degli stessi. Tali enormi quantità di dati sono in genere memorizzati in ambienti distribuiti su larga scala, elaborate utilizzando specifici ambienti, possono essere già disponibili o arrivare come un flusso continuo in fase di elaborazione, e richiedere strumenti specifici per la loro gestione. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Students will be provided with a sound grounding on theoretical, methodological, and technological fundamentals concerning data management for advanced data processing architectures, with a specific reference to large-scale distributed environments. Students will learn key elements of NoSQL and stream-based systems as well as basic issues in parallel and distributed query processing, multi-query processing, and high-throughput transactional systems. Students will be involved in project activities. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO DESCRIVERE i principi di gestione dati in ambienti distribuiti, gli ambienti per l’elaborazione dati su larga scala, i sistemi per la gestione dati su larga scala e gli approcci per la gestione di flussi di dati COMPRENDERE le differenze tra le problematiche relative alla elaborazione e gestione dati tradizionali e quelle relative alla elaborazione e gestione dati su larga scala COMPRENDERE le differenze tra i principali approcci di elaborazione dati e di gestione dati su larga scala presentati nell’ambito dell’insegnamento SELEZIONARE il sistema e la metodologia per l’elaborazione o la gestione dati ritenuti idonei in un determinato contesto applicativo UTILIZZARE i principali sistemi di elaborazione dati e di gestione dati su larga scala, presentati nell’ambito dell’insegnamento, per la risoluzione di problemi semplici UTILIZZARE almeno uno tra i sistemi presentati nell’ambito dell’insegnamento per la risoluzione di problemi non banali RISPONDERE a domande sui sistemi per l’elaborazione e la gestione di dati su larga scala RISOLVERE esercizi relativi progettazione di data store nei sistemi proposti e all’interazione con essi, mediante i linguaggi resi disponibili dai sistemi PREREQUISITI I prerequisiti riguardano i concetti di base relativi alla gestione dei dati tradizionale: Modelli dei dati, concetti di schema e istanza Modelli concettuali Modello relazione (modello logico) Progettazione concettuale Progettazione logica Concetti di base teoria della normalizzazione Algebra relazionale SQL Indici Transazioni MODALITA' DIDATTICHE Per LM in Computer Science: Lezioni, progetto e studio a casa Per LM in Computer Engineering: Lezioni, progetto (facoltativo) e studio a casa PROGRAMMA/CONTENUTO Introduzione alla gestione dati in ambienti distribuiti Introduzione ai Big Data Introduzione alle architetture distribuite Principi di gestione dei dati su larga scala Approcci architetturali alla gestione dati su larga scala Ambienti per elaborazioni di dati su larga scala (data-intensive computing) Batch processing e il paradigma Map-Reduce Da (Hadoop) Map-reduce a Spark Linguaggi di alto livello per elaborazioni di dati su larga scala Sistemi per la gestione dati su larga scala Introduzione ai sistemi NoSQL I modelli NoSQL I sistemi column-family I sistemi basati sui grafi Gestioni di flussi di dati Introduzione alla gestione di flussi di dati Modelli e linguaggi per la gestione di flussi di dati Gestione di flussi di dati su larga scala TESTI/BIBLIOGRAFIA Serge Abiteboul, Ioana Manolescu, Philippe Rigaux, Marie-Christine Rousset, Pierre Senellart. Web Data Management. Cambridge University Press, 2011. Martin Kleppmann. Designing Data-Intensive Applications. O'Reilly, 2017. + Materiale e riferimenti aggiuntivi forniti dai docenti. DOCENTI E COMMISSIONI BARBARA CATANIA Ricevimento: Su appuntamento, via email. Stanza: Valle Puggia – 327 GIOVANNA GUERRINI Commissione d'esame BARBARA CATANIA (Presidente) GIOVANNA GUERRINI (Presidente) LAURA DI ROCCO ELENA ZUCCA LEZIONI INIZIO LEZIONI Martedi' 2 ottobre (lezione 0, introduzione al corso), ore 9.00, aula 216 Da martedi' 9 ottobre: orario come da calendario online Orari delle lezioni ADVANCED DATA MANAGEMENT ESAMI MODALITA' D'ESAME LM In Computer Science: esame scritto (parte I e II) e orale (include discussione progetto) LM in Computer Engineering: lo studente potra' scegliere tra: esame scritto (parte I e II) oppure esame scritto (parte I) e orale (include discussione progetto) MODALITA' DI ACCERTAMENTO I dettagli sulle modalità di preparazione per l’esame e sul grado di approfondimento di ogni argomento verranno forniti nel corso delle lezioni. Durante il semestre, verranno proposte alcune prove in itinere (teoriche e pratiche) che gli studenti dovranno svolgere a piccoli gruppi, e un progetto, da svolgere utilizzando un sistema a propria scelta tra quelli introdotti nell’ambito dell’insegnamento. Il progetto è obbligatorio per gli studenti iscritti alla LM in Computer Science, facoltativo per gli studenti iscritti alla LM in Computer Engineering. Nel caso in cui gli studenti iscritti alla LM in Computer Engineering optino per il progetto, verrà proposta una prova scritta ridotta (solo parte I). Nel caso di valutazione positiva delle prove in itinere: l’esame scritto consiste in un insieme di domande (parte I) ed esercizi (parte II) su argomenti di base del corso. L'obiettivo di questa prova è quello di accertare la comprensione delle problematiche principali affrontate durante le lezioni; la prova orale consiste in: per gli studenti che hanno svolto il progetto, discussione approfondita delle soluzioni elaborate dallo studente per il progetto assegnato, al fine di valutare non soltanto se lo studente ha raggiunto un livello adeguato di conoscenze, ma se ha acquisito la capacità di analizzare criticamente problemi relativi alla gestione di dati in ambienti su larga scala. Nel caso di valutazione negativa delle prove in itinere o nel caso in cui queste prove non vengano svolte: l’esame scritto consiste in un insieme di domande ed esercizi esercizi su argomenti di base del corso. L'obiettivo di questa prova è quello di accertare la comprensione delle problematiche principali affrontate durante le lezioni; la prova orale consisterà in: (i) per gli studenti che hanno svolto il progetto: discussione approfondita delle soluzioni elaborate dallo studente per il progetto assegnato, al fine di valutare non soltanto se lo studente ha raggiunto un livello adeguato di conoscenze, ma se ha acquisito la capacità di analizzare criticamente problemi relativi alla gestione di dati in ambienti su larga scala; (ii) domande teoriche e/o pratiche su argomenti svolti nell'ambito dell'insegnamento, con particolare riferimento agli argomenti sui quali sono state evidenziate carenze nella prova scritta o nello svolgimento del progetto. Calendario appelli Dati Ora Luogo Tipologia Note 15/02/2019 09:00 GENOVA Esame su appuntamento 26/07/2019 09:00 GENOVA Esame su appuntamento 20/09/2019 09:00 GENOVA Esame su appuntamento