SlideShare a Scribd company logo
1 of 51
supermarmite
              It’s cooking up in your neighborhood




Construire une application Géolocalisé avec mongoDB
Un réseau social de
proximité pour
rechercher et
partager vos petits
plats
faits maison !
Maintenant qu’on a l’idée,
  il faut la développer.
Mais surtout choisir
   son backend
Quel sont nos besoins ?
Gestion de requête géospatial
Gestion de la panne
Scalabilité horizontale
Aide au reporting
Evolution simplifiée et rapide de notre
     schéma de base de donnée
Gestion des fichiers avec scalabilité
           horizontale
Tout est déjà dans MongoDB

      DE BASE
Gestion de la géolocalisation
Définition
La géolocalisation ou géoréférencement est
un procédé permettant de positionner un objet
(une personne,...) sur un plan ou une carte à
l'aide de ses coordonnées géographiques.
                 source: Wikipedia ( http://fr.wikipedia.org/wiki/Geolocalisation )
Pour faire des requêtes de proximité
Il faut faire des requêtes Géospatiale
Comment faire avec MongoDB ?
Insertion des coordonnées GPS :

db.addresses.insert({loc:{lat: 40.739037, long: 73.992964}})


                   Récupérer par google map API
Création de l’index
pour requêter en géospatial 2D

     db.addresses.ensureIndex({loc:"2d"})
On peux faire nos requêtes pour
   savoir qui est à coté avec
             $near
    db.addresses.find({loc: { $near: [50,50]}})
Et même limiter en distance avec
        $maxDistance

db.addresses.find({loc: { $near: [50,50], $maxDistance : 5}})
Attention

la distance est exprimée en Radian donc :


             1km == 0,111°
Gestion de la panne
Utilisation du ReplicatSet
Plusieurs serveurs Master/Slave
Master change si le précédent master
        devient indisponible
On limite au maximum les
 interruptions de service
Scalabilité horizontale ?
Le sharding
Plusieurs serveurs se partagent les
             données
On a donc fictivement une capacité
            illimitée
Répartition des données au plus prêt
          de leur demande
Aide au reporting ?
Map/Reduce
Calcul en BDD
mise à jour d’une Collection
On obtient ainsi une collection par
       graphique souhaité
Mise à jour simplifiée
Création des collections
   automatiquement
Tous les documents peuvent avoir un
         schéma hétérogène
On peux donc faire ses migrations
durant l’utilisation de son application
Cela permet une facilité dans
l’évolution de son schéma globale
Gestion des fichiers ?
GRIDFS
Permet d’avoir l’avantage
     du sharding
Peux remplacer des solutions comme
                S3
Pas de limitations du nombre de
             fichiers
Déplacer au plus proche des
personnes en faisant la demande
On a ainsi pu économiser sur plusieurs
      applications indépendante.
Tout est dans MongoDB
Merci MongoDB
Questions ?

More Related Content

Viewers also liked

IOT Paris Seminar 2015 - MAXXING Presentation
IOT Paris Seminar 2015 - MAXXING PresentationIOT Paris Seminar 2015 - MAXXING Presentation
IOT Paris Seminar 2015 - MAXXING PresentationMongoDB
 
MongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB
 
Explorez vos données avec apache zeppelin
Explorez vos données avec apache zeppelinExplorez vos données avec apache zeppelin
Explorez vos données avec apache zeppelinBruno Bonnin
 
IOT Seminar Paris 2015 - AXA France Presentation
IOT Seminar Paris 2015 - AXA France PresentationIOT Seminar Paris 2015 - AXA France Presentation
IOT Seminar Paris 2015 - AXA France PresentationMongoDB
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebHarrathi Mohamed
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
Ley de financiamiento educativo
Ley de financiamiento educativoLey de financiamiento educativo
Ley de financiamiento educativoProfKarina Kovva
 
Nice Cote d'Azur - Marche aux Feurs
Nice Cote d'Azur - Marche aux FeursNice Cote d'Azur - Marche aux Feurs
Nice Cote d'Azur - Marche aux Feursstela s
 
Presentación Music Hero
Presentación Music HeroPresentación Music Hero
Presentación Music Heroguest9fba37
 
Trasplante Y SueñOs...
Trasplante Y SueñOs...Trasplante Y SueñOs...
Trasplante Y SueñOs...guest7f6d15
 
Usi 2013-next big data architecture
Usi 2013-next big data architectureUsi 2013-next big data architecture
Usi 2013-next big data architectureOlivier Mallassi
 
Hay que buscarse un amante
Hay que buscarse un amanteHay que buscarse un amante
Hay que buscarse un amanteCris Araújo
 
Para A HistóRia...
Para A HistóRia...Para A HistóRia...
Para A HistóRia...Pedro Vieira
 
Charte de l'égalité
Charte de l'égalitéCharte de l'égalité
Charte de l'égalitépurichi
 
Reflexiones finales
Reflexiones finalesReflexiones finales
Reflexiones finalesLambrina
 
AFP pour ICC'2009
AFP pour ICC'2009AFP pour ICC'2009
AFP pour ICC'2009XWiki
 

Viewers also liked (20)

IOT Paris Seminar 2015 - MAXXING Presentation
IOT Paris Seminar 2015 - MAXXING PresentationIOT Paris Seminar 2015 - MAXXING Presentation
IOT Paris Seminar 2015 - MAXXING Presentation
 
MongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB Management & Ansible
MongoDB Management & Ansible
 
Explorez vos données avec apache zeppelin
Explorez vos données avec apache zeppelinExplorez vos données avec apache zeppelin
Explorez vos données avec apache zeppelin
 
IOT Seminar Paris 2015 - AXA France Presentation
IOT Seminar Paris 2015 - AXA France PresentationIOT Seminar Paris 2015 - AXA France Presentation
IOT Seminar Paris 2015 - AXA France Presentation
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Taran
TaranTaran
Taran
 
Ley de financiamiento educativo
Ley de financiamiento educativoLey de financiamiento educativo
Ley de financiamiento educativo
 
Nice Cote d'Azur - Marche aux Feurs
Nice Cote d'Azur - Marche aux FeursNice Cote d'Azur - Marche aux Feurs
Nice Cote d'Azur - Marche aux Feurs
 
Presentación Music Hero
Presentación Music HeroPresentación Music Hero
Presentación Music Hero
 
Trasplante Y SueñOs...
Trasplante Y SueñOs...Trasplante Y SueñOs...
Trasplante Y SueñOs...
 
Conflictos
ConflictosConflictos
Conflictos
 
Usi 2013-next big data architecture
Usi 2013-next big data architectureUsi 2013-next big data architecture
Usi 2013-next big data architecture
 
Angelee
AngeleeAngelee
Angelee
 
Hay que buscarse un amante
Hay que buscarse un amanteHay que buscarse un amante
Hay que buscarse un amante
 
Para A HistóRia...
Para A HistóRia...Para A HistóRia...
Para A HistóRia...
 
Charte de l'égalité
Charte de l'égalitéCharte de l'égalité
Charte de l'égalité
 
Reflexiones finales
Reflexiones finalesReflexiones finales
Reflexiones finales
 
Yoga
YogaYoga
Yoga
 
AFP pour ICC'2009
AFP pour ICC'2009AFP pour ICC'2009
AFP pour ICC'2009
 

Similar to Super marmite-pourquoi-choisir-mongodb

Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google mapsVisionGÉOMATIQUE2012
 
Stratégie d'altimétrie nationale : vers un environnement ouvert
Stratégie d'altimétrie nationale : vers un environnement ouvertStratégie d'altimétrie nationale : vers un environnement ouvert
Stratégie d'altimétrie nationale : vers un environnement ouvertACSG Section Montréal
 
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...VisionGÉOMATIQUE2012
 
Design adaptatif / Mobilité
Design adaptatif / MobilitéDesign adaptatif / Mobilité
Design adaptatif / MobilitéAndré Dubreuil
 
Morning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMorning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMongoDB
 
GTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQLGTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQLMichaël Figuière
 
Gtug nantes big table et nosql
Gtug nantes   big table et nosqlGtug nantes   big table et nosql
Gtug nantes big table et nosqlGDG Nantes
 
Tout savoir sur les SIG mobiles
Tout savoir sur les SIG mobilesTout savoir sur les SIG mobiles
Tout savoir sur les SIG mobilesEric Lacoursiere
 
Drupagora 2012 - Votre application cartographique avec Drupal
Drupagora 2012 - Votre application cartographique avec DrupalDrupagora 2012 - Votre application cartographique avec Drupal
Drupagora 2012 - Votre application cartographique avec DrupalCore-Techs
 
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...AZUG FR
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureMicrosoft
 
Morning With MongoDB
Morning With MongoDBMorning With MongoDB
Morning With MongoDBFastConnect
 
SQLSaturday Paris 2014 - HDInsight : Cas d’usages, Hive, Sqoop, Pig, …
SQLSaturday Paris 2014 - HDInsight : Cas d’usages, Hive, Sqoop, Pig, …SQLSaturday Paris 2014 - HDInsight : Cas d’usages, Hive, Sqoop, Pig, …
SQLSaturday Paris 2014 - HDInsight : Cas d’usages, Hive, Sqoop, Pig, …GUSS
 
Gestion des rasters dans un Globe Virtuel
Gestion des rasters dans un Globe VirtuelGestion des rasters dans un Globe Virtuel
Gestion des rasters dans un Globe Virtueladeshogues
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataArrow Group
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataGUSS
 
chapitre 4-bddistribuesgnralites.pptx
chapitre 4-bddistribuesgnralites.pptxchapitre 4-bddistribuesgnralites.pptx
chapitre 4-bddistribuesgnralites.pptxSylia3
 

Similar to Super marmite-pourquoi-choisir-mongodb (20)

Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google maps
 
Stratégie d'altimétrie nationale : vers un environnement ouvert
Stratégie d'altimétrie nationale : vers un environnement ouvertStratégie d'altimétrie nationale : vers un environnement ouvert
Stratégie d'altimétrie nationale : vers un environnement ouvert
 
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
 
Design adaptatif / Mobilité
Design adaptatif / MobilitéDesign adaptatif / Mobilité
Design adaptatif / Mobilité
 
Morning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMorning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast Connect
 
GTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQLGTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQL
 
Gtug nantes big table et nosql
Gtug nantes   big table et nosqlGtug nantes   big table et nosql
Gtug nantes big table et nosql
 
Tout savoir sur les SIG mobiles
Tout savoir sur les SIG mobilesTout savoir sur les SIG mobiles
Tout savoir sur les SIG mobiles
 
Drupagora 2012 - Votre application cartographique avec Drupal
Drupagora 2012 - Votre application cartographique avec DrupalDrupagora 2012 - Votre application cartographique avec Drupal
Drupagora 2012 - Votre application cartographique avec Drupal
 
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
 
Morning With MongoDB
Morning With MongoDBMorning With MongoDB
Morning With MongoDB
 
Introduction aux géoservices - O. Travaglini
Introduction aux géoservices - O. TravagliniIntroduction aux géoservices - O. Travaglini
Introduction aux géoservices - O. Travaglini
 
SQLSaturday Paris 2014 - HDInsight : Cas d’usages, Hive, Sqoop, Pig, …
SQLSaturday Paris 2014 - HDInsight : Cas d’usages, Hive, Sqoop, Pig, …SQLSaturday Paris 2014 - HDInsight : Cas d’usages, Hive, Sqoop, Pig, …
SQLSaturday Paris 2014 - HDInsight : Cas d’usages, Hive, Sqoop, Pig, …
 
Gestion des rasters dans un Globe Virtuel
Gestion des rasters dans un Globe VirtuelGestion des rasters dans un Globe Virtuel
Gestion des rasters dans un Globe Virtuel
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
 
chapitre 4-bddistribuesgnralites.pptx
chapitre 4-bddistribuesgnralites.pptxchapitre 4-bddistribuesgnralites.pptx
chapitre 4-bddistribuesgnralites.pptx
 

More from Cyril Mougel

Cucumber Le Text Qui Test
Cucumber Le Text Qui TestCucumber Le Text Qui Test
Cucumber Le Text Qui TestCyril Mougel
 
Google Wave, le dernier de chez Google
Google Wave, le dernier de chez GoogleGoogle Wave, le dernier de chez Google
Google Wave, le dernier de chez GoogleCyril Mougel
 
Datamapper L Orm Dans Rails 3
Datamapper L Orm Dans Rails 3Datamapper L Orm Dans Rails 3
Datamapper L Orm Dans Rails 3Cyril Mougel
 
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans RailsMerb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans RailsCyril Mougel
 
Initiation Rails Rspec
Initiation Rails RspecInitiation Rails Rspec
Initiation Rails RspecCyril Mougel
 
Migration Rails 2.0 2.2
Migration Rails 2.0 2.2Migration Rails 2.0 2.2
Migration Rails 2.0 2.2Cyril Mougel
 

More from Cyril Mougel (8)

Errbit
ErrbitErrbit
Errbit
 
Mongoid
MongoidMongoid
Mongoid
 
Cucumber Le Text Qui Test
Cucumber Le Text Qui TestCucumber Le Text Qui Test
Cucumber Le Text Qui Test
 
Google Wave, le dernier de chez Google
Google Wave, le dernier de chez GoogleGoogle Wave, le dernier de chez Google
Google Wave, le dernier de chez Google
 
Datamapper L Orm Dans Rails 3
Datamapper L Orm Dans Rails 3Datamapper L Orm Dans Rails 3
Datamapper L Orm Dans Rails 3
 
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans RailsMerb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
 
Initiation Rails Rspec
Initiation Rails RspecInitiation Rails Rspec
Initiation Rails Rspec
 
Migration Rails 2.0 2.2
Migration Rails 2.0 2.2Migration Rails 2.0 2.2
Migration Rails 2.0 2.2
 

Super marmite-pourquoi-choisir-mongodb

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n