Ogni modulo equivale a 3 crediti ECTS. È possibile scegliere un totale di 10 moduli/30 ECTS nelle seguenti categorie:
- 12-15 crediti ECTS in moduli tecnico-scientifici (TSM)
I moduli TSM trasmettono competenze tecniche specifiche del profilo e si integrano ai moduli di approfondimento decentralizzati. - 9-12 crediti ECTS in basi teoriche ampliate (FTP)
I moduli FTP trattano principalmente basi teoriche come la matematica, la fisica, la teoria dell’informazione, la chimica ecc. I moduli ampliano la competenza scientifica dello studente e contribuiscono a creare un importante sinergia tra i concetti astratti e l’applicazione fondamentale per l’innovazione - 6-9 crediti ECTS in moduli di contesto (CM)
I moduli CM trasmettono competenze supplementari in settori quali gestione delle tecnologie, economia aziendale, comunicazione, gestione dei progetti, diritto dei brevetti, diritto contrattuale ecc.
La descrizione del modulo (scarica il pdf) riporta le informazioni linguistiche per ogni modulo, suddivise nelle seguenti categorie:
- Insegnamento
- Documentazione
- Esame
Les applications modernes reposent sur des systèmes de données capables de traiter des volumes importants d’informations tout en garantissant la fiabilité, la cohérence et la performance. Ce cours propose une exploration approfondie des fondations des systèmes de données et des architectures distribuées.
L’objectif est de comprendre les principes fondamentaux qui sous-tendent les systèmes de données intensifs : fiabilité, passage à l’échelle, tolérance aux pannes, cohérence et consensus. Les étudiant-e-s apprendront à analyser les compromis entre cohérence, disponibilité et latence, et à concevoir des architectures adaptées aux besoins réels des applications distribuées.
Requisiti
- Modèle relationnel, algèbre relationnelle et normalisation
- SQL : modélisation des données, langage de requête, transactions et droits d'accès
- Optimisation des requêtes, index de base de données
- Langages de programmation orientée objet
Obiettivi di apprendimento
À la fin du module, les étudiant-e-s seront capables de :
-
Expliquer les principes de fiabilité, scalabilité et maintenabilité des systèmes de données ;
-
Comparer différents modèles de données et langages de requête (relationnel, document, graphe, clé-valeur) et comprendre leurs usages ;
-
Décrire les mécanismes internes de stockage et d’indexation (B-trees, LSM-trees, colonnes, sérialisation, compatibilité ascendante) ;
-
Comprendre les modèles de réplication (leader-follower, multi-leader, leaderless) et leurs effets sur la cohérence ;
-
Mettre en œuvre des stratégies de partitionnement (sharding) et de répartition de charge ;
-
Expliquer le fonctionnement et les limites des transactions distribuées, des protocoles de verrouillage et de commit en deux phases ;
-
Identifier les défaillances partielles dans les systèmes distribués et leurs conséquences ;
-
Analyser et comparer les modèles de cohérence (forte, causale, éventuelle) et les protocoles de consensus (Paxos, Raft) ;
-
Évaluer les compromis entre cohérence, disponibilité et tolérance aux pannes (CAP theorem) ;
-
Utiliser ces connaissances pour concevoir, choisir et configurer des systèmes de données adaptés à divers contextes.
Contenuti del modulo
Contenu du cours et pondération
Fondations des systèmes de données (40 %)
-
Fiabilité, tolérance aux pannes, passage à l’échelle
-
Modèles de données et langages de requête
-
Stockage, indexation et sérialisation des données
-
Compatibilité et évolution des schémas
Systèmes de données distribués (60 %)
-
Réplication et partitionnement
-
Transactions distribuées et isolation
-
Défaillances partielles, détection et récupération
-
Cohérence, consensus et compromis de conception
Metodologie di insegnamento e apprendimento
Ce cours se base sur des présentations théoriques et des exercices pratiques, des laboratoires ou des projets de groupe.
Bibliografia
Diapositives des cours, références à des ressources Internet et à des livres.
Martin Kleppmann, Designing Data-Intensive Applications, O’Reilly.
Scarica il descrittivo completo del modulo
Indietro