Teaching

 

SM/0168 - ADVANCED DATA MANAGEMENT

Anno Accademico ​2019/2020

Docente
DANIELE ​RIBONI (Tit.)
Periodo
Primo Semestre ​
Modalità d'Erogazione
Convenzionale ​
Lingua Insegnamento
 ​



Informazioni aggiuntive

CorsoPercorsoCFUDurata(h)
[60/73] ​ ​INFORMATICA [73/00 - Ord. 2017] ​ ​PERCORSO COMUNE648
Obiettivi

Conoscenza e capacità di comprensione: lo studente acquisirà le conoscenze fondamentali sul funzionamento interno di un DBMS, in particolare riguardo a organizzazione fisica e gestione della memoria, indici, gestione delle interrogazioni e delle transazioni. Si propone inoltre di fornire conoscenze su basi di dati spaziali, basi di dati NoSQL e NewSQL, basi di dati distribuite e parallele, gestione di dati di sensore, uso di DBMS PostGIS e MongoDB.

Capacità di applicare conoscenza e comprensione: Lo studente sarà in grado di applicare la conoscenza acquisita per individuare la tipologia più adatta di DBMS in base alle caratteristiche dei dati. Sarà inoltre in grado di creare, popolare e interrogare una base di dati PostGIS e una base di dati MongoDB. Sarà in grado di implementare un semplice programma utilizzando il framework Map-Reduce, e di lavorare con ampia autonomia, anche nello sviluppo di un progetti di gestione di dati avanzati.

Autonomia di giudizio: lo studente sarà in grado di valutare con ampia autonomia i requisiti concettuali di un dominio di dati evoluti, e di valutare la correttezza e l'efficienza della sua implementazione in un database usando una delle tecnologie illustrate.

Abilità comunicative: lo studente sarà in grado di illustrare le metodologie per la progettazione concettuale di un database avanzato, e le scelte più adeguate per implementare il modello concettuale in un DBMS reale, secondo i principi di efficienza e correttezza, e utilizzando capacità comunicative e divulgative legate al lessico specifico della materia, anche in lingua inglese.

Capacità di apprendimento: lo studente acquisirà la capacità di progettare e implementare database evoluti in base ai requisiti e alle specifiche del dominio dei dati.

Prerequisiti

Nozioni di basi di dati relazionali, programmazione

Contenuti

- Gestione delle transazioni
- DBMS paralleli e distribuiti
- Database spaziali
- PostGIS
- NoSQL e NewSQL database
- Main memory database
- MongoDB
- Dati di sensore e stream database
- PipelineDB
- Trasferimento asincrono dei dati
- Apache Kafka
- MongoDB Change Streams

Metodi Didattici

Lezioni frontali ed esercitazioni guidate in laboratorio (48 ore in totale).

Verifica dell'apprendimento

Esame

L’esame è composto da una parte di teoria e da una di parte di pratica. Le prove di teoria e di pratica possono essere svolte nello stesso appello o separatamente. La parte di teoria concorre fino a 18 punti. Le prove pratiche di MongoDB e di PostGIS forniscono un punto ciascuna. La prova di progetto concorre fino a 9 punti. E' previsto un bonus di un punto per chi partecipa attivamente alle lezioni, e di due punti per chi supera tutte le prove senza insufficienze entro la sessione invernale svolgendo l'hackathon. Chi si ritira da una prova perde il diritto al bonus. Gli studenti che ricevono un voto sufficiente in qualunque delle prove non possono ripetere le stesse (non è ammesso “rifiutare il voto”).

Test di teoria

Il test comprende tutti gli aspetti trattati nel corso, e include esercizi, domande a risposta aperta e quiz a risposta multipla. E’ prevista la possibilità di svolgere un pre-esame a metà del corso.

Test di pratica

Il test di pratica consiste nella partecipazione all'hackathon del corso, oppure in un progetto. Il progetto può essere sviluppato solo individualmente. Lo studente può scegliere un argomento tra quelli visti nelle lezioni di laboratorio, e proporre una breve specifica (da 1 a 3 pagine) di un progetto di proprio interesse. La specifica deve descrivere precisamente gli obiettivi e le funzionalità del progetto che si vuole sviluppare. La specifica va concordata in anticipo col docente, prima di cominciare a sviluppare il progetto. Il codice del progetto deve essere consegnato elettronicamente su Moodle, insieme a una breve documentazione (da 3 a 5 pagine) del sistema realizzato e delle scelte progettuali, almeno due giorni prima della data dell’appello. Gli studenti dovranno dimostrare la padronanza del codice sviluppato, essendo in grado di motivare le scelte progettuali e di spiegare la struttura e il funzionamento di tutte le parti del codice. Il progetto verrà valutato considerando correttezza, completezza, conformità alla specifica, e padronanza del codice e delle scelte progettuali.

Iscrizione

Gli studenti devono iscriversi alle prove tramite ESSE3. Gli studenti fuori corso che non possano prenotarsi in S3 devono inviare via e-mail al docente una prenotazione almeno 4 giorni prima dell’esame.

Testi

- Atzeni, Ceri, Fraternali, Paraboschi, Torlone. Basi di dati. Quarta edizione. McGraw-Hill, 2014
- Garcia-Molina, Ullman, Widom. Database Systems: The Complete Book. 2/E. Pearson, 2009

Altre Informazioni

Strumenti a supporto della didattica:
- Sito Web del corso (su Moodle)
- Slide delle lezioni
- Esercizi e soluzioni
- Articoli scientifici
- Puntatori a risorse Web

credits unica.it | accessibilità Università degli Studi di Cagliari
C.F.: 80019600925 - P.I.: 00443370929
note legali | privacy

Nascondi la toolbar