Tu sei qui

Sistemi distribuiti per la gestione dati

Sistemi Distribuiti per la Gestione dei Dati

Corso di laurea magistrale in Informatica F008

SCV0211
Docente: Alberto Trombetta


CFU SSD LEZIONI ANNO LINGUA
6 INF/01 48 I o II Italiano



Obiettivi dell’insegnamento e risultati di apprendimento attesi
Lo studente avrà acquisito conoscenze relative ad aspetti avanzati i sistemi distribuiti (in particolare, basi di dati relazionali distribuite e/o replicate). Inoltre acquisirà conoscenze per gestire grandi collezioni di dati utilizzando i differenti modelli architetturali che vengono presentati durante lo svolgimento del corso.
Pertanto, lo studente avrà sviluppato la capacità di individuare un problema relativo alla gestione dei dati utilizzando le differenti architetture di sistemi distribuiti che vengono presentate nel corso e di risolverlo in modo professionale.
Inoltre, lo studente sarà in grado di giudicare l’adeguatezza di una base di dati distribuita e replicata, in funzione delle esigenze del contesto applicativo.

Prerequisiti
Lo studente ha conoscenza degli argomenti presentati in un corso introduttivo di Basi di Dati Relazionali. Pertanto, lo studente conosce il modello relazionale dei dati, l’algebra relazionale, il linguaggio di interrogazione SQL, la progettazione concettuale e logica di una base di dati relazionale. Inoltre, lo studente ha conoscenza altresì degli argomenti presentato in un corso avanzato di Basi di Dati Relazionali, quali il modello dei dati object-oriented, i modelli dei dati semi-strutturati ed i relativi linguaggi di interrogazione. Infine, lo studente ha conoscenza dell’analisi della complessità degli algoritmi nel caso centralizzato e sequenziale.
E’ necessaria la comprensione della lingua inglese, in quanto parte del materiale didattico consiste in estratti di pubblicazioni scientifiche scritte in tale lingua.

Contenuti e programma del corso

  • introduzione ai sistemi distribuiti (2 ore)
  • modelli architetturali: memoria condivisa, scambio di messaggi, tipologie di errori, modelli sincrono e asincrono (4 ore)
  • tempo e casualità: orologi logici di Lamport, timestamp vettoriali, calcolo di snapshot distribuiti, sincronizzazione con orologi fisici (4 ore)
  • accordo e consenso: accordo in un sistema senza errori, accordo in un sistema sincrono con errori di tipo crash, i failure detector, consenso in un sistema asincrono con errori, consenso uniforme con failure detector (12 ore)
  • transazioni distribuite: richiami alla gestione centralizzata delle transazioni, protocollo two-phase locking centralizzato, affidabilità delle transazioni distribuite, commitment atomico e protocollo two-phase commit, valutazione del protocollo 2PC (12 ore)
  • comunicazione affidabili in gruppi: multicast affidabile, multicast bizantino, multicast ordinato, multicast e consenso (4 ore)
  • replicazione: modelli di consistenza per dati replicati, tipi di dati sequenziali, consistenza forte e debole, proprietà acide 1-copy, protocolli di replicazione (12 ore)

Tipologia delle attività didattiche
Lezioni frontali in presenza del docente.

Testi e materiale didattico
Dispense e slides fornite dal docente, reperibili sul sito di e-learning dell’Università.

Modalità di verifica dell’apprendimento
Prova finale scritta. La prova attribuisce un voto finale – espresso in trentesimi - in funzione della conoscenza e delle capacità di comprensione da parte dello studente, relativamente agli argomenti contenuti nel programma del corso. La prova scritta è formata da 3/4 quesiti di natura teorica. La prova si ritiene superata con una votazione uguale o maggiore di 18/30.

Orario di ricevimento
Su appuntamento.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer