II. 2. MongoDB
II.2.1.Présentation
MongoDB est l'un des systèmes de gestion de
données NoSQL les plus populaires. Développé par la
société new-yorkaise MongoDB Inc., il est disponible depuis 2009.
À l'heure actuelle, la dernière version disponible est la
4.6.8.
MongoDB vient du mot anglais humongous qui signifie «
énorme ». Il est un SGBD faisant partie de la mouvance NoSQL qui
n'est plus fondée sur l'architecture classique des bases relationnelles
où l'unité logique n'y est plus la table, et les données
ne sont en général pas manipulées avec le SQL.
MongoDB est un système de gestion de documents
orienté document, répartissables sur un nombre quelconque
d'ordinateurs de scalabilité (extensibilité ou
évolubilité) ou scalability en anglais, avec des performances
raisonnables et ne nécessitant aucun schéma de données
prédéfini. Il est écrit en C ++ et distribué sous
licence AGPL. Son objectif est de fournir des fonctionnalités
avancées.
Avant de fonder 10gen (renommée depuis en MongoDB
Inc.), Kevin Ryan et Dwight Herriman avaient déjà
créé Double Click, une entreprise bien connue de publicité
en ligne. Frustrés par l'impossibilité de monter en charge comme
ils le souhaitaient, ils décidèrent de développer une
plate-forme applicative distribuée conçue pour le cloud,
composée d'un moteur applicatif et d'une base de données, qu'ils
développèrent d'abord en JavaScript. Cette idée de
plate-forme applicative (un App Engine tel que celui de Google)
n'intéressait pas grand monde, mais la base de données
éveillait la curiosité, si bien qu'après un an, ils
décidèrent de libérer son code. Ce fut à ce moment
qu'un net intérêt commença à se manifester. Cet
engouement se traduisit par une activité importante de
développement par la communauté et un investissement grandissant
de la part de 10gen, notamment par le recrutement d'ingénieurs
spécialisés en SGBD.MongoDB est identifié par le logo
ci-dessous :
Figure 2.11:Présentation
logo du SGBD MongoDB.
II.2.2. Schéma
La conception du schéma doit prendre en compte les
particularités de l'application elle-même. Il faut regarder le
nombre de lectures et l'importance de chacune. Les requêtes et la
fréquence des mises à jour doivent également être
étudiées bien avant la conception du modèle.
II.2.2.1. Document
Le modèle de données MongoDB est
entièrement basé sur des documents. Le document est
représenté par un fichier BSON. Les caractéristiques de
ces fichiers permettent d'introduire des documents intégrés, ce
qui permet d'éviter les jointures et les transactions lourdes. Les
documents peuvent donc être comparés à plusieurs lignes
d'une table d'une base de données relationnelle.
MongoDB garantit la conformité ACID (atomicité,
cohérence, isolation et durabilité) au niveau du document. En
effet, toutes les données incluses dans un document peuvent être
collectées en une seule opération. Ainsi, toutes les
données peuvent être stockées dans un seul document pour
appliquer les caractéristiques ACID à l'ensemble de la base de
données [Abraham, 2016].
|