5DON4D - Base de données IV

Appartient à l'UE Base de données IV

Personnes enseignantes

Description technique du cours

  • Acronyme de l’activité : 5DON4D
  • Bloc : 3
  • Quadrimestre : 5
  • Nombre de crédits : 4
  • Langue d’instruction : français
  • Implantation : HE2B – ESI
  • Pré-requis : 3DON2A
  • Co-requis : néant

Détails des parties

L’unité d’enseignement est composée des parties suivantes :

Partie Acronyme Format Heures de cours Heures hors cours (estimation)
Base de données 4 - Théorie 5DON4D-T Auditoire 24 25
Base de données 4 - Laboratoires 5DON4D-L Labo 24 25

Description générale du cours

Ce cours approfondit la gestion des données en introduisant les bases de données non relationnelles et leurs applications. Les étudiants apprendront à sélectionner des modèles de données en fonction des besoins spécifiques d’un projet et à comparer les systèmes de gestion de bases de données en fonction de leurs caractéristiques. Le cours aborde également les principes des systèmes distribués, le théorème CAP et l’utilisation pratique de Redis comme exemple de base de données clé-valeur. Une approche théorique et pratique permettra aux étudiants de maîtriser ces technologies essentielles pour concevoir des systèmes robustes et performants adaptés à des contextes variés.

Objectifs généraux

Au terme de l’activité d’apprentissage, l’étudiante ou l’étudiant sera en mesure de :

  • Utiliser des bases de données non relationnelles pour concevoir une solution adaptée à un scénario donné.
  • Comparer les avantages et les inconvénients de différents modèles de bases de données (relationnel vs non relationnel) en fonction des exigences d’un projet.
  • Critiquer les choix de conception de systèmes distribués en tenant compte des contraintes imposées par le théorème CAP.

Acquis d’apprentissage spécifiques sanctionnés par l’évaluation

Au terme des séances, l’étudiante ou l’étudiant sera évalué sur sa capacité à :

  • Comparer les avantages et inconvénients des modèles relationnels et non relationnels en fonction des besoins spécifiques d’un projet (performance, scalabilité, flexibilité).
  • Identifier les problèmes de cohérence ou de disponibilité dans un système distribué existant, et en déterminer les causes.
  • Évaluer l’adéquation d’une base de données non relationnelle, comme Redis ou MongoDB, pour un cas d’utilisation donné en termes de performance, coût et complexité.
  • Critiquer les choix d’architecture d’un système distribué en tenant compte des contraintes du théorème CAP et des besoins métier.

Acquis terminaux visés

Au sein de la formation de bachelier en informatique, cette activité d’apprentissage aura participé à l’acquisition des compétences suivantes.

  • Concevoir, implémenter, administrer et utiliser avec maîtrise un ensemble structuré de données
  • Respecter les prescrits légaux en vigueur relatifs au contexte dans lequel s’exerce l’activité (exemple code du bien-être au travail, RGPD, le droit à l’image, licences logicielles…)

Modalités d’évaluations

  • En première et en seconde session :
    • écrit-oral-machine (100%).

Contenus

  • Introduction au NoSQL

  • Découverte des principaux modèles de données
    • Clé-valeur
    • Document
    • Graphe
    • Famille de colonnes
  • Mise en pratique
    • Manipulation de SGBD relatif à chaque modèle.
    • Notions de systèmes distribués (théorème CAP, réplication, tolérance aux pannes…).
  • Exploration de SGBD spécialisés et NewSQL
    • Séries temporelles
    • Recherche plein texte
    • NewSQL (relationnel distribué)
  • Projet intégrateur
    • Développement d’un système d’applications polyglotte.

Bibliographie

  • NoSQL Distilled - Sadalage, P. J. & Fowler, M. (2013), NoSQL distilled: a brief guide to the emerging world of polyglot persistence, Addison-Wesley, Upper Saddle River, NJ.
  • NoSQL for Mere Mortals - Sullivan, D. (2015), ’NoSQL for Mere Mortals’, Addison-Wesley Professional.
  • Next generation databases - Harrison, G. (2015), ’Next generation databases: NoSQL, NewSQL, and Big Data’ , Apress .
  • Seven Databases in Seven Weeks - Eric Redmond and Jim R. Wilson. (2012), ’Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement’ , Pragmatic Bookshelf.
  • Designing Data-Intensive Applications - Kleppmann, M. (2017). Designing Data-Intensive Applications. Beijing: O’Reilly.