Salta al contenuto principale
CODICE 61884
ANNO ACCADEMICO 2025/2026
CFU
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, e richiedere strumenti specifici per la loro gestione. In questo contesto, l'informazione semantica riveste un ruolo rilevante.

Poiché l'insegnamento viene tenuto in lingua inglese, si invita a visionare la scheda in inglese per ulteriori informazioni.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Learning the theoretical, methodological, and technological fundamentals of data management for advanced data processing architectures, with a specific reference to large-scale distributed environments, like key elements of NoSQL, basic issues in parallel and distributed query processing, and semantic data management.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Al termine del corso, lo studente/la studentessa sarà in grado di:

6 CFU

DESCRIVERE i principi della gestione dei dati nei sistemi distribuiti, gli ambienti per l’elaborazione di dati su larga scala e i sistemi per la gestione di dati su larga scala
COMPRENDERE le differenze tra l'elaborazione e la gestione tradizionali dei dati e quelle su larga scala
COMPRENDERE le differenze tra gli approcci presentati per la gestione di dati su larga scala
SELEZIONARE il sistema e la metodologia per la gestione di dati su larga scala, adatti a un dato contesto applicativo
UTILIZZARE alcuni dei sistemi presentati per la gestione di dati su larga scala per risolvere problemi semplici
UTILIZZARE almeno uno dei sistemi presentati per la gestione di dati su larga scala per risolvere problemi non banali
RISPONDERE a domande relative alla gestione di dati su larga scala
RISOLVERE esercizi relativi alla progettazione dei dati in alcuni dei sistemi presentati e all’interazione con tali sistemi attraverso i linguaggi disponibili

9 CFU

COMPRENDERE le differenze tra l'elaborazione e la gestione tradizionali dei dati e quelle su larga scala
COMPRENDERE le differenze tra gli approcci presentati per la gestione di dati su larga scala, inclusi quelli progettati per applicazioni guidate dall’intelligenza artificiale (IA)
SELEZIONARE il sistema e la metodologia per la gestione di dati su larga scala, adatti a un dato contesto applicativo (inclusi quelli progettati per applicazioni guidate dall’IA)
UTILIZZARE alcuni dei sistemi presentati per la gestione di dati su larga scala (inclusi quelli progettati per applicazioni guidate dall’IA) per risolvere problemi semplici
UTILIZZARE almeno uno dei sistemi presentati per la gestione di dati su larga scala  (inclusi quelli progettati per applicazioni guidate dall’IA) per risolvere problemi non banali
RISPONDERE a domande relative alla gestione di dati su larga scala (incluse le problematiche relative a sistemi progettati per applicazioni guidate dall'IA)
RISOLVERE esercizi relativi alla progettazione dei dati in alcuni dei sistemi presentati e all’interazione con tali sistemi attraverso i linguaggi disponibili

PREREQUISITI

I prerequisiti corrispondono a nozioni di base sulla gestione dei dati nei sistemi tradizionali:

Modello dei dati, nozione di schema e istanza
Modello concettuale dei dati
Modello relazionale (modello logico)
Progettazione concettuale
Progettazione logica
Basi della teoria della normalizzazione
Algebra relazionale
SQL
Indici
Transazioni

MODALITA' DIDATTICHE

Per  LM in Computer Science: Lezioni, laboratorio e progetto

Per LM in Computer Engineering: Lezioni, laboratorio e progetto

PROGRAMMA/CONTENUTO

Ripasso sulle architetture distribuite su larga scala e sul calcolo data-intensive (solo 6 CFU)

Ripasso su big data e architetture distribuite
Principi della gestione dei dati su larga scala
Approcci architetturali per la gestione dei dati su larga scala
Ripasso sugli ambienti per l’elaborazione di dati su larga scala (MapReduce, Spark)
Sistemi per la gestione di dati su larga scala (6–9 CFU)

Introduzione ai sistemi NoSQL (6-9 CFU)

Modelli di dati NoSQL
Archivi di tipo key-value
Archivi basati su documenti
Archivi a famiglie di colonne
Archivi basati su grafi

Gestione dei dati per applicazioni guidate dall'IA (solo 9 CFU)

Problematiche relative alla gestione dei dati per applicazioni guidate dall'IA
Modelli di dati, linguaggi e sistemi per applicazioni guidate dall'IA

TESTI/BIBLIOGRAFIA

Serge Abiteboul, Ioana Manolescu, Philippe Rigaux, Marie-Christine Rousset, Pierre Senellart. Web Data Management. Cambridge University Press, 2011.
P.J. Sadalage, M.Fowler. Nosql Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison Wesley, 2013
Jeff Carpenter, Eben Hewitt,  Cassandra: The Definitive Guide, O'Reilly Media, 2016
Ian Robinson, Jim Webber & Emil Eifrem. Graph Databases, New Opportunities  for Connected Data, 2nd Edition, O’Reilly, 2015

Ulteriori riferimenti e materiali verranno forniti dai docenti.

 

DOCENTI E COMMISSIONI

LEZIONI

INIZIO LEZIONI

In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/10852/studenti-orario

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

Esame scritto (verranno proposte un numero diverso di domande a seconda del numero di CFU); sviluppo di un progetto (obbligatorio); esame orale.

Durante il semestre verranno proposti alcuni assignment, da svolgere su uno dei sistemi presentati.

Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/10852/studenti-disabilita-dsa​

 

MODALITA' DI ACCERTAMENTO

I dettagli su come prepararsi all'esame e sul livello di conoscenza richiesto per ciascun argomento saranno forniti durante le lezioni.

L’esame scritto consiste in un insieme di domande aperte, chiuse ed esercizi su argomenti di base del corso: l’obiettivo delle domande aperte e chiuse è verificare la comprensione delle principali tematiche affrontate durante le lezioni, mentre gli esercizi mirano a valutare la capacità di selezionare il sistema adeguato per un determinato scenario e risolvere problemi semplici relativi alla modellazione dei dati e alle interrogazioni nei sistemi per la gestione di dati su larga scala.

Il progetto consiste nella progettazione e implementazione di un data store utilizzando uno dei sistemi presentati durante il corso; la presentazione dell’attività svolta serve a verificare la capacità di utilizzare almeno un sistema per la gestione di dati su larga scala per risolvere problemi non banali, nonché la capacità di comunicare (per iscritto) il risultato dell’attività in modo chiaro e completo.

L’esame orale consiste nella presentazione delle soluzioni sviluppate dallo studente per il progetto assegnato, al fine di valutare il livello di conoscenza raggiunto e la capacità di comunicare (oralmente) il risultato dell’attività in modo chiaro e completo.

Per gli studenti che non completano con successo gli assignment, l’esame orale includerà anche domande teoriche ed esercizi sugli argomenti dell'insegnamento, per valutare meglio la comprensione delle principali tematiche affrontate durante le lezioni.

ALTRE INFORMAZIONI

Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente.