Prenez contact avec nous
 Durée 48 heures

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

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires