Examens corriges

Travaux Pratiques MongoDB : Interrogation, Indexation et Map/Reduce

Présentation du document de travaux pratiques

Ce document de travaux pratiques, rédigé par Nicolas Travers pour le CNAM Paris, propose une série d'exercices pratiques consacrés à l'interaction avec une base de données non relationnelle orientée documents, MongoDB. Structuré en dix pages, le support guide les étudiants dans la manipulation d'un jeu de données réel issu du projet tourPedia, centré sur la ville de Paris. L'objectif est d'explorer les différentes facettes de l'utilisation de MongoDB, allant des requêtes d'interrogation de base jusqu'à des concepts plus avancés tels que l'indexation géospatiale et le traitement par pipeline d'agrégation ou de type Map/Reduce.

Structure et grands chapitres du sujet

Le contenu s'articule autour de quatre chapitres principaux qui couvrent progressivement les opérations indispensables à la gestion et à l'exploitation d'une base MongoDB. Chaque section aborde un aspect particulier du langage de requête et des fonctionnalités du SGBD.

Interrogation simple et filtrage

Le premier chapitre plonge directement l'étudiant dans l'importation de fichiers de données et la prise en main d'une collection nommée paris. Les exercices demandent de formuler des requêtes de type find pour extraire des informations précises selon divers critères. On y aborde le filtrage sur des tableaux imbriqués, l'utilisation d'opérateurs spécifiques pour les listes, la recherche textuelle, ainsi que l'utilisation de requêtes distinctes. Une part importante est également dédiée à l'API de requêtes d'agrégation (aggregate) pour manipuler, projeter, trier et regrouper les données.

Mises à jour et modifications de documents

Le deuxième chapitre aborde la persistance et la modification des données. Les participants apprennent à insérer manuellement des documents structurés, à réaliser des mises à jour ciblées à l'aide d'opérateurs de modification, et à supprimer des éléments de la collection. Des fonctions itératives en JavaScript sont également mises en œuvre pour parcourir les documents, calculer de nouvelles propriétés, les sauvegarder, puis vérifier l'impact des modifications au moyen de pipelines d'agrégation.

Indexation et optimisation des performances

Le troisième chapitre se focalise sur l'optimisation des performances d'accès aux données grâce à l'indexation. Les étudiants apprennent à analyser les plans d'exécution des requêtes à l'aide de la méthode d'explication d'exécution pour comparer les parcours intégraux de collection et l'utilisation d'index scalaires. Le document introduit également l'indexation géospatiale en deux dimensions via 2DSphere, permettant d'effectuer des recherches de proximité géographique et de manipuler des polygones. Enfin, l'opérateur de jointure externe $lookup est présenté pour relier la collection principale à une collection secondaire de commentaires.

Paradigme Map/Reduce

Le dernier chapitre explore le traitement distribué et l'analyse de données à travers l'écriture de fonctions de type Map et Reduce. Les exercices proposés amènent à concevoir des fonctions d'émission de clés et de valeurs, suivies d'opérations de réduction pour agréger, compter ou calculer des moyennes statistiques sur l'ensemble ou sur des sous-ensembles ciblés du jeu de données.

Modalités d'utilisation pour les étudiants

Ce support de travaux pratiques s'adresse aux étudiants en informatique suivant les enseignements du CNAM à Paris. Il est conçu pour être réalisé de manière interactive, en manipulant directement un client de gestion de base de données tel que RoboMongo ou un interpréteur compatible. La progression pédagogique permet d'alterner entre l'écriture de requêtes unitaires et l'analyse des résultats obtenus, favorisant ainsi la compréhension des mécanismes internes du SGBD.

Questions fréquentes

Quel est le jeu de données utilisé dans ces travaux pratiques ?

Les exercices exploitent le jeu de données tourPedia, qui regroupe des informations sur différents lieux parisiens répartis en plusieurs catégories telles que les points d'intérêts, les restaurants, les logements et les attractions, accompagnés de commentaires et de notes d'utilisateurs.

Quelles versions ou fonctionnalités spécifiques de MongoDB sont abordées ?

Le document aborde l'analyse des plans d'exécution introduite à partir de la version 2.6, l'utilisation d'index géospatiaux 2DSphere, ainsi que l'opérateur de jointure $lookup disponible depuis la version 3.2 de MongoDB.

Comment les performances des requêtes sont-elles évaluées ?

L'évaluation des performances passe par l'utilisation de la méthode d'explication pour observer la différence entre un parcours intégral de collection et l'utilisation d'index, ainsi que par l'analyse du nombre d'éléments traités en entrée lors de l'exécution de requêtes d'agrégation ou de fonctions Map/Reduce.





Télécharger Travaux Pratiques MongoDB : Interrogation, Indexation et Map/Reduce pdf