Aller au contenu

Présentation#

Qu'est-ce que mongoDB ?#

  • Base de données moderne et non relationnelle
  • Fondée en 2007 (DoubleClick/10gen)
  • Open-sourced en 2009
  • Changement de licence en 2018

Un logiciel largement utilisé#

BrightRoll Castlight Health Citrix Craiglist Ebay ElectronicArts Forbes Foursquare GILT Github HTC IBM InVision MetLife SAP Shutterfly Sony T-Mobile Toyota Twitter Verizon ViaCom Zendesk ...

Pourquoi utiliser MongoDB ?#

  • Combler le fossé entre les systèmes de stockage clé-valeur et les SGBDR
  • Stockage orienté document
    • Les données sont stockées sous la forme de documents de style JSON.
  • Indexation sur n'importe quel attribut
  • Réplication et haute disponibilité
  • Auto-sharding
  • Requêtes riches
  • Mises à jour rapides sur place
  • Nombreux drivers pour des langages de programmation
  • Support professionnel de MongoDB

Avantages de MongoDB par rapport aux SGBDR#

  • Moins de schéma
  • La structure d'un objet unique est claire.
  • Pas de jointures complexes.
  • Possibilité d'interrogation approfondie.
  • Tuning.
  • Facilité de mise à l'échelle : MongoDB est facile à faire évoluer.
  • La conversion/mise en correspondance des objets de l'application en objets de la base de données n'est pas nécessaire.

Limitations de MongoDB#

  • Pas de transactions
  • Pas de jointures
  • Entiers 32 bits
    • MongoDB corrigé
    • Certains drivers limitent encore à 32 bits (même dans PHP 7.x 64bits)
  • Enorme consommation de RAM
  • Taille du document : 16 Mo
  • Authentification

Où utiliser MongoDB ?#

  • Big Data
  • Gestion et diffusion de contenu
  • Infrastructure mobile et sociale
  • Gestion des données utilisateur
  • Hub de données