MongoDB

MongoDB, vue d’ensemble

Objectifs de la formation

  • Vue d'ensemble de MongoDB
    • Introduction au NoSQL
    • Connexion et utilisation de MongoDB
    • Modélisation et indexation
    • Aggregation
    • MongoDB vs MongoDB Atlas
    • Gestion des drivers
    • Introduction à la réplication et au Sharding


Programme de la formation

Introduction à MongoDB

  • NoSQL : solutions et caractéristiques
  • Introduction au SGBD NoSQL MongoDB
  • La modélisation sous MongoDB
  • Les différents formats utilisés par MongoDB : JSON, BSON, Extended JSON v1/v2
  • Installation de MongoDB (sur un poste de dev)
  • Les outils MongoDB

Connexion et utilisation de MongoDB

  • Utilisation du shell « mongosh » et premières comandes
  • Les bases, les collections (dont timeseries et clustered), les documents et les espaces de noms
  • Manipulation des objets et données : les opérations CRUD (requêtes simples)
  • Ecrire des scripts pour le shell Mongo

Modélisation et indexation

  • Le schéma design : réflexion sur la modélisation à utiliser
  • L’indexation sous MongoDB
  • L’optimisation des requêtes et le profiling
  • L’analyse des plans d’exécution : explain
  • Fonctionnement de MongoDB : transaction, isolation, verrou…
  • Gestion des performances sous MongoDB

Gestion des performances et diagnostic

  • Les logs MongoDB
  • Monitoring sous MongoDB : mongostat, mongotop

Extension de MongoDB

  • Données géographiques et requêtes associées
  • Stockage de fichiers binaires avec GridFS

L’Aggregation Framework

  • Introduction
  • Les fonctions d'agrégation simple
  • Le pipeline d'agrégation
    • Principe du pipeline d’agrégation
    • Parallèle entre SQL et pipeline d’agrégation
    • Étude des différentes étapes du pipeline (($match, $project, $replaceRoot, $sort, $skip, $limit, $geoNear, $group, $bucket, $bucketAuto, $setWindowFields, $unwind, $lookup, $graphLookup, $facet, $unionWith, $count, $out, $merge)
    • Étude des différentes expressions d’accumulation ($count, $sum, $min, $max, $percentile, $median, $first, $last, $bottom, $top, $push, $addToSet, $mergeObject)
    • Étude des autres opérateurs (arithmétiques, trigonométriques, tableau, bits, booléens, comparaisons, conditions, dates, ensembles, chaînes de caractères)

Fonctionnalités spécifiques de MongoDB Atlas

  • Atlas Search
  • Atlas Vector Search
  • Atlas Stream Processing

Gestion des drivers

  • Les drivers disponibles pour MongoDB.
  • L’API de développement Java, PHP, Python, Ruby
  • Les instructions CRUD et d’agrégation en Java, Python, PHP

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
    • Implications sur le développement : Read Preference, Consistance causale, ReadConcern, WriteConcern, RetryWrites
  • Sharding
    • Introduction
    • Le sharding avec MongoDB
    • Principes de mise en place (index et clés de shards)
    • La répartition manuelle des données
Please login to get access to the quiz
MongoDB, mise en œuvre et administration (Prev Lesson)
(Next Lesson) MongoDB, prise en main et développement pour développeurs C#
Back to MongoDB
Public

Cette formation s'adresse à toutes personnes ayant à exploiter MongoDB ou voulant une première approche de cette base de données

Pré-requis

Connaissances d'un langage de programmation. Connaissances de base de l'administration en ligne de commande. Connaissance souhaitable du langage Python ou Java.