Étude de cas MongoDB

Concepts NoSQL

Miriam Antona

Software engineer

MongoDB - aperçu

Logo de MongoDB

  • Base de données de documents populaire
  • Format BSON (Binary JSON)
Concepts NoSQL

MongoDB - fonctionnalités

  • MongoDB Query Language (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • Pilotes natifs pour les langages de programmation : C#, Java, Python, Scala, etc.
  • Index sur n'importe quel champ
  • Transactions ACID (atomicité, cohérence, isolation, durabilité)
  • Jointures dans les requêtes
Concepts NoSQL

MongoDB - fonctionnalités

  • Mise à l'échelle horizontale
    • fragmentation native
    • ajouter/déplacer des fragments
  • Réplication
    • 50 copies des données
Concepts NoSQL

MongoDB - produits

  • MongoDB Compass :
    • IHM gratuite
    • Explorer le schéma, créer des requêtes visuelles…
  • MongoDB Atlas :
    • Service infonuagique
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced :
    • Exécuter MongoDB dans notre infrastructure
Concepts NoSQL

MongoDB - produits

  • MongoDB Atlas Lake :
    • Interroger et analyser les données
    • AWS S3 et MongoDB Atlas
    • MQL
  • MongoDB Charts :
    • Visualisations des données
  • Realm Mobile Database :
    • Stocker les données localement sur iOS ou Android
Concepts NoSQL

MongoDB - usages courants

  • Applications « vue unifiée » : services financiers, secteur public, haute technologie, commerce de détail…
  • Jeux vidéo : profils de joueurs, tableaux des meneurs…
  • Catalogues : services financiers, secteur public, haute technologie, commerce de détail…
  • Analytique en temps réel
  • Gestion de contenu
  • Internet des objets
Concepts NoSQL

MongoDB - clients

Logos de certains clients MongoDB

Concepts NoSQL

Étude de cas Shutterfly - aperçu

  • Service de photographie en ligne
    • Partager des albums personnalisés
    • Produits avec photos imprimées
  • Des millions de clients
  • Plus de six milliards d'images

Logo de Shutterfly

Concepts NoSQL

Étude de cas Shutterfly - problème et solution

  • Forte croissance des données
  • Limites de performance d'Oracle
  • Longs délais de développement
  • Applications pas assez rapides
  • Oracle est devenu trop coûteux
  • Choix de MongoDB
Concepts NoSQL

Étude de cas Shutterfly - résultats

  • Amélioration des performances
    • Insertion : 400 ms -> 2 ms
  • Mise à l'échelle horizontale
  • Schéma souple -> développement rapide
    • Étiquettes, commentaires, etc. faciles à mettre en œuvre
  • Nouveaux modes d'interrogation
  • Réduction des coûts
Concepts NoSQL

Étude de cas Shutterfly - résultats

  • Amélioration des performances
    • Insertion : 400 ms -> 2 ms
  • Mise à l'échelle horizontale
  • Schéma souple -> développement rapide
    • Étiquettes, commentaires, etc. faciles à mettre en œuvre
  • Nouveaux modes d'interrogation
  • Réduction des coûts
1 https://www.mongodb.com/who-uses-mongodb
Concepts NoSQL

Passons à la pratique !

Concepts NoSQL

Preparing Video For Download...