SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
MongoDB
Cas d'utilisation
au Figaro
Sandrine Crozat          Ramon Maceiras

   scrozat@lefigaro.fr      ramon@pimentech.
                            net
Ecosystème du Figaro

                                                 Un CMS BIMEDIA
                                                 Un CMS WEB par site
CMS BIMEDIA
                                                 éditorial
                     CMS
                      CMS
                     WEB
                       CMS
                      WEB
                         CMS
                       WEB
                          CMS
                         WEB
                           CMS
                          WEB
                                                 Le Figaro.fr, vaisseau
                             CMS
LE FIGARO.
    FR
                           WEB
                             WEB                 amiral et portail éditorial
 PORTAIL                                         et communautaire de
                                                 tous les sites web

   Le Figaro.fr - Sport24 - Le Figaro Madame - Le Figaro Bourse - Le Figaro Santé - L'avis du Vin - Le
       Figaroscope - Le Figaro Golf - TVMAG - Carnet des Décideurs - Carnet du Jour - L'étudiant
Cas1 - Mongodb_watchdog
Cas1 . Mongodb_watchdog
Contexte

Pour quoi ?               Et donc ?
Mon Figaro, portail       Nécessité de
Communautaire             monitoring et de
exposant des APIs et      journalisation
Webservices aux           d'événements
différents sites du
groupe
                       + 100000 écritures / jour
                       Peu de lecture
                       Données peu sensibles
Cas1 . Mongodb_watchdog
Migration vers MongoDB

Drupal Core :           mongodb_watchdog
Stockage dans MySql     Stockage dans
donc charge sur BDD     MongoDB
Nécessité de purge      1 collection cappée
régulière               par type de message

                      Le + : Réflexe de
                      monitorer même des
                      événements de type
                      information.
Cas2
Mon Figaro
Activity
Flux d'activités communautaire
au sein du réseau social du Figaro
Cas2. Mon Figaro Activity
Contexte



Flux d'activité diffusant   ●   Nombreuses
toutes les actions              lectures
communautaires et de        ●   Requêtes
publication des membres         complexes
du réseau Figaro et des     ●   Objets riches
journalistes.               ●   Données assez
                                sensibles
Cas 2. Mon Figaro Activity
Migration vers MongoDB

2010 : 1ere version   En 2011, refonte du
100% MySQL.           système sous
                      MongoDB

Problèmatique de      Gain de performance
performance           => suppression du
=> Cache des pages    cache, les activités
de 2 mns.             sont servies
                      instantanément.
Cas 3 - FidJi
Base centrale de contenus
Cas 3 . FidJi
Context
                                Echanges de
                                contenus
                                désorganisés, non
                                conformés et
                                redondants entre les
                                CMS du groupe ainsi
                                que vers l'extérieur.

     Faible réactivité sur les flux à générer
     Aucune convergence technique
Cas 3 . FidJi
Modèle

      Articles         Flux

       Article1    Source1 - Dest1
       Article2    Source2 - Dest2
       Article3    Source2 - Dest1




                  Litste_Dest1
                   Litste_Dest1
     Mots-clés       Litste_Dest1
                      Litste_Dest1
                        Liste_Dest1
                  Article1_id - Statut
       Mot-clé1     Article1_id - Statut
                  Article2_id - Statut
       Mot-clé2       Article1_id - Statut
                    Article2_id - Statut
                  Article2_id - StatutStatut
                         Article1_id -
       Mot-clé3       Article2_id - Statut
                    Article2_id - StatutStatut
                           Article1_id -
                         Article2_id - Statut
                      Article2_id - Statut
                           Article2_id - Statut
                         Article2_id - Statut
                           Article2_id - Statut
Cas 3. FidJi
    Mécanique d'import - XML2MONGO
