Plan du cours
Module 1 : Introduction et architecture de MongoDB (4h)
Contenu :
- Histoire et écosystème MongoDB
- Cas d'utilisation typiques, avantages et inconvénients
- Architecture générale : instances, processus et configuration
Pratique :
- Exploration interactive : connexion avec 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 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 systemd/service
Pratique :
- Déploiement d'instances sur des machines virtuelles 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 des données et opérations de base (5h)
Contenu :
- Documents BSON, collections, bases de données
- Modélisation : intégration (embedding) vs référence ; modèles 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'utilisation : système de gestion des stocks ou de facturation
- Mise en œuvre des opérations CRUD
- Validation de schéma à l'aide de JSON Schema dans MongoDB
Module 4 : Index et performance (4h)
Contenu :
- Index simples, composés, multi-clés, texte et géospatiaux
- Utilisation de explain() et analyse des métriques
- Impact des index sur les performances en écriture et l'utilisation de la mémoire
Pratique :
- Création de collections avec des données de test
- Test de requêtes avec et sans index ; interprétation de explain()
- Ajustement des index en fonction des modèles 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 les clients et les serveurs
- Chiffrement au repos : configuration des clés
- Journalisation d'audit de base
Pratique :
- Création d'utilisateurs avec les privilèges minimaux
- Configuration de TLS sur des 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 : Primaire, Secondaire, oplog
- Configuration des ensembles de répliques : initialisation, adhésion, arbitrage
- Surveillance de l'état et des élections
- Maintenance : ajout/suppression de membres, réattribution des priorités
Pratique :
- Déploiement d'un ensemble de répliques à trois nœuds (local ou VMs)
- Simulation d'une défaillance du nœud primaire et observation de la bascule (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 shard, serveurs de configuration, routeur mongos
- Sélection de la clé de shard et risques associés
- Déploiement des serveurs de configuration, des shards et de mongos
- Équilibrage de charge et migration de chunks
Pratique :
- Configuration d'un cluster shardé simple
- Insertion de données à grande échelle et observation de la distribution
- Introduction de modifications de la clé de shard et compréhension des limitations
Module 8 : Sauvegarde, restauration et reprise après sinistre (4h)
Contenu :
- Outils natifs : mongodump/mongorestore, instantanés du système de fichiers
- Sauvegardes dans les ensembles de répliques et les clusters shardés
- Utilisation de base de Cloud Manager/Ops Manager pour les sauvegardes
- Planification de la reprise après sinistre (DR) : RTO, RPO
Pratique :
- Exécution d'une sauvegarde et d'une restauration sur une base de données de test
- Simulation d'une défaillance et récupération à partir de la sauvegarde
- Conception d'un plan DR pour un cas hypothétique
Module 9 : Surveillance et alertes (4h)
Contenu :
- Outils : mongostat, mongotop, surveillance Cloud Manager/Atlas
- Intégration avec Prometheus + Grafana (concepts et exemples)
- Métriques clés : CPU, mémoire, E/I, 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
- Configuration 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 ensembles de répliques et les clusters shardés
- Nettoyage des données, compactage, vérifications d'intégrité
- Examen des journaux et audits réguliers
- Automatisation des tâches routinières (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
- Élaboration d'une liste de contrôle de maintenance périodique
Résumé 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 la ligne de commande Linux
- Connaissances de base en réseau et 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 les mécanismes internes de MongoDB et les bonnes 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