Etude de cas MongoDB
Résumé : Etude de cas MongoDB. Recherche parmi 300 000+ dissertationsPar mgogo21 • 18 Avril 2021 • Résumé • 626 Mots (3 Pages) • 514 Vues
MongoDB est un SGBD dit orienté documents, qui n’utilise pas SQL. On appelle également ce type de SGBD NoSQL. Il a été conçu par la compagnie du même nom, MongoDB Inc., implantée dans la très célèbre Silicon Valley. Les données sont stockées dans des documents, s’apparentant à des objets JSON. Le présent travail fera un survol des situations dans lesquelles il serait favorable d’utiliser ce SGBD, ses principales différences avec le modèle relationnel, et finalement ses avantages et inconvénients.
Tout d’abord, MongoDB a été imaginé pour répondre à la plupart des besoins des applications WEB d’aujourd’hui. En effet, le système est particulièrement efficace lorsqu’on a un très grand nombre de données et d’utilisateurs à gérer, que ce soit au niveau du volume de données à stocker, ou au niveau du trafic pour l’accès à ces données. De plus, il facilite également la gestion de l’évolutivité des applications WEB en permettant une évolutivité horizontale (ajout de nouveaux serveurs) plutôt que verticale. L’évolutivité verticale consiste en l’amélioration du serveur utilisé au niveau de sa performance, qui devient impossible lorsqu’il utilise déjà tous les équipements les plus performants. Une autre situation pour laquelle il est intéressant d’utiliser MongoDB est lors des premières phases de la conception d’une application, car le modèle de données est sujet à changer fréquemment. En effet, puisque les objets ne sont pas liés entre eux, il est facile de les modifier. De plus, puisque le concept de relation n’existe pas, on peut utiliser plusieurs versions d’un même objet selon l’utilisation qu’on veut en faire.
Comme mentionné précédemment, la principale différence entre MongoDB et le modèle relationnel est sans doute l’absence de relations. Ainsi, le couplage des bases de données Mongo se veut très bas. Il n’y a donc pas de JOIN en utilisant MongoDB, puisque toute l’information nécessaire se trouve directement dans le document JSON. Les langages pour manipuler les données sont également très différents. Les commandes en SQL se rapproche volontairement des mots de l’anglais courant, faisant de lui un langage facile d’accès tout type d’utilisateurs, qu’il ait de l’expérience avec les langages de programmation ou non. Pour sa part, MQL (MongoDB Query Language) est destiné aux utilisateurs ayant de l’expérience avec les langages de programmation. Il serait extrêmement complexe pour quelqu’un n’ayant jamais manipuler de code d’utiliser MQL, qui se rapproche de langages classiques comme Java.
Finalement, les principaux avantages du modèle MongoDB sont sa gestion de l’évolutivité, son faible niveau de couplage ainsi que sa vitesse de performance. Les deux premiers sujets ont été abordés dans la description des besoins que comble MongoDB, mais parlons un peu plus de la performance de celui-ci. Des tests ont comparé la performance sur des opérations typiques de manipulations de données, soit l’insertion, la récupération, la mise à jour et la suppression. Dans chacun de ces cas, MongoDB s’est avéré plus rapide que MySQL, allant jusqu’à 1500 fois plus rapide lors de l’insertion de données. MongoDB a aussi certaines limites telles que la complexité du langage de manipulation des données, mentionnée ci-haut. Aussi, avec la grande flexibilité qu’offre ce modèle non-relationnel,
...