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 (5)
Kamil a fait un excellent travail. Il a posé des questions pour savoir ce que nous savions déjà et ce sur quoi nous devions nous concentrer, et il a facilement adapté la formation à nos besoins.
Susanna - USAF
Formation - MongoDB Advanced Administrator
Traduction automatique
La situation était atypique car une formation intensive pour développeurs devait être menée avec des non-développeurs. Lukasz a relevé ce défi avec empathie et beaucoup d'humour. Grâce à son intelligence et à sa flexibilité, il a réussi à faire en sorte que tout le monde puisse bénéficier d'un apprentissage concret. J'ai beaucoup apprécié ce séminaire et je le referais volontiers avec Lukasz.
Christoph - Honda Bank GmbH
Formation - MERN Fullstack Development
Traduction automatique
L'environnement de laboratoire
Samer Roshdi - epic ltd
Formation - MongoDB for Analysts
Traduction automatique
It was very flexible and adapted to our expectations and skill level.
Raul Alberto Canales Requena - Kiloo
Formation - MongoDB for Advanced Users
Traduction automatique
I generally was benefit from the open mind and communication.
Oleksiy Deliyev
Formation - MongoDB for Developers
Traduction automatique