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

Lire plus

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.

Lire plus

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

Lire plus

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

Lire plus

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.
Lire plus