conf = {                                     ( ('euid', pymongo.ASCENDING), ('verticale',
    'dbname': globals.MONGONAME,        pymongo.ASCENDING) ): {
    'dbhost': globals.MONGOHOST,                    'key': 'true',
    'dbuser': globals.MONGOUSER,                    },
    'dbpwd': globals.MONGOPWD,                  'srcuid': {
                                                    'findtext': '/GESTION/ID',
    'collection': 'article',                        },
                                                'revision': {
    'schema': {                                     'findtext': '/GESTION/version',
        'euid': {                                   },
            'findtext': '/GESTION/IDWEB',       'datemodif': {
            'notnull': 'true',                      'findtext': '/GESTION/updated-at',
            },                                      'index': 'true',
        'verticale': {                              'cast': lambda(s): parser.parse(s),
            'value': 'common',                      },
            },
Cas 3 . FidJi
Configuration des exports
Cas 3 . FidJi
API Http

Consommation à la   Simple requête dans
demande             MongoDb

Json et JsonP       Résultat mise en
Atom                cache sur Varnish
Cas 3 . FidJi
Interface de recherche
Cas 3 . FidJi
Mongo au coeur de l'application



                       MongoEngine
                       PyMongo

Más contenido relacionado

Similar a Morning with MongoDB Paris 2012 - MongoDB Cas d'utilisation au Figaro

#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniterAtsé François-Xavier KOBON
 
Bluesmvc solutionlinux 2012 eric german
Bluesmvc solutionlinux 2012 eric german Bluesmvc solutionlinux 2012 eric german
Bluesmvc solutionlinux 2012 eric german eric German
 
Connected Car Platform (CC-p)
Connected Car Platform (CC-p) Connected Car Platform (CC-p)
Connected Car Platform (CC-p) Bellaj Badr
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01MongoDB
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Benoît de CHATEAUVIEUX
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Tech-Meetup Smart Transport - Episode 02
Tech-Meetup Smart Transport - Episode 02Tech-Meetup Smart Transport - Episode 02
Tech-Meetup Smart Transport - Episode 02Laurent Dunys
 
Présentation mongoDB et mongoId
Présentation mongoDB et mongoIdPrésentation mongoDB et mongoId
Présentation mongoDB et mongoIdvtabary
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012FastConnect
 
Mesurer la performance dans le milieu hostile du développement Java
Mesurer la performance dans le milieu hostile du développement JavaMesurer la performance dans le milieu hostile du développement Java
Mesurer la performance dans le milieu hostile du développement JavaAntonio Gomes Rodrigues
 
Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)Eric Bourdet
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?Publicis Sapient Engineering
 
Ppe 1 logiciel de supervision
Ppe 1 logiciel de supervisionPpe 1 logiciel de supervision
Ppe 1 logiciel de supervisionQuentinVERY
 
5 android web_service
5 android web_service5 android web_service
5 android web_serviceSaber LAJILI
 
Denodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo
 
Cobalt chez Orange Lannion, 2015
Cobalt chez Orange Lannion, 2015Cobalt chez Orange Lannion, 2015
Cobalt chez Orange Lannion, 2015Cobaltians
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
Paul valery et les Web components
Paul valery et les Web componentsPaul valery et les Web components
Paul valery et les Web componentsFrancois ANDRE
 

Similar a Morning with MongoDB Paris 2012 - MongoDB Cas d'utilisation au Figaro (20)

#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
Bluesmvc solutionlinux 2012 eric german
Bluesmvc solutionlinux 2012 eric german Bluesmvc solutionlinux 2012 eric german
Bluesmvc solutionlinux 2012 eric german
 
Connected Car Platform (CC-p)
Connected Car Platform (CC-p) Connected Car Platform (CC-p)
Connected Car Platform (CC-p)
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Tech-Meetup Smart Transport - Episode 02
Tech-Meetup Smart Transport - Episode 02Tech-Meetup Smart Transport - Episode 02
Tech-Meetup Smart Transport - Episode 02
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Présentation mongoDB et mongoId
Présentation mongoDB et mongoIdPrésentation mongoDB et mongoId
Présentation mongoDB et mongoId
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012
 
Cours J2ME
Cours J2MECours J2ME
Cours J2ME
 
Mesurer la performance dans le milieu hostile du développement Java
Mesurer la performance dans le milieu hostile du développement JavaMesurer la performance dans le milieu hostile du développement Java
Mesurer la performance dans le milieu hostile du développement Java
 
Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
Ppe 1 logiciel de supervision
Ppe 1 logiciel de supervisionPpe 1 logiciel de supervision
Ppe 1 logiciel de supervision
 
5 android web_service
5 android web_service5 android web_service
5 android web_service
 
Denodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie API
 
Cobalt chez Orange Lannion, 2015
Cobalt chez Orange Lannion, 2015Cobalt chez Orange Lannion, 2015
Cobalt chez Orange Lannion, 2015
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Paul valery et les Web components
Paul valery et les Web componentsPaul valery et les Web components
Paul valery et les Web components
 

Más de MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 

Más de MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Morning with MongoDB Paris 2012 - MongoDB Cas d'utilisation au Figaro

  • 1. MongoDB Cas d'utilisation au Figaro Sandrine Crozat Ramon Maceiras scrozat@lefigaro.fr ramon@pimentech. net
  • 2. Ecosystème du Figaro Un CMS BIMEDIA Un CMS WEB par site CMS BIMEDIA éditorial CMS CMS WEB CMS WEB CMS WEB CMS WEB CMS WEB Le Figaro.fr, vaisseau CMS LE FIGARO. FR WEB WEB amiral et portail éditorial PORTAIL et communautaire de tous les sites web Le Figaro.fr - Sport24 - Le Figaro Madame - Le Figaro Bourse - Le Figaro Santé - L'avis du Vin - Le Figaroscope - Le Figaro Golf - TVMAG - Carnet des Décideurs - Carnet du Jour - L'étudiant
  • 4. Cas1 . Mongodb_watchdog Contexte Pour quoi ? Et donc ? Mon Figaro, portail Nécessité de Communautaire monitoring et de exposant des APIs et journalisation Webservices aux d'événements différents sites du groupe + 100000 écritures / jour Peu de lecture Données peu sensibles
  • 5. Cas1 . Mongodb_watchdog Migration vers MongoDB Drupal Core : mongodb_watchdog Stockage dans MySql Stockage dans donc charge sur BDD MongoDB Nécessité de purge 1 collection cappée régulière par type de message Le + : Réflexe de monitorer même des événements de type information.
  • 6. Cas2 Mon Figaro Activity Flux d'activités communautaire au sein du réseau social du Figaro
  • 7. Cas2. Mon Figaro Activity Contexte Flux d'activité diffusant ● Nombreuses toutes les actions lectures communautaires et de ● Requêtes publication des membres complexes du réseau Figaro et des ● Objets riches journalistes. ● Données assez sensibles
  • 8. Cas 2. Mon Figaro Activity Migration vers MongoDB 2010 : 1ere version En 2011, refonte du 100% MySQL. système sous MongoDB Problèmatique de Gain de performance performance => suppression du => Cache des pages cache, les activités de 2 mns. sont servies instantanément.
  • 9. Cas 3 - FidJi Base centrale de contenus
  • 10. Cas 3 . FidJi Context Echanges de contenus désorganisés, non conformés et redondants entre les CMS du groupe ainsi que vers l'extérieur. Faible réactivité sur les flux à générer Aucune convergence technique
  • 11. Cas 3 . FidJi Modèle Articles Flux Article1 Source1 - Dest1 Article2 Source2 - Dest2 Article3 Source2 - Dest1 Litste_Dest1 Litste_Dest1 Mots-clés Litste_Dest1 Litste_Dest1 Liste_Dest1 Article1_id - Statut Mot-clé1 Article1_id - Statut Article2_id - Statut Mot-clé2 Article1_id - Statut Article2_id - Statut Article2_id - StatutStatut Article1_id - Mot-clé3 Article2_id - Statut Article2_id - StatutStatut Article1_id - Article2_id - Statut Article2_id - Statut Article2_id - Statut Article2_id - Statut Article2_id - Statut
  • 12. Cas 3. FidJi Mécanique d'import - XML2MONGO conf = { ( ('euid', pymongo.ASCENDING), ('verticale', 'dbname': globals.MONGONAME, pymongo.ASCENDING) ): { 'dbhost': globals.MONGOHOST, 'key': 'true', 'dbuser': globals.MONGOUSER, }, 'dbpwd': globals.MONGOPWD, 'srcuid': { 'findtext': '/GESTION/ID', 'collection': 'article', }, 'revision': { 'schema': { 'findtext': '/GESTION/version', 'euid': { }, 'findtext': '/GESTION/IDWEB', 'datemodif': { 'notnull': 'true', 'findtext': '/GESTION/updated-at', }, 'index': 'true', 'verticale': { 'cast': lambda(s): parser.parse(s), 'value': 'common', }, },
  • 13. Cas 3 . FidJi Configuration des exports
  • 14. Cas 3 . FidJi API Http Consommation à la Simple requête dans demande MongoDb Json et JsonP Résultat mise en Atom cache sur Varnish
  • 15. Cas 3 . FidJi Interface de recherche
  • 16. Cas 3 . FidJi Mongo au coeur de l'application MongoEngine PyMongo