loader image

Gate Training

logo-png
Bases de données

Formation Mongo DB Développement Avancé

2 Jours

Objectifs de la formation MongoDB avancé

Cette formation est axée sur les fonctionnalités les plus avancées du développement MongoDB, en particulier la recherche en mode « full text » ou encore les fonctionnalités de recherche basées sur des coordonnées ou des formes géographiques.
Lors de ce cours les fonctions d’agrégation et de MapReduce permettant d’extraire ou de calculer des données pertinentes dans un contexte « BigData » seront aussi abordées en profondeur. Ces deux approches seront mises en perspective afin de faire ressortir leurs avantages et contraintes respectives en termes de possibilités et de performances. Enfin un aperçu des principaux frameworks Java de mapping objets-documents clôturera la formation.

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

  • Mettre en place une recherche en mode texte efficace de vos documents en fonction de leurs langues
  • Stocker dans vos documents sous le bon format toutes vos informations géographiques
  • Mettre en place les index adéquats pour pouvoir exploiter ensuite ces informations géographiques dans vos recherches
  • Développer des recherches se basant sur les fonctions d’agrégation et de MapReduce pour vos données « BigData »
  • Savoir quand utiliser l’une ou l’autre de ces méthodes pour obtenir les meilleures performances.

À qui s’adresse cette formation ?

Public :

Cette formation s’adresse aux développeurs PHP ou Pyhton ayant déjà des connaissances en développement avec MongoDB.

 

Prérequis :

Afin de profiter pleinement de ce cours,  il est nécessaire de :

  • Savoir installer MongoDB sur son poste de développement
  • Maîtriser les bases du développement avec MongoDB via le shell et le driver Java
  • Connaissance des principes de l’indexation sous MongoDB.

 

Contenu du cours MongoDB avancé

La recherche textuelle

Présentation
Les index de type « text » : support de la recherche textuelle
L’opérateur « $text ». Recherche de mots clés, phrases et exclusions de mots
La composante linguistique. Spécifier la langue utilisée par collection ou par document
Récupération de la pertinence. Tri par pertinence
La recherche textuelle en Java

Travaux Pratiques :

Création d’index « text ». Recherches textuelles via le shell et en Java

La recherche géo-spatiale

Présentation
Stocker ses données géographiques en forme « legacy » ou GeoJSON (Point)
Les index de type « 2d » et « 2dsphere » : choix et répercussions
Les opérateurs de recherche ($near, $nearSphere, $geoWithin, $geoIntersects)
La recherche géo-spatiale en Java

Travaux Pratiques : 

Création d’index « 2d » et « 2dsphere » et mise en place de recherches géo-spatiales diverses via le shell et en Java

Présentation de l’Aggregation Framework

Introduction : Le pipeline d’agrégation et la fonction MapReduce
Les fonctions simples « count » et « distinct »

Le pipeline d’agrégation

Présentation
Les différentes étapes du pipeline ($match, $project, $sort, $group, $unwind, $lookup, $graphLookup, $facet, $bucket, $geonear, etc.)
Les expressions d’accumulation ($sum, $avg, $stdDev, $max, $min, $push, $addToSet, etc.)
Les autres opérateurs (comparaison, booléen, arithmétique, type, branchement conditionnel, manipulation de tableau, chaines de caractères, date, etc.)
L’optimisation du pipeline d’agrégation
Les limites du pipeline d’agrégation
Le pipeline d’agrégation et le sharding
Mise en œuvre du pipeline d’agrégation en Java

Travaux Pratiques :

Exercices pratiques divers sur une base d’exemple concrète

La fonction MapReduce

Présentation et intérêt de la fonction MapReduce
Le fonctionnement : fonctions map, reduce et finalize
Utilisation initiale et incrémentale. Impact sur les performances
Les limites de la fonction MapReduce
Mise en œuvre de la fonction MapReduce en Java

Travaux Pratiques :

Exercices pratiques divers sur une base d’exemple concrète
Comparaison des performances des approches Pipeline et MapReduce pour répondre à un même problème

Présentation des frameworks de mapping objets-documents en Java

Morphia
Hibernate OGM
Spring Data MongoDB
Jongo

Réf:

0017

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible

Pas de sessions disponibles