Formation MongoDB pour développeur
3 JoursObjectifs 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.
0016
600 Dt
Intermédiaire
Possible