SlideShare une entreprise Scribd logo
{ name : ‘MongoDB’, type : ‘NoSQL’ }
{
speakers : [‘Oussama MAHJOUB, ‘Oussama ZOGHLAMI ],
date : ‘16/12/2014’
}
SOMMAIRE
❖ Partie 1
● MongoDB
● Data Modeling
● Concepts Clés
❖ Partie 2
● Retour d’expérience
MONGODB : CONTEXTE
{ number : 1 }
MONGODB : DÉFINITION
MongoDB est une base de données :
{ number : 2 }
● Open source
● Non relationnelle
● Orientée documents
● Répartie
JSON Style :
{
_id : "10001",
loc : [-73.99670500000001,40.74838],
pop : 18913,
state : "NY",
city : {
name : "NEW YORK",
description : “Cool description goes here !”
}
}
MONGODB : DATA MODELING : DOCUMENT
{ number : 3 }
Unique Document ID
Key
Value
Sub Document
MONGODB : DATA MODELING : COLLECTION
Scheamaless
{ number : 4 }
MONGODB : DATA MODELING : CRUD
❖ Count :
collection.count( query )
❖ Find:
collection.find( query , fields )
❖ Insert :
collection.insert( document )
❖ Update :
collection.update( query, update, upsert, multi )
❖ Delete :
collection.remove( query )
{ number : 5 }
MONGODB : DATA MODELING : INDEXES
{ number : 6 }
{
_id : "10001",
area : 5
pop : 18913,
state : "NY",
loc : [-73.99670500000001,40.74838],
city : {
name : "NEW YORK",
description : “Cool description goes here !”
}
}
● Single Field Index
● Compound Index
● Multikey Index
● Geospatial Index
● Text Index
CONCEPTS CLÉS
❖ Journaling
➢ Recouvrement après une panne
❖ ReplicaSet
➢ Réplication + Disponibilité
❖ Sharding
➢ Scaling horizonal + Load balancing
{ number : 7 }
CONCEPTS CLÉS : JOURNALING : PROBLÉMATIQUE
{ number : 8 }
CONCEPTS CLÉS : JOURNALING : PROBLÉMATIQUE
{ number : 8 }
Data
Perdue
CONCEPTS CLÉS : JOURNALING : SANS JOURNAL
{ number : 9 }
CONCEPTS CLÉS : JOURNALING : AVEC JOURNAL
{ number : 10 }
CONCEPTS CLÉS : JOURNALING
{ number : 11 }
Replay
CONCEPTS CLÉS : JOURNALING : CONCLUSION
{ number : 12 }
● Recouvrement
Automatique
● Impacte les performances
d'écriture
● Activation / Désactivation
au choix
CONCEPTS CLÉS : REPLICASET: PROBLÉMATIQUE
{ number : 13 }
CONCEPTS CLÉS : REPLICASET: PROBLÉMATIQUE
{ number : 14 }
Serveur Indisponible
CONCEPTS CLÉS : REPLICASET : ARCHITECTURE
{ number : 15 }
CONCEPTS CLÉS : REPLICASET : ELECTION
{ number : 16 }
CONCEPTS CLÉS : REPLICASET : MESURES
Replication Factor = Nombre de fois ou la donnée est répliquée dans le
replicaset
Fault tolerence Factor = Nombre de noeuds que je peux perdre dans le
replicaset sans impacter la réussite de l'élection
{ number : 17 }
CONCEPTS CLÉS : REPLICASET : EXERCICE
{ number : 18 }
Replication Factor ?
7
Les arbitres ne répliquent pas
Fault tolerence Factor ?
4
Majority = 5 ; N = 9
FTL = 9 - 5 = 4
N = 9
CONCEPTS CLÉS : REPLICASET : REPLICATION
{ number : 19 }
Asynchronous
Replication
oplog = log d’opérations
ReplayReplay
Comment se fait la
réplication ?
CONCEPTS CLÉS : REPLICASET : OPLOG
{ number : 20 }
Oplog :
● Structure de donnée circulaire
● Sa taille définit le nombre max d’opérations que les secondaires
peuvent rattraper
CONCEPTS CLÉS : REPLICASET : EXERCICE
{ number : 21 }
Oplog size = 120 opérations
Moyenne d'écriture = 2 opérations / minute
Durée max de l’opération de réparation
pour garantir une cohérence des
données au redémarrage du serveur
secondaire ?
60 min = 120 / 2
CONCEPTS CLÉS : REPLICASET : WRITE CONCERN
Niveau de garantie sur l’écriture des données :
● Unaknowledged : Aucune garantie
● Primary : Le noeud primaire a notifié l'écriture
● Majority : La majorité des noeuds ont notifié l'écriture
{ number : 22 }
CONCEPTS CLÉS : REPLICASET : READ PREFERENCES
Configuration pour la lecture des données :
● Primary: Toujours lire du noeud primaire
● Secondary : Autoriser la lecture d’un noeud secondaire
● Nearest : Lire du noeud le plus proche
{ number : 23 }
CONCEPTS CLÉS : REPLICASET : CONCLUSION
● Basculement automatique par vote ( natif )
● Redondance des données
● Haute disponibilité
{ number : 24 }
CONCEPTS CLÉS : SHARDING : PROBLÉMATIQUE
{ number : 25 }
CPU limit
I/O limit
Storage limit
Solution : Vertical scaling
● + CPU
● + RAM
● + Capacité Disque
CONCEPTS CLÉS : SHARDING : ARCHITECTURE
{ number : 26 }
CONCEPTS CLÉS : SHARDING : DATA DISTRIBUTION
● Collection distribution level
● Shard Key = clé de
répartition
{ number : 27 }
collection :
{ x : 1 }
{ x : 100 }
{ x : -20 }
CONCEPTS CLÉS : SHARDING : SHARD KEY
{ number : 28 }
Considérations sur le choix de la clé :
● Existe dans touts les documents de la collection
● Utilisée dans la majorité des requêtes
● Divisible / Haute Cardinalité
● Écriture Aléatoire
CONCEPTS CLÉS : SHARDING : CONCLUSION
{ number : 29 }
Une architecture en sharding garantit :
● De hautes performances
● Une haute disponibilité
● Une mise à l'échelle automatique ( natif )
CONCEPTS CLÉS : RÉSUMÉ
Automatic Failover Automatic
Replication
Automatic Load
Balancing
Single Instance N N N
ReplicaSet Y Y N
Sharded Cluster Y Y Y
{ number : 30 }
RETOUR D’EXPÉRIENCE : CONTEXTE CLIENT / L’EXISTANT
{ number : 31 }
app WS Widget
Oracle
Batch
RETOUR D’EXPÉRIENCE : LE DÉFI ?
Générer les rapports depuis la base de données :
{ number : 32 }
● Contrainte : Ne pas retarder l’heure d’envoi.
● Réduire le temps du chargement au niveau du portail.
Accélérer l'accès aux données des diffusions :
Avec l’intégration de 400 000 données par jour :
Accélérer la sauvegarde des données lors de l’intégration
RETOUR D’EXPÉRIENCE : ARCHITECTURE GLOBALE DE LA SOLUTION MISE EN PLACE
{ number : 33 }
Fichiers d’entrée
Spring Batch
MongoDB
app WS
Widget Portail
Spring Data MongoDB
DAO
RETOUR D’EXPÉRIENCE : MONGODB
{ number : 34 }
● Tous les avantages cités précédemment (Clustering, Sharding,
ReplicatSet …)
● Modélisation basée sur la notion de Documents (JSON)
RETOUR D’EXPÉRIENCE : SPRING BATCH
{ number : 35 }
● Framework destiné aux applications Batch (lecture, traitement et stockage d’un grand volume
de données)
● Offre une interface d’administration des Batchs.
● Facilement intégrable avec d’autres framework Spring
● Offre des fonctionnalités avancées tel que la parallélisation des traitements
RETOUR D’EXPÉRIENCE : SPRING BATCH
RETOUR D’EXPÉRIENCE : SPRING DATA MONGODB
{ number : 36 }
● API Spring pour faciliter l’accès à des bases MongoDB
● Mapping Objet/Document basé sur les annotations.
● Offre un Repository pour les méthodes CRUD
● Facilite les requêtes
RETOUR D’EXPÉRIENCE : SPRING DATA MONGODB
{ number : 37 }
● Mapping Objet/Document basé sur les annotations.
RETOUR D’EXPÉRIENCE : SPRING DATA MONGO
{ number : 38 }
● Mapping Objet/Document basé sur les annotations.
Annotation Description
@Document Indique qu’il s’agit d’une collection.
@Id Spécifie l’identifiant de la collection.
@CompoundIndex Permet de rajouter un index sur la collection.
@Transient Permet d’exclure la persistance d’un attribut.
@Field Permet de spécifier le nom de l’attribut dans la base.
@PersistenceConstructor Constructeur utilisé lors de l’instantiation de l’objet à partir de la Base.
RETOUR D’EXPÉRIENCE : SPRING DATA MONGO
{ number : 39 }
● Repository pour les méthodes CRUD
RETOUR D’EXPÉRIENCE : SPRING DATA MONGO
{ number : 40 }
● Faciliter les requêtes : requêtes via les noms des méthodes
RETOUR D’EXPÉRIENCE : SPRING DATA MONGO
{ number : 41 }
● Faciliter les requêtes : requêtes via les noms des méthodes
RETOUR D’EXPÉRIENCE : SPRING DATA MONGO
{ number : 42 }
● Faciliter les requêtes : requêtes via @Query
RETOUR D’EXPÉRIENCE : SPRING DATA MONGO
{ number : 43 }
● Faciliter les requêtes : requêtes via MongoTemplate
RETOUR D’EXPÉRIENCE : BILAN
{ number : 49 }
Ancien POC
Intégration / Datasave des
données ≃ 11 Minutes ≃ 40 Secondes
Récupération des
données depuis le portail ≃ 30 Secondes ≃ 3 Secondes
CONCLUSION
{ number : 50 }
● En peu de temps, on a réalisé grand chose.
● Facilité de mise en place et de la prise en main.
● Amélioration en terme de performances garantie.
QUESTIONS ?
{ number : 51 }

