MongoDB

MongoDB, prise en main et développement pour développeurs C#

Objectifs de la formation

  • Évaluer les avantages et les inconvénients inhérents aux technologies NoSQL
  • Identifier les différences entre SGBD Relationnel et MongoDB
  • Configurer le SGBD MongoDB
  • Installation du driver MongoDB pour .NET
  • Manipuler les objets et les données dans MongoDB
  • Implémenter une application sous MongoDB
  • Créer des requêtes avec le pipeline d’agrégation


Programme de la formation

Introduction à MongoDB

  • Bref historique des bases de données et de leurs modèles
  • L’apparition du mouvement NoSQL
  • Bref aperçu des types de bases NoSQL
  • Introduction au SGBD MongoDB
  • Différences entre les bases de données relationnelles et MongoDB
    • Distribution maitre-esclave, cohérence finale
    • Transaction et réplication asynchrone. Failover.
    • Limite du modèle relationnel.
    • Structuration forte versus structuration souple des données
    • Des qualités ACID aux qualités BASE, théorème CAP et PACELC.
    • La centralité des données
  • La modélisation sous MongoDB
  • Les différents formats utilisés par MongoDB : JSON, BSON
  • Principes d’installation
  • Les outils MongoDB

Travaux pratiques

Installation de MongoDB sur son poste de développement, intégration de la base de données d’exemple

Connexion et utilisation de MongoDB

  • Utilisation du shell Mongo
  • Les bases, les collections, les documents et les espaces de noms
  • Manipulation des objets et données : les opérations CRUD via le shell
  • Le fichier .mongoshrc.js

Travaux pratiques

Utilisation du shell Mongosh (connexion, lister les bases et collections), requêtes CRUD via le shell, personnaliser le prompt via le fichier .mongoshrc.js

Le driver C#

  • Composantes et compatibilité de versions
  • Connexion aux serveurs MongoDB et choix d’une base de données
  • Les instructions CRUD via le driver en utilisant LINQ
  • Intégration de MongoDB dans l’ORM Entity Framework, utilisation et limitations

Travaux pratiques

Créer un projet dans VS code et installation du driver et du provider pour l’Entity Framework, requêtes CRUD via le driver en utilisant LINQ, utilisation de l’Entity Framework

Modélisation et indexation

  • Le schéma design : réflexion sur la modélisation à utiliser
  • La validation de document
  • L’indexation sous MongoDB : types et propriétés d’index, wildcard, requêtes couvertes et intersection d’index
  • L’optimisation des requêtes et le profiling 
  • L’analyse des plans d’exécution
  • Transactions et verrous

Travaux pratiques

Conception d’un modèle de données MongoDB et des index associés pour un cas pratique, mise en place d’index sur la base d’exemple et analyse des performances et des plans d’execution avec le profiler et la fonction explain

Introduction à la réplication et au Sharding

  • Réplication
    • Introduction
    • La réplication maître-esclave
    • Fonctionnement de la bascule automatique du nœud maître
    • Membres secondaires particuliers
    • Principes de mise en place
    • Notions liées au développement : ReadPreference, Consistance causale, ReadConcern, WriteConcern, Flux de changement
  • Sharding
    • Introduction
    • Le sharding avec MongoDB
    • Principes de mise en place et le choix des clés de shard
    • La répartition manuelle des données : ShardTag, TagRange

Requêtes évoluées sous MongoDB

  • Les requêtes géo-spatiales (optionnel)
  • L’Aggregation Framework
    • Les fonctions d’agrégation simple
    • Le pipeline d’agrégation
      • Principes
      • Étapes simples : $match, $project, $sort, $skip, $limit
      • Étapes de groupage : $group, $bucket, $bucketAuto, …
      • Les expression d’accumulation : $count, $sum, $avg, $max, $min, $first, $last, $top, $bottom, …
      • Les étapes de rapprochement de document : $lookup, $graphlookup
      • Les étapes d’enregistrement du résultat : $out, $merge

Travaux pratiques

Requêtes géo-spaciales (optionnel), requêtes avec le pipeline d’agrégation et mise en parallèle avec le SQL

MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
MongoDB, vue d’ensemble (Prev Lesson)
Back to MongoDB
Public

Toute personne ayant à développer sous MongoDB.

Pré-requis

Connaissances de base des architectures techniques et du management SI. Connaissances en bases de données. Connaissance de C#

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.