Plan du cours
Module 1 : Introduction et architecture de MongoDB (4h)
Contenu :
- Histoire et écosystème MongoDB
- Cas d'usage typiques, avantages et inconvénients
- Architecture générale : instances, processus et configuration
Pratique :
- Exploration interactive : connexion via Mongo Shell/CLI
- Création d'une base de données et d'une collection d'exemple
Module 2 : Installation et configuration initiale (6h)
Contenu :
- Exigences matérielles et en ressources
- Installation sur Linux (deb/rpm), Windows et macOS
- Fichiers de configuration YAML (mongod.conf) : dataDir, logDir, bindIp, port
- Options de démarrage et gestion via systemd/services
Pratique :
- Déploiement d'instances sur des VM locales ou des conteneurs Docker
- Ajustement des configurations pour le développement par rapport à la production
- Vérification de la connectivité distante sécurisée
Module 3 : Modélisation de données et opérations de base (5h)
Contenu :
- Documents BSON, collections, bases de données
- Modélisation : inclusion (embedding) vs référence ; motifs de conception de données
- Index de base (introduits précédemment)
- Opérations avec Mongo Shell et exemples de scripts utilisant des pilotes
Pratique :
- Modélisation d'un cas d'usage : système d'inventaire ou de facturation
- Implémentation d'opérations CRUD
- Validation de schéma en utilisant JSON Schema dans MongoDB
Module 4 : Index et performance (4h)
Contenu :
- Index simples, composites, multi-clés, texte et géospatiaux
- Utilisation de explain() et analyse des métriques
- Impact des index sur la performance d'écriture et la mémoire
Pratique :
- Création de collections avec des données de test
- Tests de requêtes avec et sans index ; interprétation de explain()
- Ajustement des index en fonction des motifs d'accès
Module 5 : Sécurité (5h)
Contenu :
- Mécanismes d'authentification : SCRAM, LDAP/Kerberos (introduction)
- Définition des utilisateurs et des rôles personnalisés
- TLS/SSL entre clients et serveurs
- Chiffrement au repos : configuration des clés
- Journalisation d'audit de base
Pratique :
- Création d'utilisateurs avec des privilèges minimaux
- Configuration de TLS dans les instances locales
- Vérification des accès non autorisés et examen des journaux d'audit
Module 6 : Réplication et haute disponibilité (6h)
Contenu :
- Concepts de réplication : Primary, Secondary, oplog
- Configuration du jeu de réplication : initialisation, adhésion, arbitrage
- Surveillance de l'état et des élections
- Maintenance : ajout/retiré de membres, réaffectation des priorités
Pratique :
- Déploiement d'un jeu de réplication à trois nœuds (local ou sur VM)
- Simulation d'une panne du primaire et observation du basculement (failover)
- Reconstruction des nœuds secondaires et récupération des répliques
Module 7 : Sharding et évolutivité horizontale (6h)
Contenu :
- Concepts de sharding : clé de sharding, serveurs de configuration, routeur mongos
- Sélection de la clé de sharding et risques associés
- Déploiement des serveurs de configuration, des shards et de mongos
- Équilibrage et migration des chunks
Pratique :
- Configuration d'un cluster sharded simple
- Insertion de données à grande échelle et observation de la distribution
- Introduction de modifications de la clé de sharding et compréhension des limites
Module 8 : Sauvegarde, restauration et reprise sur sinistre (4h)
Contenu :
- Outils natifs : mongodump/mongorestore, instantanés du système de fichiers
- Sauvegardes dans les jeux de réplication et les clusters sharded
- Utilisation de base de Cloud Manager/Ops Manager pour la sauvegarde
- Planification de la reprise sur sinistre (DR) : RTO, RPO
Pratique :
- Réalisation de sauvegardes et de restaurations sur une base de données de test
- Simulation d'une panne et récupération depuis la sauvegarde
- Conception d'un plan DR pour un cas hypothétique
Module 9 : Surveillance et alertes (4h)
Contenu :
- Outils : mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Intégration avec Prometheus + Grafana (concepts et exemples)
- Métriques clés : CPU, mémoire, I/O, taille de l'oplog, latences
- Alertes : définition des seuils et des notifications
Pratique :
- Déploiement d'un agent de surveillance local ou basé sur des conteneurs
- Mise en place de tableaux de bord de base avec des métriques d'exemple
- Simulation de charge et observation des alertes
Module 10 : Maintenance, mises à niveau et bonnes pratiques (4h)
Contenu :
- Stratégies de mise à niveau pour les jeux de réplication et les clusters sharded
- Nettoyage des données, compaction, vérifications d'intégrité
- Examen des journaux et audits réguliers
- Automatisation des tâches courantes (scripts, cronjobs, Ansible, Terraform)
- Politiques de rétention et d'archivage des données
Pratique :
- Simulation de mises à niveau mineures et majeures dans un environnement contrôlé
- Création de scripts d'automatisation pour la sauvegarde et la surveillance
- Développement d'une liste de contrôle de maintenance périodique
Synthèse et prochaines étapes
Pré requis
- Compréhension des concepts généraux des bases de données et des structures de données
- Maîtrise de l'utilisation de l'interface en ligne de commande Linux
- Connaissances de base en réseau et en administration système
Public cible
- Administrateurs de bases de données et ingénieurs système travaillant avec MongoDB
- Équipes DevOps et infrastructure déployant et maintenant des environnements MongoDB
- Développeurs intéressés par le fonctionnement interne de MongoDB et les meilleures pratiques de déploiement
Nos clients témoignent (2)
Le rythme de la parole et des explications.
Marko Skokovic - PWO by Lottomatica Serbia
Formation - MongoDB for Administrators
Traduction automatique
Sir Jose est cool et explique chaque détail des commandes. Nous apprécions le temps qu'il prend pour partager ses connaissances avec nous, et cela montre vraiment qu'il est un expert dans ce domaine.
Almer Laureta - Asialink Finance Corporation
Formation - MongoDB for Developers
Traduction automatique