Formation MongoDB Développeurs
MongoDB est un système de gestion de base de données NoSQL open source. Cela signifie qu'il ne suit pas le modèle de base de données relationnelle traditionnel basé sur des tables et des relations, mais plutôt un modèle de données basé sur des documents. Dans MongoDB, les données sont stockées dans des documents qui ressemblent à des objets JSON (JavaScript Object Notation). Chaque document peut avoir des champs différents et est stocké dans une collection, qui est similaire à une table dans une base de données relationnelle. MongoDB est souvent utilisé pour stocker des données structurées ou semi-structurées, telles que des données de log, des données de réseau social et des données de suivi d'événements. Il est également souvent utilisé dans les applications web en raison de sa flexibilité et de sa capacité à traiter de grandes quantités de données à haute vitesse. MongoDB est connu pour sa scalabilité et sa flexibilité, ce qui en fait un choix populaire pour les grandes entreprises et les applications de données à haute intensité. Cependant, il est important de noter qu'il peut y avoir des limitations en termes de relations entre les documents et que le modèle de données basé sur des documents peut être difficile à comprendre pour ceux qui sont habitués aux bases de données relationnelles.
Objectifs pédagogiques
- Installer et configurer MongoDB sur son poste de développement
- Manipuler les données dans MongoDB
- Faire des calculs complexes d’agrégation de données
- Modéliser ses données pour un stockage et une interrogation optimale dans MongoDB
- Améliorer les performances des requêtes avec les index et autres outils de MongoDB
- Développer une application faisant appel à MongoDB
Pré-requis
- Connaissance des principes des bases de données
- Familiarité avec la ligne de commande
- Bonne connaissance dans un langage de programmation
Public
- Développeurs
- Chefs de projets
Programme
Jour 1
Introduction à MongoDB
- Histoire des bases de données
- Apparition du mouvement NoSQL et des différents types de bases de données NoSQL
- Présentation de MongoDB
- Cas d’utilisation de MongoDB
Installation
- Plateformes supportées
- Installation et lancement sous Linux et Windows
- Lancement via des images Docker
- Présentation des outils disponibles après l’installation
La structure des données sous MongoDB
- Bases de données, collections, documents et espaces de nom
- Rappels sur le format JSON
- Le format binaire d’échange et de stockage BSON
- Types de données gérées
- Modéliser ses données pour MongoDB
- Cas de séries temporelles
Le développement d’application
- Panorama des drivers disponibles
- Récupération et mise en œuvre des drivers les plus utilisés
- Premier aperçu
Jour 2
Les requêtes CRUD via les shells et les drivers MongoDB
- Insertion de données
- Rechercher des documents via des filtres
- Préciser les champs des documents à retourner via la projection
- Trier les résultats
- Utilisation des curseurs
- Mise à jour de documents
- Suppression de documents
- Mise en place de règles de validation de document
La réplication des données
- Introduction
- La réplication primaire-secondaire
- Bascule automatique du nœud primaire en cas d’incident
- Membres secondaires particuliers et implications sur le développement
- Principe de mise en place
Le partitionnement (sharding) de données
- Introduction
- Le sharding avec MongoDB
- Principe de mise en place
- La répartition manuelle des données et implications sur le développement
Avoir des requêtes performantes
- Les transactions, l’atomicité et les verrous
- Ecriture par lot
- Indexation des données : principes et stratégies
- Le monitoring des requêtes : outils et analyse des logs
Jour 3
Les requêtes géospatiales
- Norme GeoJSON
- Les index géospatiaux
- Les opérateurs de recherche géospatiaux
Stocker des fichiers dans MongoDB avec la méthodologie GridFS
- Principes et utilité
- Mise en œuvre via les outils et les drivers
Le pipeline d’agrégation
- Principes
- Les différentes étapes
- Les expressions d’accumulation
- Les autres opérateurs
- Optimisations et limites
La fonction MapReduce
- Principes de fonctionnement
- Règles et fonctionnement des fonctions map, reduce et finalize
- Utilisations initiales et incrémentales
- Performance et limites de la fonction MapReduce
Méthodes mobilisées
- Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
- Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
- Un support de cours en version numérique sera remis à chaque participant
Modalités d’évaluation
- Questions orales ou écrites (QCM)
- Exercices pratiques
- Auto-positionnement en amont et aval de la formation