Niveau d'étude
BAC +4
ECTS
3 crédits
Composante
Sciences économiques, gestion, mathématiques et informatique
Volume horaire
30h
Période de l'année
Enseignement huitième semestre
Description
L'essor du Big Data a mis en évidence les limites des systèmes relationnels traditionnels face à des données massives, hétérogènes et distribuées. Ce module introduit les bases de données NoSQL comme réponse à ces nouveaux défis. Les étudiants explorent d'abord les fondements théoriques : propriétés BASE, théorème de CAP et architectures distribuées (réplication, sharding). Ils découvrent ensuite les quatre grandes familles NoSQL, avant de se concentrer sur trois d'entre elles à travers des outils largement utilisés dans l'industrie data : MongoDB pour les données documentaires, Neo4j pour les données en graphe, et Apache Cassandra pour les données orientées colonnes. Le module s'appuie sur une approche résolument pratique : manipulation directe des outils, mini-projet intégrateur, et exposé sur une technologie NoSQL complémentaire.
Objectifs
- Comprendre l'origine des bases NoSQL et les limites des modèles relationnels classiques.
- Maîtriser les propriétés BASE, le théorème de CAP et les principes d'architecture distribuée.
- Identifier et comparer les principales familles de bases NoSQL.
- Modéliser et manipuler des données documentaires avec MongoDB.
- Modéliser et interroger des données en graphe avec Neo4j et le langage Cypher.
- Manipuler des données orientées colonnes avec Apache Cassandra.
- Choisir le type de base NoSQL adapté à un besoin donné.
Évaluation
Modalités : CC
SESSION UNIQUE :
Contrôle Continu
• Type : QCM, Oral, Dossier
• Durée :
• Précisions : QCMs en ligne, mini-projet, exposé
Régime Dérogatoire
• Type : Dossier
• Durée : Dossier à rendre
RATTRAPAGES :
• Type : Dossier
• Durée : Projet
Utilisation de l'intelligence artificielle :
Pour cet EC, l’usage de l’intelligence artificielle (IA) générative pour aider à la réalisation des travaux de contrôle continu soumis à évaluation
- est autorisé pour les tâches suivantes : Mini-projet
- Il est interdit pour les tâches suivantes : QCMs, Exposé.
Heures d'enseignement
- CMCM12h
- TDTD18h
Pré-requis obligatoires
Maitrise des Bases de Données Relationnelles et du langage SQL.
Compétences visées
- Analyser les contraintes d'un projet data et choisir le modèle de stockage adapté.
- Concevoir un schéma NoSQL par dénormalisation depuis une base relationnelle.
- Écrire des requêtes MongoDB (CRUD, agrégation).
- Modéliser et interroger un graphe de données avec Cypher et Neo4j.
- Appliquer des algorithmes de Graph Data Science (GDS).
- Manipuler une base orientée colonnes avec Cassandra.
Bibliographie
Ouvrages de référence :
- Eric Redmond & Jim R. Wilson, Seven Databases in Seven Weeks, The Pragmatic Programmers, 2e éd., 2018 — panorama pratique : MongoDB, Neo4j, Redis, Cassandra
- Jeff Carpenter & Eben Hewitt, Cassandra: The Definitive Guide, 3e éd., O'Reilly Media, 2020
- Ian Robinson, Jim Webber & Emil Eifrem, Graph Databases, 2e éd., O'Reilly Media, 2015
Sites officiels :
- Documentation MongoDB : https://www.mongodb.com/docs/
- Neo4j GraphAcademy (cours gratuits) : https://graphacademy.neo4j.com/
- Documentation Apache Cassandra : https://cassandra.apache.org/doc/
- DB-Engines Ranking : https://db-engines.com/en/ranking
