New generation data models and dbmss
A.A. 2022/2023
Obiettivi formativi
L'obiettivo dell'insegnamento è introdurre gli studenti ai modelli dei dati di nuova generazione che sono alternativi o estendono il modello relazionale. Nello specifico verranno presentati i modelli che permettono di rappresentare informazione con struttura complessa, modelli che permettono di rappresentare informazioni semi-strutturate e modelli per gestiscono un recupero efficiente e scalabile di grosse masse di dati. Verranno inoltre presentate le estensioni di Oracle per la gestione di queste tipologie di informazioni e alcuni sistemi che sono stati proposti dal movimento NoSQL
Risultati apprendimento attesi
Lo studente dovrà acquisire le capacità di progettare e realizzare basi di dati che richiedono di gestire queste tipologie di informazioni. Inoltre, dovrà essere in grado di sviluppare interrogazioni che sfruttano le estensioni del linguaggio SQL per accedere a tali informazioni ed essere in grado di decidere quale modello e quale sistema è meglio utilizzare a seconda delle caratteristiche del dominio applicativo.
Periodo: Primo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Primo semestre
Programma
L'insegnamento affronta le seguente tematiche:
- Il movimento noSQL
o Elementi caratterizzanti i sistemi NOSQL (schema-less, data partitioning e sharding, data replication ed eventual consistency)
o I modelli di rappresentazione dei dati (chiave-valore, orientati ai documenti, famiglie di colonne, grafi)
o Utilità dei modelli a seconda del contesto applicativo
- MongoDB
o Architettura e funzionalità di un sistema noSQL document oriented
o il formato JSON e linguaggi per interrogare e manipolare documenti JSON
o Il modello dei dati e il linguaggio di interrogazione di MongoDB
o La progettazione di una base di dati in MongoDB
- Cassandra
o Architettura e funzionalità di un sistema noSQL a famiglie di colonne
o Il modello dei dati e il linguaggio di interrogazione di Cassandra
o La progettazione di una base di dati in Cassandra
- neo4j
o Architettura e funzionalità di un sistema noSQL a grafo
o Caratteristiche del modello dei dati e il linguaggio di interrogazione cypher
o Lo standard PGQL (Property graph query language)
o La progettazione di una base di dati a grafo
- Il movimento noSQL
o Elementi caratterizzanti i sistemi NOSQL (schema-less, data partitioning e sharding, data replication ed eventual consistency)
o I modelli di rappresentazione dei dati (chiave-valore, orientati ai documenti, famiglie di colonne, grafi)
o Utilità dei modelli a seconda del contesto applicativo
- MongoDB
o Architettura e funzionalità di un sistema noSQL document oriented
o il formato JSON e linguaggi per interrogare e manipolare documenti JSON
o Il modello dei dati e il linguaggio di interrogazione di MongoDB
o La progettazione di una base di dati in MongoDB
- Cassandra
o Architettura e funzionalità di un sistema noSQL a famiglie di colonne
o Il modello dei dati e il linguaggio di interrogazione di Cassandra
o La progettazione di una base di dati in Cassandra
- neo4j
o Architettura e funzionalità di un sistema noSQL a grafo
o Caratteristiche del modello dei dati e il linguaggio di interrogazione cypher
o Lo standard PGQL (Property graph query language)
o La progettazione di una base di dati a grafo
Prerequisiti
Non è richiesto alcun prerequisito specifico per questo insegnamento se non l'interesse per le problematiche di gestione dei dati.
Metodi didattici
L'insegnamento viene tenuto in aule informatizzate in modo da poter provare insieme agli studenti le funzionalità dei linguaggi proposti e di verificare le principali caratteristiche dei sistemi di gestione dati e i linguaggi di interrogazione. Gli studenti possono quindi seguire il docente nella progettazione e realizzazione di basi di dati che sfruttano modelli di nuova generazione.
Materiale di riferimento
Sito web:
https://mmesitimddng.ariel.ctu.unimi.it/
Un elenco dettagliato degli argomenti trattati, lezione per lezione, viene pubblicato e aggiornato sul sito web dell'insegnamento.
Gli argomenti trattati sono ampiamente trattati su Web e non viene adottato un libro specifico.
Ulteriore materiale integrativo, esercizi svolti e dispense, preparati dal docente, viene reso disponibile sul sito web dell'insegnamento.
https://mmesitimddng.ariel.ctu.unimi.it/
Un elenco dettagliato degli argomenti trattati, lezione per lezione, viene pubblicato e aggiornato sul sito web dell'insegnamento.
Gli argomenti trattati sono ampiamente trattati su Web e non viene adottato un libro specifico.
Ulteriore materiale integrativo, esercizi svolti e dispense, preparati dal docente, viene reso disponibile sul sito web dell'insegnamento.
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste in una esercitazione pratica e di una prova scritta.
L'esercitazione pratica consiste nella progettazione e sviluppo di una base di dati che utilizza uno dei modelli di nuova generazione presentati a lezione. L'esercitazione pratica può essere sostituita da un approfondito studio di un sistema di basi di dati di nuova generazione. All'esercitazione pratica/approfondimento viene dato un punteggio da -2 a +2 che viene sommato al voto dello scritto.
La prova scritta verte a verificare le capacità dello studente nel progettare e realizzare una base di dati utilizzando un modello dei dati di nuova generazione e nel realizzare operazioni con i linguaggi offerti da tali modelli.
La prova scritta può essere sostituita da due compitini che verranno assegnato durante il corso. Alla prova scritta (e a ciascun compitino) viene assegnata una valutazione in trentesimi.
L'esame si conclude sommando al voto dello scritto l'incremento ottenuto dopo la discussione del progetto. Gli studenti interessati ad aumentare il voto ottenuto possono sostenere una prova orale (che è comunque facoltativa).
L'esercitazione pratica consiste nella progettazione e sviluppo di una base di dati che utilizza uno dei modelli di nuova generazione presentati a lezione. L'esercitazione pratica può essere sostituita da un approfondito studio di un sistema di basi di dati di nuova generazione. All'esercitazione pratica/approfondimento viene dato un punteggio da -2 a +2 che viene sommato al voto dello scritto.
La prova scritta verte a verificare le capacità dello studente nel progettare e realizzare una base di dati utilizzando un modello dei dati di nuova generazione e nel realizzare operazioni con i linguaggi offerti da tali modelli.
La prova scritta può essere sostituita da due compitini che verranno assegnato durante il corso. Alla prova scritta (e a ciascun compitino) viene assegnata una valutazione in trentesimi.
L'esame si conclude sommando al voto dello scritto l'incremento ottenuto dopo la discussione del progetto. Gli studenti interessati ad aumentare il voto ottenuto possono sostenere una prova orale (che è comunque facoltativa).
Docente/i