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.
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.
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
I prerequisiti riguardano i concetti di base relativi alla gestione dei dati tradizionale:
Per LM in Computer Science: Lezioni, progetto e studio a casa
Per LM in Computer Engineering: Lezioni, progetto (facoltativo) e studio a casa
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
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.
Ricevimento: Su appuntamento, via email. Stanza: Valle Puggia – 327
BARBARA CATANIA (Presidente)
GIOVANNA GUERRINI (Presidente)
LAURA DI ROCCO
ELENA ZUCCA
Martedi' 2 ottobre (lezione 0, introduzione al corso), ore 9.00, aula 216 Da martedi' 9 ottobre: orario come da calendario online
ADVANCED DATA MANAGEMENT
LM In Computer Science: esame scritto (parte I e II) e orale (include discussione progetto)
LM in Computer Engineering: lo studente potra' scegliere tra:
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:
Nel caso di valutazione negativa delle prove in itinere o nel caso in cui queste prove non vengano svolte: