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