Modelli e architetture avanzati di basi di dati, aa 2019/2020

Modelli e Architetture Avanzate di Basi di Dati (MAADBD) è un corso avanzato su modelli di dati ed architetture dei sistemi databases.

Consiste di due moduli, il primo dedicato agli aspetti architetturali, tenuto in aula.
Il secondo modulo è dedicato ai Nosql databases.

Il corso si pone un duplice obiettivo.

Per quanto riguarda i modelli, l'obiettivo è che lo studente sia in grado di affrontare con successo applicazioni in una vasta gamma di ambienti diversi, avendo competenze sui principali modelli per dati strutturati alternativi al modello relazionale (object-oriented e object-relational), e sui NoSql databases. Questi ultimi sono un paradiogma di rappresentazione e gestione dei dati molto ampio e variegato, che va dai grafi alle mappe chiave-valore, dai documenti in JSON alle strutture dati condivise sul WEB.
Per quanto riguarda le architetture, l'obiettivo è che lo studente sia in grado di migliorare la performance per applicazioni critiche, avendo una precisa comprensione dei problemi e delle soluzioni di implementazione ed architetturali per sistemi database centralizzati e distribuiti, con particolare riferimento ai sistemi database relazionali e con l'inclusione della gestione dei malfunzionamenti e della concorrenza. 

Per quanto riguarda le architetture, si vedranno anche le architetture in cluster per la gestione distribuita dei dati, anche tramite repliche e partizionamento dei dati, con algoritmi paralleli e soluzioni algoritmiche che fanno uso del paradigma di Map Reduce.

Gli studenti potranno realizzare una applicazione software che acceda ad entrambe le tipologie di DBMS (relazionale e NOSQL) e potranno confrontare le due soluzioni in termini prestazionali.