A brief summary of the most important reasons about why choosing MongoDB might be a good solution in current common problems in IT. This talk is dedicated to software engineers, DBA, managers, CTO that could know MongoDB but don't see why they should deploy it in production.
7. Situations
• Je suis un [DBA | Développeur | Patron], je
veux me rendre compte rapidement des
possibilités offertes, sans perdre une
semaine de déploiement et configuration.
• Je ne veux pas fondamentalement modifier
mes méthodes d’interrogation des
données.
9. Situations
• Mon modèle relationnel s’est complexifié
avec le temps, je vois une occasion de le
simplifier.
{ _id: 1234, name: ‘Mogenet’, likes: [‘scala’, ‘haskell’] }
• Évolutions simplifiées
{ _id: 1234, name: ‘Mogenet’, likes: [‘scala’, ‘haskell’], sex: H }
• Rationaliser les motifs d’accès
10. #3
• Produit performant :
• Écrit en C++
(Pas de pauses « Stop The World » à cause du GC Java)
• Indexes
• Gestion de la mémoire efficace
(Memory mapped files, LRU de l’OS)
11. Situations
• Je veux écrire massivement des données, et
satisfaire 10.000 connexions concurrentes
avec accès aléatoires.
• Je veux fournir des accès en temps réels à
ces nouvelles données (monitoring,
messagerie instantanée...)
13. #4
• Extensible, tolérant aux pannes
• Pas de SPOF
• Ajout de shards à la volée
• = Extensibilité R/W
14. Situations
• Je suis dépassé par le succès, scaler MySQL
me revient cher.
• Je ne veux pas intervenir la nuit pour un
problème de BDD.
15. #5
• Intégration avec les nouvelles technologies
• Node.JS
• Hadoop
• Azure
• Scala
• Talend (github.com/adrien-mogenet)
• Mais aussi aux classiques (PHP, Java...)
16. Situations
• Typiquement, je suis une start-up jeune et
innovante.
• Je modernise mon infrastructure
• Je veux une solution intégrable dans un S.I.
aux technologies variées.
17. #6
• Polyvalent :
• Indexes géographiques
• Système de fichiers distribué (GridFS)
18. Situations
• Éviter la multiplication d’outils « proches »
• MongoDB « incite » les équipes à imaginer
de nouveaux usages :
• Utilisations d’informations géographiques
• Stockage extensible
19. #7
• Rentabiliser des données vaporeuses :
• Agrégation de logs
• Tracking
Utilisation de Map/Reduce a posteriori
20. Situations
• Je veux prendre un avantage concurrentiel.
Je veux mieux connaître mes clients, et mes
futurs clients.
• Je m’autorise à stocker un maximum de
données inutiles à un instant T. Le cadre
concurrentiel/législatif/autre change. Je
rentabilise mes données.
21. #8
• Communauté active :
• Correction de bugs
• Ajout de fonctionnalités pertinentes
• Éco-système riche (IHM d’administration...)
24. Situations
• Besoin de garantie sur la longévité du
projet.
• S’approprier rapidement la solution via les
documentations et les mailing-lists.
• Assister à MongoDB Paris