Contenu connexe

PDF
BigData_Chp2: Hadoop & Map-Reduce
PPTX
introduction à MongoDB
PDF
Les BD NoSQL
PPTX
MongoDB.pptx
PDF
BigData_Chp3: Data Processing
PDF
BigData_Chp4: NOSQL
PDF
BigData_TP4 : Cassandra
PDF
Cours Big Data Chap5
BigData_Chp2: Hadoop & Map-Reduce
introduction à MongoDB
Les BD NoSQL
MongoDB.pptx
BigData_Chp3: Data Processing
BigData_Chp4: NOSQL
BigData_TP4 : Cassandra
Cours Big Data Chap5

Tendances (20)

PPTX
Hive ppt (1)
PPTX
Presentation cassandra
PDF
Chapitre 2 hadoop
PDF
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
PPTX
Les Base de Données NOSQL -Presentation -
PDF
Une introduction à HBase
PDF
Cours Big Data Chap4 - Spark
PDF
Devoir Final dans No Sql Base de donnée avec corrigé
PDF
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
PDF
Intro to HBase
PDF
Technologies pour le Big Data
PDF
Cours Big Data Chap6
PPTX
Les Base de Données NOSQL
PDF
BigData_Chp1: Introduction à la Big Data
PDF
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
PDF
Cours Big Data Chap2
PDF
BigData_TP1: Initiation à Hadoop et Map-Reduce
PPTX
Les modèles NoSQL
PPTX
Introduction to NoSQL Databases
PPTX
Introduction aux bases de données
Hive ppt (1)
Presentation cassandra
Chapitre 2 hadoop
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
Les Base de Données NOSQL -Presentation -
Une introduction à HBase
Cours Big Data Chap4 - Spark
Devoir Final dans No Sql Base de donnée avec corrigé
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Intro to HBase
Technologies pour le Big Data
Cours Big Data Chap6
Les Base de Données NOSQL
BigData_Chp1: Introduction à la Big Data
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours Big Data Chap2
BigData_TP1: Initiation à Hadoop et Map-Reduce
Les modèles NoSQL
Introduction to NoSQL Databases
Introduction aux bases de données
Publicité

