Chapitre 1 – Contexte et évolution des bases de données
Objectif : Comprendre l’évolution des systèmes de gestion de bases de données et les limites du modèle relationnel dans certains contextes.
• Historique et évolution des bases de données
• Rappels sur les bases relationnelles : atouts, limites, usages
• Nouveaux défis liés à la volumétrie, la variabilité et la vitesse des données
• Émergence des bases NoSQL et tendances actuelles
Chapitre 2 – Comprendre l’approche NoSQL
Objectif : Poser les bases théoriques du NoSQL et situer les différentes familles de bases.
• Objectifs et motivations du mouvement NoSQL
• Le théorème de CAP et ses implications
• Modélisation des données dans un paradigme NoSQL
• Présentation des principales familles : document, graphe, clé-valeur, colonne
• Étude de cas et comparaison avec le SQL : pour chaque modèle, mise en lumière des
avantages/inconvénients face au relationnel
Chapitre 3 – Mise en place de l’environnement de travail
Objectif : Prendre en main l’environnement des TP
• Introduction à Docker et ses usages en formation
• Lancement et configuration des conteneurs pour chaque technologie
• Prise en main des interfaces et outils de requêtage
Chapitre 4 – Bases de données orientées document (MongoDB)
Objectif : Comprendre le modèle document, le langage de requête MongoDB et ses cas d’usage.
• Présentation du modèle document
• Comparaison avec les tables relationnelle
• Cas d’usage typiques
• Introduction aux opérations CRUD en MongoDB
Atelier pratique : manipulation de données avec MongoDB
Chapitre 5 – Bases de données orientées graphe (Neo4J)
Objectif : Découvrir la modélisation en graphe et apprendre les bases du langage Cypher
• Présentation des concepts de graphe (nœuds, relations, propriétés)
• Comparaison avec les tables relationnelles
• Cas d’usage typiques
• Introduction aux opérations CRUD (Cypher) en Neo4J
Atelier pratique : modélisation et requêtage avec Neo4J
Chapitre 6 – Bases de données clé-valeur (Redis)
Objectif : Explorer les usages et performances des bases clé-valeur dans des architectures à forte contrainte.
• Présentation du modèle clé-valeur
• Comparaison avec les tables relationnelle
• Cas d’usage typiques
• Introduction aux opérations CRUD en Redis
Atelier pratique : manipulation de clés et structures avancées dans Redis
Chapitre 7 – Bases de données orientées colonnes (Cassandra)
Objectif : Comprendre les modèles en colonnes et les cas d’usage adaptés aux très grands volumes.
• Présentation du modèle en colonnes
• Comparaison avec les tables relationnelles
• Cas d’usage typiques
• Introduction aux opérations CRUD (CQL) en Cassandra
Atelier pratique : manipulation de données avec Cassandra
Chapitre 8 – Architectures distribuées : réplication
Objectif : Comprendre les mécanismes de réplication pour la disponibilité et les performances.
• Notions de réplication, de quorum, de consistency
• Exemples de configuration de réplication avec MongoDB
• La réplication au profit de la performance
Atelier pratique : mise en place d’un cluster répliqué
Chapitre 9 – Architectures distribuées : sharding (partitionnement horizontal)
Objectif : Comprendre et expérimenter la scalabilité horizontale dans les systèmes NoSQL.
• Principe du sharding et de la distribution des données
Atelier pratique : configuration d’un cluster sharded