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