Similaire à Mongo DB (20)

PPTX
noSQL
PDF
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
PPTX
mix-it 2011
PPTX
Retour aux fondamentaux : Penser en termes de documents
PDF
Introduction NoSql 201406 - lbroudoux
PDF
SSL 2011 : Présentation de 2 bases noSQL
PDF
Introduction NoSQL 201401 - Ensim
ODP
Base NoSql et Python
PPTX
Scalabilité de MongoDB
PPTX
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQL
PPT
Architectures réparties en environnement web
PDF
Modélisation de données pour MongoDB
PDF
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
PPTX
Les nouveautés de MongoDB 3.6
PPTX
MongoDB 3.6 Customer Deck pptx.pptx
PDF
Cas d'usage MongoDB chez Voyages-sncf.com
PPTX
Quand utiliser MongoDB … Et quand vous en passer…
PDF
Toutes les raisons d'adopter MongoDB
PPTX
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
KEY
L'avenir de LAMP
noSQL
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
mix-it 2011
Retour aux fondamentaux : Penser en termes de documents
Introduction NoSql 201406 - lbroudoux
SSL 2011 : Présentation de 2 bases noSQL
Introduction NoSQL 201401 - Ensim
Base NoSql et Python
Scalabilité de MongoDB
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQL
Architectures réparties en environnement web
Modélisation de données pour MongoDB
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
Les nouveautés de MongoDB 3.6
MongoDB 3.6 Customer Deck pptx.pptx
Cas d'usage MongoDB chez Voyages-sncf.com
Quand utiliser MongoDB … Et quand vous en passer…
Toutes les raisons d'adopter MongoDB
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
L'avenir de LAMP
Publicité

