Présentation du mouvement NoSQL et de MongoDB
- Bref historique de l'évolution des bases de données et des différents modèles.
- L'importance du modèle relationnel et l'émergence du mouvement NoSQL.
- Les différentes solutions du NoSQL et le positionnement de MongoDB.
- Les choix techniques de MongoDB et quelques exemples pratiques d'utilisation.
Prise en main de MongoDB
- Installation sur Windows et Linux.
- L'invite interactive (Shell) et l'administration.
- Présentation des différentes API de développement : PHP, Ruby, Python, Java.
- Création de bases de données.
- Le schéma des données. Les différents scénarios de schémas.
Travaux pratiques
Installation de MongoDB et prise en main de l'invite de commandes.
Travailler avec les documents
- Comprendre et utiliser les espaces de noms, les collections et les documents.
- Les formats JSON et BSON.
- Les types de données élémentaires et les types spéciaux.
- Les instructions CRUD à travers les API : Create, Read, Update, Delete.
- Les méthodes d'importation et d'exportation de données.
Travaux pratiques
Créer et manipuler un document à l'invite de commande et à l'aide d'un langage client.
Réplication et Sharding
- La réplication maître-esclave.
- Fonctionnement de la bascule automatique du nœud maître.
- Mise en place du sharding.
- Gestion du serveur de configuration de sharding.
Travaux pratiques
Mise en place du sharding couplé à des réplicats.
Performances et indexation
- Structure des index dans MongoDB.
- Stratégies d'indexation et optimisation des requêtes.
- Obtenir des indicateurs et assurer la supervision.
- Intégrer MongoDB dans Nagios, Cacti ou Zabbix.
Travaux pratiques
Création d'index et supervision des performances sur une base fortement sollicitée.
Administration de MongoDB
- Sauvegarde de données. La sécurité des accès.
- Les interfaces graphiques d'administration.
- Gérer la journalisation.
Travaux pratiques
Sauvegarde de données et utilisation d'une interface graphique d'administration.