Plan du cours
Module 1 : Introduction et architecture de MongoDB (4h)
Contenu :
- Historique et écosystème MongoDB
- Cas d'usage 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 via systemd/service
Pratique :
- Déploiement d'instances sur des VM locales ou des conteneurs Docker
- Ajustement des configurations pour le développement vs 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 ; motifs de conception des données
- Index de base (présentés 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
- Mise en œuvre d'opérations CRUD
- Validation du schéma à l'aide de JSON Schema dans MongoDB
Module 4 : Indexation 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 les performances d'écriture et 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()/li>
- 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 d'utilisateurs et de 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 du TLS sur des instances locales
- Vérification des accès non autorisés et consultation des journaux d'audit
Module 6 : Réplication et haute disponibilité (6h)
Contenu :
- Concepts de réplication : Primary, Secondary, oplog
- Configuration des ensembles de réplication : initialisation, adhésion, arbitrage
- Surveillance de l'état et des élections
- Maintenance : ajout/suppression de membres, réassignation des priorités
Pratique :
- Déploiement d'un ensemble de réplication à trois nœuds (local ou sur VM)
- Simulation de la défaillance du nœud primaire et observation du basculement
- Reconstruction des nœuds secondaires et récupération des répliques
Module 7 : Partitionnement (Sharding) et évolutivité horizontale (6h)
Contenu :
- Concepts de partitionnement : clé de partition, serveurs de configuration, routeur mongos
- Sélection de la clé de partition et risques associés
- Déploiement des serveurs de configuration, des shards et de mongos
- Équilibrage et migration de chunks
Pratique :
- Configuration d'un cluster partitionné simple
- Insertion de données à grande échelle et observation de la distribution
- Introduction aux changements de clé de partition 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éplication et les clusters partitionnés
- Utilisation basique de Cloud Manager/Ops Manager pour la sauvegarde
- Planification de la reprise après sinistre (RAS) : RTO, RPO
Pratique :
- Réalisation de sauvegardes et restaurations sur une base de données de test
- Simulation de défaillance et récupération à partir d'une sauvegarde
- Conception d'un plan de RAS 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/S, 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 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 à jour et meilleures pratiques (4h)
Contenu :
- Stratégies de mise à niveau pour les ensembles de réplication et les clusters partitionnés
- Nettoyage des données, compression, vérifications d'intégrité
- Revue des journaux et audits réguliers
- Automatisation des tâches courantes (scripts, cronjobs, Ansible, Terraform)
- Politiques de conservation 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
- Comprendre les concepts généraux des bases de données et des structures de données
- Connaître l'utilisation de la ligne de commande Linux
- Poséder des 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 d'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