MSE Master of Science in Engineering

The Swiss engineering master's degree


Jedes Modul umfasst 3 ECTS. Sie wählen insgesamt 10 Module/30 ECTS in den folgenden Modulkategorien:

  • ​​​​12-15 ECTS in Technisch-wissenschaftlichen Modulen (TSM)
    TSM-Module vermitteln Ihnen profilspezifische Fachkompetenz und ergänzen die dezentralen Vertiefungsmodule.
  • 9-12 ECTS in Erweiterten theoretischen Grundlagen (FTP)
    FTP-Module behandeln theoretische Grundlagen wie die höhere Mathematik, Physik, Informationstheorie, Chemie usw. Sie erweitern Ihre abstrakte, wissenschaftliche Tiefe und tragen dazu bei, den für die Innovation wichtigen Bogen zwischen Abstraktion und Anwendung spannen zu können.
  • 6-9 ECTS in Kontextmodulen (CM)
    CM-Module vermitteln Ihnen Zusatzkompetenzen aus Bereichen wie Technologiemanagement, Betriebswirtschaft, Kommunikation, Projektmanagement, Patentrecht, Vertragsrecht usw.

In der Modulbeschreibung (siehe: Herunterladen der vollständigen Modulbeschreibung) finden Sie die kompletten Sprachangaben je Modul, unterteilt in die folgenden Kategorien:

  • Unterricht
  • Dokumentation
  • Prüfung
Advanced Databases (TSM_AdvDaBa)

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.

Eintrittskompetenzen

  • 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

Lernziele

À 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.

Modulinhalt

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

Lehr- und Lernmethoden

Ce cours se base sur des présentations théoriques et des exercices pratiques, des laboratoires ou des projets de groupe.

 

Bibliografie

Diapositives des cours, références à des ressources Internet et à des livres.

Martin Kleppmann, Designing Data-Intensive Applications, O’Reilly.

Vollständige Modulbeschreibung herunterladen

Zurück