Dernier (7)

PDF
Tendances tech 2025 - SFEIR & WENVISION.pdf
PPTX
Presentation_Securite_Reseaux_Bac+2.pptx
PPTX
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
PDF
Modems expliqués- votre passerelle vers Internet.pdf
PDF
presentation_with_intro_compressee IEEE EPS France
PDF
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
PDF
FORMATION EN Programmation En Langage C.pdf
Tendances tech 2025 - SFEIR & WENVISION.pdf
Presentation_Securite_Reseaux_Bac+2.pptx
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
Modems expliqués- votre passerelle vers Internet.pdf
presentation_with_intro_compressee IEEE EPS France
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
FORMATION EN Programmation En Langage C.pdf

Mongo DB

  • 1. { name : ‘MongoDB’, type : ‘NoSQL’ } { speakers : [‘Oussama MAHJOUB, ‘Oussama ZOGHLAMI ], date : ‘16/12/2014’ }
  • 2. SOMMAIRE ❖ Partie 1 ● MongoDB ● Data Modeling ● Concepts Clés ❖ Partie 2 ● Retour d’expérience
  • 3. MONGODB : CONTEXTE { number : 1 }
  • 4. MONGODB : DÉFINITION MongoDB est une base de données : { number : 2 } ● Open source ● Non relationnelle ● Orientée documents ● Répartie
  • 5. JSON Style : { _id : "10001", loc : [-73.99670500000001,40.74838], pop : 18913, state : "NY", city : { name : "NEW YORK", description : “Cool description goes here !” } } MONGODB : DATA MODELING : DOCUMENT { number : 3 } Unique Document ID Key Value Sub Document
  • 6. MONGODB : DATA MODELING : COLLECTION Scheamaless { number : 4 }
  • 7. MONGODB : DATA MODELING : CRUD ❖ Count : collection.count( query ) ❖ Find: collection.find( query , fields ) ❖ Insert : collection.insert( document ) ❖ Update : collection.update( query, update, upsert, multi ) ❖ Delete : collection.remove( query ) { number : 5 }
  • 8. MONGODB : DATA MODELING : INDEXES { number : 6 } { _id : "10001", area : 5 pop : 18913, state : "NY", loc : [-73.99670500000001,40.74838], city : { name : "NEW YORK", description : “Cool description goes here !” } } ● Single Field Index ● Compound Index ● Multikey Index ● Geospatial Index ● Text Index
  • 9. CONCEPTS CLÉS ❖ Journaling ➢ Recouvrement après une panne ❖ ReplicaSet ➢ Réplication + Disponibilité ❖ Sharding ➢ Scaling horizonal + Load balancing { number : 7 }
  • 10. CONCEPTS CLÉS : JOURNALING : PROBLÉMATIQUE { number : 8 }
  • 11. CONCEPTS CLÉS : JOURNALING : PROBLÉMATIQUE { number : 8 } Data Perdue
  • 12. CONCEPTS CLÉS : JOURNALING : SANS JOURNAL { number : 9 }
  • 13. CONCEPTS CLÉS : JOURNALING : AVEC JOURNAL { number : 10 }
  • 14. CONCEPTS CLÉS : JOURNALING { number : 11 } Replay
  • 15. CONCEPTS CLÉS : JOURNALING : CONCLUSION { number : 12 } ● Recouvrement Automatique ● Impacte les performances d'écriture ● Activation / Désactivation au choix
  • 16. CONCEPTS CLÉS : REPLICASET: PROBLÉMATIQUE { number : 13 }
  • 17. CONCEPTS CLÉS : REPLICASET: PROBLÉMATIQUE { number : 14 } Serveur Indisponible
  • 18. CONCEPTS CLÉS : REPLICASET : ARCHITECTURE { number : 15 }
  • 19. CONCEPTS CLÉS : REPLICASET : ELECTION { number : 16 }
  • 20. CONCEPTS CLÉS : REPLICASET : MESURES Replication Factor = Nombre de fois ou la donnée est répliquée dans le replicaset Fault tolerence Factor = Nombre de noeuds que je peux perdre dans le replicaset sans impacter la réussite de l'élection { number : 17 }
  • 21. CONCEPTS CLÉS : REPLICASET : EXERCICE { number : 18 } Replication Factor ? 7 Les arbitres ne répliquent pas Fault tolerence Factor ? 4 Majority = 5 ; N = 9 FTL = 9 - 5 = 4 N = 9
  • 22. CONCEPTS CLÉS : REPLICASET : REPLICATION { number : 19 } Asynchronous Replication oplog = log d’opérations ReplayReplay Comment se fait la réplication ?
  • 23. CONCEPTS CLÉS : REPLICASET : OPLOG { number : 20 } Oplog : ● Structure de donnée circulaire ● Sa taille définit le nombre max d’opérations que les secondaires peuvent rattraper
  • 24. CONCEPTS CLÉS : REPLICASET : EXERCICE { number : 21 } Oplog size = 120 opérations Moyenne d'écriture = 2 opérations / minute Durée max de l’opération de réparation pour garantir une cohérence des données au redémarrage du serveur secondaire ? 60 min = 120 / 2
  • 25. CONCEPTS CLÉS : REPLICASET : WRITE CONCERN Niveau de garantie sur l’écriture des données : ● Unaknowledged : Aucune garantie ● Primary : Le noeud primaire a notifié l'écriture ● Majority : La majorité des noeuds ont notifié l'écriture { number : 22 }
  • 26. CONCEPTS CLÉS : REPLICASET : READ PREFERENCES Configuration pour la lecture des données : ● Primary: Toujours lire du noeud primaire ● Secondary : Autoriser la lecture d’un noeud secondaire ● Nearest : Lire du noeud le plus proche { number : 23 }
  • 27. CONCEPTS CLÉS : REPLICASET : CONCLUSION ● Basculement automatique par vote ( natif ) ● Redondance des données ● Haute disponibilité { number : 24 }
  • 28. CONCEPTS CLÉS : SHARDING : PROBLÉMATIQUE { number : 25 } CPU limit I/O limit Storage limit Solution : Vertical scaling ● + CPU ● + RAM ● + Capacité Disque
  • 29. CONCEPTS CLÉS : SHARDING : ARCHITECTURE { number : 26 }
  • 30. CONCEPTS CLÉS : SHARDING : DATA DISTRIBUTION ● Collection distribution level ● Shard Key = clé de répartition { number : 27 } collection : { x : 1 } { x : 100 } { x : -20 }
  • 31. CONCEPTS CLÉS : SHARDING : SHARD KEY { number : 28 } Considérations sur le choix de la clé : ● Existe dans touts les documents de la collection ● Utilisée dans la majorité des requêtes ● Divisible / Haute Cardinalité ● Écriture Aléatoire
  • 32. CONCEPTS CLÉS : SHARDING : CONCLUSION { number : 29 } Une architecture en sharding garantit : ● De hautes performances ● Une haute disponibilité ● Une mise à l'échelle automatique ( natif )
  • 33. CONCEPTS CLÉS : RÉSUMÉ Automatic Failover Automatic Replication Automatic Load Balancing Single Instance N N N ReplicaSet Y Y N Sharded Cluster Y Y Y { number : 30 }
  • 34. RETOUR D’EXPÉRIENCE : CONTEXTE CLIENT / L’EXISTANT { number : 31 } app WS Widget Oracle Batch
  • 35. RETOUR D’EXPÉRIENCE : LE DÉFI ? Générer les rapports depuis la base de données : { number : 32 } ● Contrainte : Ne pas retarder l’heure d’envoi. ● Réduire le temps du chargement au niveau du portail. Accélérer l'accès aux données des diffusions : Avec l’intégration de 400 000 données par jour : Accélérer la sauvegarde des données lors de l’intégration
  • 36. RETOUR D’EXPÉRIENCE : ARCHITECTURE GLOBALE DE LA SOLUTION MISE EN PLACE { number : 33 } Fichiers d’entrée Spring Batch MongoDB app WS Widget Portail Spring Data MongoDB DAO
  • 37. RETOUR D’EXPÉRIENCE : MONGODB { number : 34 } ● Tous les avantages cités précédemment (Clustering, Sharding, ReplicatSet …) ● Modélisation basée sur la notion de Documents (JSON)
  • 38. RETOUR D’EXPÉRIENCE : SPRING BATCH { number : 35 } ● Framework destiné aux applications Batch (lecture, traitement et stockage d’un grand volume de données) ● Offre une interface d’administration des Batchs. ● Facilement intégrable avec d’autres framework Spring ● Offre des fonctionnalités avancées tel que la parallélisation des traitements
  • 39. RETOUR D’EXPÉRIENCE : SPRING BATCH
  • 40. RETOUR D’EXPÉRIENCE : SPRING DATA MONGODB { number : 36 } ● API Spring pour faciliter l’accès à des bases MongoDB ● Mapping Objet/Document basé sur les annotations. ● Offre un Repository pour les méthodes CRUD ● Facilite les requêtes
  • 41. RETOUR D’EXPÉRIENCE : SPRING DATA MONGODB { number : 37 } ● Mapping Objet/Document basé sur les annotations.
  • 42. RETOUR D’EXPÉRIENCE : SPRING DATA MONGO { number : 38 } ● Mapping Objet/Document basé sur les annotations. Annotation Description @Document Indique qu’il s’agit d’une collection. @Id Spécifie l’identifiant de la collection. @CompoundIndex Permet de rajouter un index sur la collection. @Transient Permet d’exclure la persistance d’un attribut. @Field Permet de spécifier le nom de l’attribut dans la base. @PersistenceConstructor Constructeur utilisé lors de l’instantiation de l’objet à partir de la Base.
  • 43. RETOUR D’EXPÉRIENCE : SPRING DATA MONGO { number : 39 } ● Repository pour les méthodes CRUD
  • 44. RETOUR D’EXPÉRIENCE : SPRING DATA MONGO { number : 40 } ● Faciliter les requêtes : requêtes via les noms des méthodes
  • 45. RETOUR D’EXPÉRIENCE : SPRING DATA MONGO { number : 41 } ● Faciliter les requêtes : requêtes via les noms des méthodes
  • 46. RETOUR D’EXPÉRIENCE : SPRING DATA MONGO { number : 42 } ● Faciliter les requêtes : requêtes via @Query
  • 47. RETOUR D’EXPÉRIENCE : SPRING DATA MONGO { number : 43 } ● Faciliter les requêtes : requêtes via MongoTemplate
  • 48. RETOUR D’EXPÉRIENCE : BILAN { number : 49 } Ancien POC Intégration / Datasave des données ≃ 11 Minutes ≃ 40 Secondes Récupération des données depuis le portail ≃ 30 Secondes ≃ 3 Secondes
  • 49. CONCLUSION { number : 50 } ● En peu de temps, on a réalisé grand chose. ● Facilité de mise en place et de la prise en main. ● Amélioration en terme de performances garantie.