MongoDB pour développeur

Comprendre le spécificités de Mongo DB

  • Filière :

    Gestion de données

  • Sous-filière :

    Base de données

  • Référence

    BMDB

  • Durée

    3 jours (21 h)

  • Prix par personne HT

    1 650 € HT

Description

MongoDB est une base NoSQL permettant de gérer un gros volume d’information (« humongous » = énorme), structurée ou non, avec des performances qui en ont fait un standard reconnu du marché.
Toutes les fonctionnalités attendues d’une base de données sont présentes (langage complet de requêtes, index, réplication, cluster, API diverses, etc.).
Cette formation MongoDB est axée sur le développement MongoDB et non l’administration (réf. BMDB).
Cependant il est nécessaire de comprendre les concepts et le fonctionnement général de MongoDB afin d’être préparé à l’apprentissage de la programmation qui présente des différences nettes par rapport au SQL traditionnel de par le format de stockage des données dans une base NoSQL.

Objectifs pédagogiques

  • Comprendre les spécificités d’une base NoSQL par rapport à un SGBDR
  •  Savoir installer MongoDB et utiliser les outils du développeur
  • Comprendre la structure des données et le vocabulaire associé dans MongoDB
  • Savoir manipuler les données au format JSON ou BSON
  • Savoir modéliser les données dans une base NoSQL
  • Améliorer les performances avec les index
  • Comprendre les concepts avancés de stockage (réplication, sharding, GridFS)

Public cible

Développeurs PHP ou Pyhton

Pré-requis

Connaissances des principes des bases de données, de la ligne de commande ainsi que des connaissances du langage Java (pour la partie Java seulement).

Modalités d’évaluation

L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.

Méthodes pédagogiques

40 % théorie / 60 % pratique

Programme de la formation

Philosophie de MongoDB 

  • La domination historique des bases de données relationnelles
  • L’apparition des bases NoSQL. Les différents types de bases NoSQL
  • Présentation de MongoDB, son positionnement, ses avantages
  • Exemples d’utilisation de MongoDB

Installation 

  • Plateformes supportées
  • Installations sous Linux, lancement du serveur
  • Installation sous Windows, configuration, création d’un service, lancement
  • Présentation des outils MongoDB et de l’invite de commande (shell)
    • Travaux pratiques :
      • Installer MongoDB sur son poste de développement, test de connexion

La structure des données sous MongoDB 

  • La structure: base de données, collections, documents, espace de noms…
  • Les formats JSON et BSON. Types de données élémentaires et spéciaux
  • La modélisation de données. Les différents scénarios de schéma
    • Travaux pratiques :
      • Première exploration du shell
      • Modélisation d’un cas pratique de données .

La manipulation de données via le shell MongoDB 

  • Insertion d’un ou plusieurs documents
  • Récupérer des documents, filtres de recherches (find(), findOne(), $where, $in, $not, $gt, $lt, $ne, etc.)
  • Projections. Tris. Curseurs
  • Mettre à jour ou remplacer un ou plusieurs documents ($set, $inc, tableau, …)
  • Supprimer un ou plusieurs documents
  • La validation de documents
  • Travaux pratiques :
  • Manipulation de données via le shell
  • Mise en place de règles de validation
  • Le stockage de fichiers lourds avec GridFS
  • Présentation : Quand l’utiliser ?
  • Collections et préfixes
  • L’utilitaire « mongofiles »
    • Travaux pratiques :
      • Stockage de fichier via l’utilitaire « mongofiles »

Accéder à MongoDB depuis vos propres programmes (API)

  • Les drivers fournis par MongoDB
  • Aperçu des drivers PHP, NodeJS, Ruby, Python
  • Focus sur le driver Java :
  • – Connexion aux bases (isolées, ReplicaSet, clusters de shard
  • – Authentification
  • – Sélection de la base et de la collection
  • – Insertion, récupération, mise à jour et suppression de documents
  • – Ecritures par lot
  • – GridFS
    • Travaux pratiques :
      • Connexion, manipulation des documents, création d’index, GridFS depuis un programme Java

Performance des requêtes MongoDB 

  • Fonctionnement d’une transaction dans MongoDB (atomicité, verrous)
  • Les écritures par lot
  • L’indexation des données (types, propriétés d’index)
  • Couverture de requête et intersection d’index
  • Stratégies d’indexation et explication de requêtes
  • La préférence de lecture et la confirmation des écritures dans un ReplicaSet
  • Le sharding
  • Le profiling des requêtes lentes
  • Les outils de monitoring
  • Retrouver les infos pertinentes dans les logs
    • Travaux pratiques :
      • Observation du comportement de la base lors des manipulations précédentes (exécution de requêtes lentes, diagnostic, tuning)
      • Mise en place d’index. Analyse du déroulement des requêtes et optimisation

Qualité

Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires.

pictogramme commentaire Avis et témoignage

Voir tous les avis

Programme mis à jour le