Logo ÉTS
Session
Cours
Responsable(s) Alain April

Se connecter
 

Sauvegarde réussie
La notification a été envoyée
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Alain April


PLAN DE COURS

Automne 2025
IND500 : Bases de données distribuées modernes (3 crédits)





Préalables
Aucun préalable requis
Unités d'agrément




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours
Ce cours vise à expliquer les technologies, la modélisation et l’utilisation des bases de données NoSQL.

Au terme de ce cours, l’étudiante ou l’étudiant sera en mesure de : déterminer quand utiliser un type particulier de base de données ; identifier les exigences et les défis des bases de données en matière de performance et de fiabilité ; mettre en pratique les techniques d’extraction, de transformation et de compression de données pour charger de grandes quantités de données ; comprendre certains enjeux de sécurité et de performance propres aux bases de données distribuées.

Aspects fondamentaux des différentes technologies de bases de données NoSQL. Survol de la théorie, des concepts, des forces et des faiblesses des bases de données relationnelles et comparaison avec les bases de données non relationnelles. Modèles de bases de données NoSQL : documents, clé-valeurs, colonnes, séries chronologiques et graphes. Introduction à la théorie et aux techniques d’ETL (extraction, transformation et chargement) à grande échelle, sélecteurs de requêtes, mise à jour unique ou massive, pipeline d’agrégation et requêtes dans plusieurs sources hétérogènes. Modélisation et utilisation des bases de données comportant un schéma flexible.



Objectifs du cours

L'objectif du cours est d'atteindre un des trois niveaux de compétences suivant: 1) novice - niveau utilisateur : qui est capable de choisir la technologie, comprendre son fonctionnement général et composer une solution de bases de données distribuée; 2) intermédiaire - niveau opération : qui est en mesure d'identifier et déployer une solution spécifique, offrir le service et être en mesure d'optimiser et supporter la solution; et 3) expert - niveau développeur : qui contribue à un projet de base de données distribuée et maîtrise les connaissances internes de manière à modifier/améliorer la technologie. 




Stratégies pédagogiques

Le cours sera offert en personne et les aspects techniques seront appuyés par des exemples pratiques. L'étudisnt effectuera des exercices pour acquérir les connaissances pratiques.




Utilisation d’appareils électroniques

Utilisation de LapTop personnel et des logiciels de bases de données sur conteneur




Horaire
Groupe Jour Heure Activité
01 Mercredi 08:30 - 12:00 Activité de cours
Mercredi 18:00 - 21:00 Laboratoire



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Felix Giguere-Villegas Activité de cours cc-Felix.Giguere-Villegas@etsmtl.ca
01 Laboratoire



Cours

Partie 1 du cours - Concepts fondamentaux des données stockées sur un noeud 

  • Cours 1. Intro, table ronde; Applications fiables, extensibles et maintenables 
  • Cours 2. Modèles de données et langages de requêtes 
  • Cours 3. Stockage et requête 
  • Cours 4. Encodage et évolution

Partie 2 du cours -  Concepts fondamentaux des données réparties sur plusieurs noeuds

  • Cours 5.  Quiz 1; et Réplication 
  • Cours 6.  Partitionnement/Sharding
  • Cours 7.  Examen intra; Transactions (1de2)
  • Cours 8.  Transactions (2de2)
  • Cours 9.  Problèmes typiques de systèmes distribués

Partie 3 du cours -  Concepts de systèmes qui dérivent certains ensembles de données d’autres ensembles de données

  • Cours 10.  Cohérence et consensus
  • Cours 11.  Quiz 2; Traitement par lots
  • Cours 12.  Traitement continu
  • Cours 13.  Le futur des systèmes de données

 

Note: L'ordre et le contenu peut être modifié en cours de session en fonction de circonstances particulières.




Laboratoires et travaux pratiques
  1. Tp1 - requêtes de base de données relationelle
  2. Tp2 - requêtes de base de données NoSql (MongoDB)
  3. Tp3 - requêtes de bases de données de streaming (Kafka, ElasticSearch)



Utilisation d'outils d'ingénierie
  • Github
  • Java
  • Docker
  • PostGreSQL
  • MongoDB
  • Kafka
  • ElasticSearch



Évaluation
  • 5points- Quiz 1 (individuel)
  • 5points- Quiz 2 (individuel)
  • 10points - TP1 (équipe de 3 ou 4)
  • 10points - TP2 (équipe de 3 ou 4)
  • 10 points - TP3 (équipe de 3 ou 4)
  • 25points - Examen intra
  • 35points - Examen final



Dates des examens intra
Groupe(s) Date
1 22 octobre 2025



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.5/ cycles supérieurs, article 6.5.2) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignante ou l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à une évaluation

Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou l’étudiant doit utiliser le formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.

Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS pour se rendre à l’activité.

Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du RÉPC et 6.5.2 du RÉCS) entraînera l’attribution de la note zéro (0).




Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-nature-academique) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet. À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignante ou l’enseignant du cours.



Documentation obligatoire
  • Kleppmann, Martin : Designing dat-intensive applications : the big ideas behind relilable, scalable and maintainable systems, O'Reilly Media, ebook, 2017 (disponible à la bibliothèque de l'ÉTS en eBook): https://etsmtl.on.worldcat.org/search/detail/976434277?databaseList=&queryString=designing%20data%20intensive%20applications



Ouvrages de références
  • Documentation PostGreSQL: https://www.postgresql.org/docs/
  • Documentation MongoDB: https://www.mongodb.com/docs/
  • Documentation Docker: https://docs.docker.com
  • Documentation Kafka: https://kafka.apache.org/documentation/
  • Documentation ElasticSearch: https://www.elastic.co/docs/get-started

 




Adresse internet du site de cours et autres liens utiles

voir Moodle : https://ena.etsmtl.ca