Prenez contact avec nous

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 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 :

  • Besoins en matériel et en ressources.
  • Installation sous 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 machines virtuelles locales ou dans 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) versus référence ; schémas de conception de données.
  • Index de base (introduits précédemment).
  • Opérations avec Mongo Shell et exemples de scripts utilisant des pilotes (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 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 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().
  • 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 requis.
  • Configuration de TLS sur des instances locales.
  • Vérification des tentatives d'accès non autorisées et examen des journaux d'audit.

Module 6 : Réplication et haute disponibilité (6h)

Contenu :

  • Concepts de réplication : Primaire, Secondaire, oplog.
  • Configuration de la réplica set : initiation, appartenance, arbitrage.
  • Surveillance de l'état et des élections.
  • Maintenance : ajout/suppression de membres, réattribution des priorités.

Pratique :

  • Déploiement d'une réplica set à trois nœuds (locale ou sur machines virtuelles).
  • 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éplicas.

Module 7 : Partitionnement et évolutivité horizontale (6h)

Contenu :

  • Concepts de partitionnement : clé de partitionnement, serveurs de configuration, routeur mongos.
  • Sélection de la clé de partitionnement 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 partitionné simple.
  • Insertion de données à grande échelle et observation de la distribution.
  • Introduction de modifications de la clé de partitionnement et compréhension des limites.

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 réplica sets et les clusters partitionnés.
  • Utilisation de base de Cloud Manager/Ops Manager pour la sauvegarde.
  • Planification de la reprise après sinistre (DR) : RTO, RPO.

Pratique :

  • Réalisation de sauvegardes et restaurations sur une base de test.
  • Simulation d'une défaillance et récupération à partir d'une sauvegarde.
  • Conception d'un plan de reprise après sinistre 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.
  • 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 à jour et bonnes pratiques (4h)

Contenu :

  • Stratégies de mise à niveau pour les réplica sets et les clusters partitionnés.
  • Nettoyage des données, compactage, 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.
  • Élaboration d'une liste de contrôle de maintenance périodique.

Résumé et prochaines étapes

Pré requis

  • Une compréhension des concepts généraux des bases de données et des structures de données.
  • Une familiarité avec l'utilisation de la ligne de commande sous Linux.
  • 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 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.
 48 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires