-
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
- Travaux pratiques :
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 .
- Travaux pratiques :
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 »
- Travaux pratiques :
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
- Travaux pratiques :
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 :
Qualité
Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires.
Avis et témoignage
Programme mis à jour le
4/5
/ MongoDB pour développeur
Contenu et sujet intéressants et de bonnes explications
Le 16-04-2019
par Victoria Lemaire
- ARTLY PRODUCTION
4/5
/ MongoDB pour développeur
Formation concrète et conseils de qualité
Le 16-04-2019
par Audrey Ceyrat
- ARTLY PRODUCTION
5/5
/ MongoDB pour développeur
Bonne mise en pratique et étude de cas concrète. Cela a très bien répondu à mes attentes.
Le 16-04-2019
par Takeshi Daveau
- ARTLY PRODUCTION