Plan du cours
Module 1 : Introduction et Architecture de MongoDB (4h)
Contenu :
- Histoire et écosystème de 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 collection d'exemple
Module 2 : Installation et Configuration Initiale (6h)
Contenu :
- Exigences en termes de matériel et de 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 des services systemd/service
Pratique :
- Déploiement d'instances sur des VM locales ou dans 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 et bases de données
- Modélisation : imbrication vs. référencement ; modèles de conception de données
- Indexes de base (introduits plus tôt)
- Opérations avec Mongo Shell et exemples d'écriture de scripts à l'aide de drivers
Pratique :
- Modélisation d'un cas d'utilisation : système d'inventaire ou de facturation
- Mise en œuvre des opérations CRUD
- Validation de schéma à l'aide du JSON Schema dans MongoDB
Module 4 : Indexes et Performance (4h)
Contenu :
- Indexes simples, composés, multi-clés, textuels et géospatiaux
- Utilisation de explain() et analyse des métriques
- Impact des indexes sur les performances d'écriture et la mémoire
Pratique :
- Création de collections avec des données de test
- Test des requêtes avec et sans index ; interprétation de explain()
- Ajustement des indexes 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 rôles personnalisés
- TLS/SSL entre clients et serveurs
- Chiffrement en repos : configuration de clés
- Journalisation de base des audits
Pratique :
- Création d'utilisateurs avec des privilèges minimaux
- Configuration du TLS sur 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 : primaire, secondaire, oplog
- Configuration des ensembles de réplicas : initialisation, adhésion, arbitrage
- Suivi du statut et des élections
- Maintenance : ajout/suppression de membres, réaffectation des priorités
Pratique :
- Déploiement d'un ensemble de réplicas à trois nœuds (local ou VMs)
- Simulation de la panne primaire et observation du basculement
- Rétablissement des nœuds secondaires et récupération des répliques
Module 7 : Répartition et Scalabilité Horizontale (6h)
Contenu :
- Concepts de répartition : clé de shard, serveurs config, routeur mongos
- Sélection de la clé de shard et risques associés
- Déploiement des serveurs config, shards et mongos
- Rééquilibrage et migration de chunks
Pratique :
- Configuration d'un cluster à répartition simple
- Insertion de données en grande quantité et observation de la distribution
- Introduire des changements dans les clés de shard et comprendre les limitations
Module 8 : Sauvegarde, Restauration et Planification de la Récupération d'Urgence (4h)
Contenu :
- Outils natifs : mongodump/mongorestore, instantanés de système de fichiers
- Sauvegardes dans les ensembles de réplicas et clusters répartis
- Utilisation de base du Cloud Manager/Ops Manager pour la sauvegarde
- Planification de récupération d'urgence (DR) : RTO, RPO
Pratique :
- Sauvegarde et restauration sur une base de données de test
- Simulation d'une panne et récupération à partir des sauvegardes
- Développement 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, I/O, taille du oplog, latences
- Alertes : définition des seuils et 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 échantillonnées
- Simulation de charge et observation des alertes
Module 10 : Maintenance, Mises à Jour et Bonnes Pratiques (4h)
Contenu :
- Stratégies de mise à jour pour les ensembles de réplicas et clusters répartis
- Nettoyage des données, compaction, vérification de l'intégrité
- Vérification des journaux et audits réguliers
- Automatisation des tâches routinières (scripts, cronjobs, Ansible, Terraform)
- Politiques de conservation et d'archivage des données
Pratique :
- Simulation de mises à jour 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
Résumé et Étapes Suivantes
Pré requis
- Compréhension des concepts généraux de base de données et des structures de données
- Familiarité avec l'utilisation en ligne de commande Linux
- Connaissances de base en réseaux et administration système
Public cible
- Database administrateurs et ingénieurs systèmes travaillant avec MongoDB
- Équipes DevOps et d'infrastructure déployant et maintenant des environnements MongoDB
- Développeurs intéressés par les fonctionnalités internes 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