supermarmite              It’s cooking up in your neighborhoodConstruire une application Géolocalisé avec mongoDB
Un réseau social deproximité pourrechercher etpartager vos petitsplatsfaits 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éfinitionLa géolocalisation ou géoréférencement estun procédé permettant de positionner un objet(une personne,...) sur un ...
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 pa...
Création de l’indexpour 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        $maxDistancedb.addresses.find({loc: { $near: [50,50], $maxDistance : 5}})
Attentionla 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 BDDmise à 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 migrationsdurant l’utilisation de son application
Cela permet une facilité dansl’é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 despersonnes en faisant la demande
On a ainsi pu économiser sur plusieurs      applications indépendante.
Tout est dans MongoDB
Merci MongoDB
Questions ?
Upcoming SlideShare
Loading in...5
×

Super marmite-pourquoi-choisir-mongodb

1,412

Published on

Pourquoi Supermarmite a choisi MongoDB comme backend

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,412
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Super marmite-pourquoi-choisir-mongodb

    1. 1. supermarmite It’s cooking up in your neighborhoodConstruire une application Géolocalisé avec mongoDB
    2. 2. Un réseau social deproximité pourrechercher etpartager vos petitsplatsfaits maison !
    3. 3. Maintenant qu’on a l’idée, il faut la développer.
    4. 4. Mais surtout choisir son backend
    5. 5. Quel sont nos besoins ?
    6. 6. Gestion de requête géospatial
    7. 7. Gestion de la panne
    8. 8. Scalabilité horizontale
    9. 9. Aide au reporting
    10. 10. Evolution simplifiée et rapide de notre schéma de base de donnée
    11. 11. Gestion des fichiers avec scalabilité horizontale
    12. 12. Tout est déjà dans MongoDB DE BASE
    13. 13. Gestion de la géolocalisation
    14. 14. DéfinitionLa géolocalisation ou géoréférencement estun procédé permettant de positionner un objet(une personne,...) sur un plan ou une carte àlaide de ses coordonnées géographiques. source: Wikipedia ( http://fr.wikipedia.org/wiki/Geolocalisation )
    15. 15. Pour faire des requêtes de proximité
    16. 16. Il faut faire des requêtes Géospatiale
    17. 17. Comment faire avec MongoDB ?
    18. 18. Insertion des coordonnées GPS :db.addresses.insert({loc:{lat: 40.739037, long: 73.992964}}) Récupérer par google map API
    19. 19. Création de l’indexpour requêter en géospatial 2D db.addresses.ensureIndex({loc:"2d"})
    20. 20. On peux faire nos requêtes pour savoir qui est à coté avec $near db.addresses.find({loc: { $near: [50,50]}})
    21. 21. Et même limiter en distance avec $maxDistancedb.addresses.find({loc: { $near: [50,50], $maxDistance : 5}})
    22. 22. Attentionla distance est exprimée en Radian donc : 1km == 0,111°
    23. 23. Gestion de la panne
    24. 24. Utilisation du ReplicatSet
    25. 25. Plusieurs serveurs Master/Slave
    26. 26. Master change si le précédent master devient indisponible
    27. 27. On limite au maximum les interruptions de service
    28. 28. Scalabilité horizontale ?
    29. 29. Le sharding
    30. 30. Plusieurs serveurs se partagent les données
    31. 31. On a donc fictivement une capacité illimitée
    32. 32. Répartition des données au plus prêt de leur demande
    33. 33. Aide au reporting ?
    34. 34. Map/Reduce
    35. 35. Calcul en BDDmise à jour d’une Collection
    36. 36. On obtient ainsi une collection par graphique souhaité
    37. 37. Mise à jour simplifiée
    38. 38. Création des collections automatiquement
    39. 39. Tous les documents peuvent avoir un schéma hétérogène
    40. 40. On peux donc faire ses migrationsdurant l’utilisation de son application
    41. 41. Cela permet une facilité dansl’évolution de son schéma globale
    42. 42. Gestion des fichiers ?
    43. 43. GRIDFS
    44. 44. Permet d’avoir l’avantage du sharding
    45. 45. Peux remplacer des solutions comme S3
    46. 46. Pas de limitations du nombre de fichiers
    47. 47. Déplacer au plus proche despersonnes en faisant la demande
    48. 48. On a ainsi pu économiser sur plusieurs applications indépendante.
    49. 49. Tout est dans MongoDB
    50. 50. Merci MongoDB
    51. 51. Questions ?
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×