Étude de cas MongoDB

Concepts NoSQL

Miriam Antona

Software engineer

MongoDB - aperçu

Logo 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é)
  • Joins dans les requêtes
Concepts NoSQL

MongoDB - fonctionnalités

  • Mise à l'échelle horizontale
    • sharding natif
    • ajouter/déplacer des shards
  • Réplication
    • jusqu'à 50 copies des données
Concepts NoSQL

MongoDB - produits

  • MongoDB Compass :
    • GUI gratuite
    • Explorer le schéma, créer des requêtes visuelles…
  • MongoDB Atlas :
    • Service cloud
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced :
    • Exécuter MongoDB sur 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, high-tech, retail…
  • Jeux vidéo : profils joueurs, classements…
  • Catalogues : services financiers, secteur public, high-tech, retail…
  • 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
    • Partage d'albums personnalisés
    • Produits avec photos imprimées
  • Des millions de clients
  • Plus de six milliards d'images

Logo Shutterfly

Concepts NoSQL

Étude de cas Shutterfly - problème et solution

  • Forte croissance des données
  • Limites de performance d'Oracle
  • Développement des applications trop long
  • Applications pas assez rapides
  • Coût Oracle trop élevé
  • Passage à MongoDB
Concepts NoSQL

Étude de cas Shutterfly - résultats

  • Gain de performance
    • Inserts 400 ms -> 2 ms
  • Mise à l'échelle horizontale
  • Schéma flexible -> développement rapide
    • Tags, commentaires, etc. faciles à implémenter
  • Nouveaux schémas de requêtes
  • Réduction des coûts
Concepts NoSQL

Étude de cas Shutterfly - résultats

  • Gain de performance
    • Inserts 400 ms -> 2 ms
  • Mise à l'échelle horizontale
  • Schéma flexible -> développement rapide
    • Tags, commentaires, etc. faciles à implémenter
  • Nouveaux schémas de requêtes
  • Réduction des coûts
1 https://www.mongodb.com/who-uses-mongodb
Concepts NoSQL

Passons à la pratique !

Concepts NoSQL

Preparing Video For Download...