SlideShare une entreprise Scribd logo
Toutes les raisons (et +)
  d’adopter MongoDB
       Adrien Mogenet




                        14 juin 2012
À propos
Cette présentation :

    • Est une première (!)
    • Pour convaincre sa hiérarchie
    • Pour convaincre ses équipes
/usr/bin/whoami

• Un adepte de MongoDB, depuis + de 2 ans
• Dans un cadre professionnel, mais pas
  seulement
• Pas un anti-MySQL
#0

• Les vraies fausses raisons :
 • C’est écrit en C++
 • C’est libre
 • Les gens qui contribuent
    sont sympathiques
#1

• Facilité extrême :
 • Déploiement en 2 minutes
 • API simples et intuitives
 • ... mais possibilité d’écrire des requêtes
    complexes.
#1


Demo
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.
#2
• Souple :
 • Modèle de données simple



         « Ça, c’était avant. »
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
#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)
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...)
http://demo.hummingbirdstats.com/
#4

• Extensible, tolérant aux pannes
 • Pas de SPOF
 • Ajout de shards à la volée
 • = Extensibilité R/W
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.
#5
• Intégration avec les nouvelles technologies
 • Node.JS
 • Hadoop
 • Azure
 • Scala
 • Talend (github.com/adrien-mogenet)
 • Mais aussi aux classiques (PHP, Java...)
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.
#6

• Polyvalent :
 • Indexes géographiques
 • Système de fichiers distribué (GridFS)
Situations

• Éviter la multiplication d’outils « proches »
• MongoDB « incite » les équipes à imaginer
  de nouveaux usages :
  • Utilisations d’informations géographiques
  • Stockage extensible
#7

• Rentabiliser des données vaporeuses :
 • Agrégation de logs
 • Tracking
   Utilisation de Map/Reduce a posteriori
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.
#8

• Communauté active :
 • Correction de bugs
 • Ajout de fonctionnalités pertinentes
 • Éco-système riche (IHM d’administration...)
#8
#8
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
Conclusion

• Simple
• Performant
• Fiable
• Extensible
• Communauté active
{ end: ‘Questions ?’ }

Contenu connexe

Tendances

Meetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupalMeetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupal
Aurelien Navarre
 
Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13
Aurelien Navarre
 

Tendances (20)

introduction à MongoDB
introduction à MongoDBintroduction à MongoDB
introduction à MongoDB
 
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
 
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeGestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 
Meetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupalMeetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupal
 
NoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisationNoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisation
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutant
 
Retour aux fondamentaux : Penser en termes de documents
Retour aux fondamentaux : Penser en termes de documentsRetour aux fondamentaux : Penser en termes de documents
Retour aux fondamentaux : Penser en termes de documents
 
Tout ce que le getting started mongo db ne vous dira pas
Tout ce que le getting started mongo db ne vous dira pasTout ce que le getting started mongo db ne vous dira pas
Tout ce que le getting started mongo db ne vous dira pas
 
Relational databases & NoSQL databases
Relational databases & NoSQL databasesRelational databases & NoSQL databases
Relational databases & NoSQL databases
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
ENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...ENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 2/3 - HTML5, CSS3, Twitte...
 
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
 
Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13
 
REX : la webperf chez RueDuCommerce
REX : la webperf chez RueDuCommerceREX : la webperf chez RueDuCommerce
REX : la webperf chez RueDuCommerce
 
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
 
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JSENIB 2015-2016 - CAI Web -  S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 1/3 - HTTP, HTML, CSS, JS
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de données
 

En vedette

MongoDB Shell Tips & Tricks
MongoDB Shell Tips & TricksMongoDB Shell Tips & Tricks
MongoDB Shell Tips & Tricks
MongoDB
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearch
Fadel Chafai
 
Cassandra Java Driver : vers Cassandra 1.2 et au-delà
Cassandra Java Driver : vers Cassandra 1.2 et au-delàCassandra Java Driver : vers Cassandra 1.2 et au-delà
Cassandra Java Driver : vers Cassandra 1.2 et au-delà
Ippon
 

En vedette (20)

BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Super marmite-pourquoi-choisir-mongodb
Super marmite-pourquoi-choisir-mongodbSuper marmite-pourquoi-choisir-mongodb
Super marmite-pourquoi-choisir-mongodb
 
Alphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB AdministrationAlphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB Administration
 
Webinar: Opérations pour votre application - Session 7 - Sauvegarde et DR
Webinar: Opérations pour votre application - Session 7 - Sauvegarde et DRWebinar: Opérations pour votre application - Session 7 - Sauvegarde et DR
Webinar: Opérations pour votre application - Session 7 - Sauvegarde et DR
 
MongoDB Shell Tips & Tricks
MongoDB Shell Tips & TricksMongoDB Shell Tips & Tricks
MongoDB Shell Tips & Tricks
 
El Supremo de Florida mantiene la pena de muerte a Pablo Ibar
El Supremo de Florida mantiene la pena de muerte a Pablo IbarEl Supremo de Florida mantiene la pena de muerte a Pablo Ibar
El Supremo de Florida mantiene la pena de muerte a Pablo Ibar
 
Introduction to NoSQL Databases | Hadoop Quick Introduction
Introduction to NoSQL Databases | Hadoop Quick IntroductionIntroduction to NoSQL Databases | Hadoop Quick Introduction
Introduction to NoSQL Databases | Hadoop Quick Introduction
 
NoSQL Introduction
NoSQL IntroductionNoSQL Introduction
NoSQL Introduction
 
MongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB Management & Ansible
MongoDB Management & Ansible
 
Morning With MongoDB
Morning With MongoDBMorning With MongoDB
Morning With MongoDB
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearch
 
Cassandra Java Driver : vers Cassandra 1.2 et au-delà
Cassandra Java Driver : vers Cassandra 1.2 et au-delàCassandra Java Driver : vers Cassandra 1.2 et au-delà
Cassandra Java Driver : vers Cassandra 1.2 et au-delà
 
OrientDB vs Neo4j - and an introduction to NoSQL databases
OrientDB vs Neo4j - and an introduction to NoSQL databasesOrientDB vs Neo4j - and an introduction to NoSQL databases
OrientDB vs Neo4j - and an introduction to NoSQL databases
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilité
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
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
 
Organisation visuelle
Organisation visuelleOrganisation visuelle
Organisation visuelle
 
El Internet y su uso.
El Internet y su uso.El Internet y su uso.
El Internet y su uso.
 
Blog
BlogBlog
Blog
 
Bulletin Liaison Automne 09
Bulletin Liaison Automne 09Bulletin Liaison Automne 09
Bulletin Liaison Automne 09
 

Similaire à Toutes les raisons d'adopter MongoDB

Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
Ludovic Piot
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
Cellenza
 
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
MongoDB
 

Similaire à Toutes les raisons d'adopter MongoDB (20)

Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptx
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)
 
Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide Academy
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
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
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7
 
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
 
Importer 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jImporter 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4j
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
Nouvelles opportunités pour les données fortement interconnectées : La base d...
Nouvelles opportunités pour les données fortement interconnectées : La base d...Nouvelles opportunités pour les données fortement interconnectées : La base d...
Nouvelles opportunités pour les données fortement interconnectées : La base d...
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google Cloud
 

Toutes les raisons d'adopter MongoDB

  • 1. Toutes les raisons (et +) d’adopter MongoDB Adrien Mogenet 14 juin 2012
  • 2. À propos Cette présentation : • Est une première (!) • Pour convaincre sa hiérarchie • Pour convaincre ses équipes
  • 3. /usr/bin/whoami • Un adepte de MongoDB, depuis + de 2 ans • Dans un cadre professionnel, mais pas seulement • Pas un anti-MySQL
  • 4. #0 • Les vraies fausses raisons : • C’est écrit en C++ • C’est libre • Les gens qui contribuent sont sympathiques
  • 5. #1 • Facilité extrême : • Déploiement en 2 minutes • API simples et intuitives • ... mais possibilité d’écrire des requêtes complexes.
  • 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.
  • 8. #2 • Souple : • Modèle de données simple « Ça, c’était avant. »
  • 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...)
  • 22. #8
  • 23. #8
  • 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
  • 25. Conclusion • Simple • Performant • Fiable • Extensible • Communauté active