loader image

Gate Training

logo-png
Bases de données

Formation MongoDB pour développeur

3 Jours

Objectifs de la formation MongoDB développeur

MongoDB est une base NoSQL permettant de gérer un gros volume d’informations (« 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.

Concrètement à l’issue de la formation MongoDB Développement vous serez capable de :

  • 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)
  • Accéder aux données de MongoDB depuis des programmes tiers (PHP, NodeJs, Ruby, Python, etc.)
  • Mettre en œuvre un cycle complet en Java de manipulation des données
  • Savoir optimiser vos requêtes grâce aux solutions proposées par MongoDB (index, sharding, logs, monitoring, etc.).

À qui s’adresse cette formation ?

Public :

Cette formation s’adresse aux développeurs PHP ou Python.

 

Prérequis :

Afin de profiter pleinement de cette formation il est nécessaire que les participants aient des 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).

 

Contenu du cours MongoDB développeur

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
Installation 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écial
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
– Écritures 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

Travaux Pratiques

Les travaux pratiques représentent plus de 50% du temps de formation.
La machine virtuelle sur laquelle vous allez mettre en œuvre les différents exercices vous est offerte avec son media de stockage afin que vous puissiez prolonger vos tests de développement sur un jeu de données et un environnement qui vous seront devenus familiers.

Réf:

0016

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible

Pas de sessions disponibles