Niveau d'étude
BAC +4
ECTS
4,5 crédits
Composante
Sciences économiques, gestion, mathématiques et informatique
Volume horaire
36h
Période de l'année
Enseignement septième semestre
Description
L'évolution des applications web, mobiles et des plateformes de données massives a conduit à l'émergence des bases de données NoSQL, conçues pour répondre aux besoins de scalabilité, de disponibilité et de traitement de grands volumes de données.
Ce cours présente les principes fondamentaux des systèmes NoSQL et des architectures distribuées qui les sous-tendent. Les étudiants découvriront les différents modèles de données NoSQL (clé-valeur, document, colonnes et graphe), les mécanismes de réplication et de partitionnement, ainsi que les compromis liés au théorème CAP et à la cohérence éventuelle.
Les travaux dirigés permettront la prise en main de plusieurs systèmes comme par exemple et à titre indicatif: Redis, MongoDB, Cassandra et Neo4j.
Objectifs
À l'issue du module, l'étudiant sera capable de :
• Comprendre les limites des bases de données relationnelles dans les environnements Big Data.
• Expliquer les principes de scalabilité horizontale et verticale.
• Analyser les compromis du théorème CAP.
• Comprendre les mécanismes de cohérence éventuelle.
• Mettre en œuvre des stratégies de réplication et de partitionnement.
• Choisir un modèle NoSQL adapté à un besoin métier.
• Manipuler des bases de données clé-valeur, document, colonnes et graphe.
• Concevoir des modèles de données adaptés aux systèmes NoSQL.
• Réaliser des requêtes simples et avancées dans différents SGBD NoSQL.
Évaluation
Modalités : Mixte : CC + CT
SESSION 1 :
Contrôle Continu
• Type : Écrit, QCM, Oral
• Durée : 2h00
• Précisions : Un devoir écrit ou sur machine comptant pour 25 % et un travail (pouvant prendre la forme d’un projet, d’une présentation, d’un QCM, d’une épreuve écrite) comptant pour 25 %.
Contrôle Terminal
• Type : Écrit
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.
Régime Dérogatoire
• Type : Écrit
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.
SESSION 2 :
• Type : Écrit
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.
Utilisation de l'intelligence artificielle :
L’utilisation de l’Intelligence Artificielle est interdite lors des évaluations.
Heures d'enseignement
- CMCM18h
- TDTD18h
Pré-requis obligatoires
Bases de données relationnelles : tables, clés, requêtes SQL simples, jointures (au moins la notion).
Bases de modélisation des données.
Bases de programmation/scripting pour les manipulations en TD (lecture de docs, exécution de commandes, configuration des variables d'environnement).
Compétences visées
Compétences disciplinaires :
- Concevoir et exploiter des bases de données distribuées.
- Modéliser des données dans différents paradigmes NoSQL.
- Analyser les performances et la scalabilité d'une architecture de données.
- Comprendre les enjeux de disponibilité, cohérence et tolérance aux pannes.
Compétences professionnelles :
- Sélectionner une solution de stockage adaptée à un contexte applicatif.
- Participer à la conception d'architectures Big Data.
- Mettre en œuvre et administrer des bases NoSQL courantes.
- Développer des applications exploitant différents modèles de données.
