1
Introduction à MongoDB
- Introduction au SDBG NoSQL MongoDB.
- Les caractéristiques du NoSQL.
- La modélisation sous MongoDB.
- Les différents formats utilisés par MongoDB : JSON, BSON.
- Préparation à l'installation de MongoDB.
- Connexion et test de MongoDB.
Travaux pratiques
Installation de MongoDB sur un poste de développement et intégration d'une base de données exemple.
2
Connexion et utilisation de MongoDB
- Utilisation du Shell Mongo.
- Manipulation des objets et données : les opérations CRUD (Create, Read, Update, Delete).
- Utilisation des objets : collections, documents…
- Utilisation des API (PHP, Java...).
Travaux pratiques
Utilisation du Shell Mongo et manipulation des objets et des données.
3
Modélisation et indexation
- Le schéma design : réflexion sur la modélisation à utiliser.
- L'indexation sous MongoDB.
- Le profiling et l'optimisation des requêtes.
- Fonctionnement de MongoDB : transaction, isolation, verrou…
- Gestion des performances sous MongoDB.
Travaux pratiques
Modélisation d'un cas pratique et indexation des données.
4
Gestion des drivers
- Les drivers disponibles pour MongoDB. Modèle d'API.
- Utilisation de l'API PHP ou Java.
Travaux pratiques
Manipulation des données à travers des API (PHP ou Java).
5
Introduction à la réplication et au sharding
- Principes de la réplication sous MongoDB.
- Notions et principes de fonctionnement des ReplicaSet.
- Le sharding : concept, fonctionnement, limite…
- Couple ReplicaSet et sharding.
- Mise en œuvre du Replica couplé à du sharding.
- Suivi des performances liées au sharding.
Travaux pratiques
Mise en place du sharding des données de manière automatique ou manuelle.
6
Gestion des performances et diagnostic
- L'analyse des plans d'exécution.
- Les logs MongoDB.
- Le suivi des indicateurs et des performances.
- Les outils de suivi des performances : explain, mongostat, mongotop.
- L'agrégation Pipeline : présentation et concept.
Travaux pratiques
Analyse des plans d'exécution et optimisation des requêtes.
7
Extension de MongoDB
- Indexer les requêtes géospatiales.
- GridFS nécessaire au stockage de "large objects".
- Agréger.