toutes les raisons d'adopter mongodb

26
Toutes les raisons (et +) d’adopter MongoDB Adrien Mogenet 14 juin 2012

Upload: adrien

Post on 25-Jun-2015

2.690 views

Category:

Technology


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Toutes les raisons d'adopter MongoDB

Toutes les raisons (et +) d’adopter MongoDB

Adrien Mogenet

14 juin 2012

Page 2: Toutes les raisons d'adopter MongoDB

À propos

• Est une première (!)

• Pour convaincre sa hiérarchie

• Pour convaincre ses équipes

Cette présentation :

Page 3: Toutes les raisons d'adopter MongoDB

/usr/bin/whoami

• Un adepte de MongoDB, depuis + de 2 ans

• Dans un cadre professionnel, mais pas seulement

• Pas un anti-MySQL

Page 4: Toutes les raisons d'adopter MongoDB

#0

• Les vraies fausses raisons :

• C’est écrit en C++

• C’est libre

• Les gens qui contribuent sont sympathiques

Page 5: Toutes les raisons d'adopter MongoDB

#1

• Facilité extrême :

• Déploiement en 2 minutes

• API simples et intuitives

• ... mais possibilité d’écrire des requêtes complexes.

Page 6: Toutes les raisons d'adopter MongoDB

#1

Demo

Page 7: Toutes les raisons d'adopter MongoDB

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.

Page 8: Toutes les raisons d'adopter MongoDB

#2• Souple :

• Modèle de données simple

« Ça, c’était avant. »

Page 9: Toutes les raisons d'adopter MongoDB

Situations

• Mon modèle relationnel s’est complexifié avec le temps, je vois une occasion de le simplifier.

• Évolutions simplifiées

• Rationaliser les motifs d’accès

{ _id: 1234, name: ‘Mogenet’, likes: [‘scala’, ‘haskell’] }

{ _id: 1234, name: ‘Mogenet’, likes: [‘scala’, ‘haskell’], sex: H }

Page 10: Toutes les raisons d'adopter MongoDB

#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)

Page 11: Toutes les raisons d'adopter MongoDB

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...)

Page 13: Toutes les raisons d'adopter MongoDB

• Extensible, tolérant aux pannes

• Pas de SPOF

• Ajout de shards à la volée

• = Extensibilité R/W

#4

Page 14: Toutes les raisons d'adopter MongoDB

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.

Page 15: Toutes les raisons d'adopter MongoDB

#5

• Intégration avec les nouvelles technologies

• Node.JS

• Hadoop

• Azure

• Scala

• Talend (github.com/adrien-mogenet)

• Mais aussi aux classiques (PHP, Java...)

Page 16: Toutes les raisons d'adopter MongoDB

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.

Page 17: Toutes les raisons d'adopter MongoDB

#6

• Polyvalent :

• Indexes géographiques

• Système de fichiers distribué (GridFS)

Page 18: Toutes les raisons d'adopter MongoDB

Situations

• Éviter la multiplication d’outils « proches »

• MongoDB « incite » les équipes à imaginer de nouveaux usages :

• Utilisations d’informations géographiques

• Stockage extensible

Page 19: Toutes les raisons d'adopter MongoDB

#7

• Rentabiliser des données vaporeuses :

• Agrégation de logs

• Tracking

Utilisation de Map/Reduce a posteriori

Page 20: Toutes les raisons d'adopter MongoDB

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.

Page 21: Toutes les raisons d'adopter MongoDB

#8

• Communauté active :

• Correction de bugs

• Ajout de fonctionnalités pertinentes

• Éco-système riche (IHM d’administration...)

Page 22: Toutes les raisons d'adopter MongoDB

#8

Page 23: Toutes les raisons d'adopter MongoDB

#8

Page 24: Toutes les raisons d'adopter MongoDB

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

Page 25: Toutes les raisons d'adopter MongoDB

Conclusion

• Simple

• Performant

• Fiable

• Extensible

• Communauté active

Page 26: Toutes les raisons d'adopter MongoDB

{ end: ‘Questions ?’ }