L’essentiel sur MongoDB
LeMagIT fait le point sur les principales bases de données du marché. Aujourd’hui SGBD NoSQL open source orienté documents, MongoDB.
MongoDB est un SGBD NoSQL open source orienté documents. Il prend en charge des types de données très divers. Le modèle de données documentaire de MongoDB permet aux développeurs de stocker et de combiner des données, quelle que soit leurs structures, sans sacrifier l'accès à ces données ni leur indexation. Ainsi, les administrateurs de base de données peuvent modifier dynamiquement le schéma sans aucune interruption de service.
Fonctionnalités de MongoDB
MongoDB 3.0, sorti en février, comporte plusieurs nouvelles fonctionnalités importantes. On compte notamment une API modulaire permettant à des sociétés tierces de développer des moteurs de stockage pour MongoDB, ainsi que la prise en charge du moteur de stockage WiredTiger.
Récemment acquis par MongoDB, WiredTiger est un moteur de stockage autonome open source, qui vient enrichir MongoDB de fonctions de compression et de gestion des accès simultanés au niveau des documents, améliorant ainsi les performances et l'utilisation des ressources.
Par ailleurs, la sécurité a été considérablement renforcée, grâce à des améliorations au niveau des protocoles TLS (Transport Layer Security) et SSL (Secure Socket Layer), à un nouveau mécanisme d'authentification des utilisateurs SCRAM-SHA-1, de type essai/réponse, et à l'abandon de méthodes obsolètes, telles que db.addUser().
D'autres améliorations récentes se sont traduites par des gains de performance : contrôle plus fin des accès, réduction des frais de stockage grâce à la compression native, prise en charge d'un plus grand nombre d'applications, support In-Memory expérimental, fonction étendue de déploiement géodistribué et plateforme Ops Manager. Cette dernière permet d'éliminer toute surcharge opérationnelle en simplifiant le déploiement, l'évolution, les mises à niveau et les sauvegardes.
Les principaux composants de MongoDB sont mongod, le processus de base de données principal ; mongos, le contrôleur et routeur de requêtes des clusters distribués (sharded clusters) ; et mongo, le shell MongoDB interactif, qui sert à émettre des commandes.
Les applications se connectent à la base de données via des pilotes. Il existe 10 pilotes pris en charge et plus de 30 pilotes communautaires conçus pour se conformer au style du langage de programmation natif utilisé par le développeur.
En outre, plusieurs outils sont intégrés au SGBD NoSQL MongoDB pour l'importation et l'exportation de données et pour les diagnostics. Ops Manager, fourni avec MongoDB Enterprise Advanced, peut servir à provisionner, surveiller, sauvegarder et faire évoluer MongoDB.
Le Cloud Manager propose un service MongoDB géré dans le Cloud. Pour plus d'informations, téléchargez le manuel MongoDB Architecture Guide.
Comme indiqué précédemment, MongoDB se décline en une édition open source et une édition commerciale. Cette dernière, MongoDB Enterprise Server, est proposée dans le cadre d'un abonnement MongoDB Enterprise Advanced, qui ajoute des fonctions de sécurité avancée, d'administration, d'assistance et de formation à la demande non disponibles dans l'édition open source.
Systèmes d'exploitation et types de données pris en charge
MongoDB est pris en charge sur plusieurs distributions Linux, ainsi que sous Windows, Oracle Solaris et Apple OS X.
MongoDB stocke les données sous forme de documents au format BSON, une représentation binaire de type JSON (JavaScript Object Notation). Le codage BSON complète la représentation JSON en y ajoutant des types de données supplémentaires, tels que les formats entier (int), long et virgule flottante.
Les documents BSON comportent un ou plusieurs champs, chacun contenant une valeur d'un type de données spécifique, dont des tableaux, des données binaires et des sous-documents.
Licences et tarifs
MongoDB peut être utilisé sous licence open source ou commerciale. La version open source est disponible sous licence AGPL et les pilotes, sous licence Apache. Les utilisateurs qui exploitent MongoDB sous licence AGPL peuvent acheter une assistance à la production (Production Support) dans le cadre d'un contrat mensuel ou annuel.
Vendus directement par MongoDB et ses partenaires, MongoDB Enterprise Advanced et MongoDB Production Support sont facturés par serveur physique, configuré avec une mémoire pouvant atteindre 512 Go.
MongoDB Enterprise Advanced comprend un gestionnaire Ops Manager commercial, un module de formation à la demande, MongoDB Enterprise Server et une assistance, avec un contrat de niveau de service d'une heure pour les problèmes critiques.
MongoDB offre également un package d'assistance au développement prévu pour 10 développeurs au maximum et un nombre illimité de serveurs pendant six mois. Ce package comprend une assistance technique, en plus des outils et fonctionnalités de MongoDB, ainsi que l'accès à MongoDB Enterprise Server et Ops Manager.
MongoDB est disponible dans ses distributions binaires et avec des gestionnaires de package à partir de la page de téléchargement de MongoDB. Outre une utilisation sur site, MongoDB Enterprise Server est disponible par le biais de plusieurs fournisseurs de Cloud.
Bien qu'il n'existe aucune mesure de référence standard du secteur pour les bases de données NoSQL, MongoDB fournit une indication de ses performances et de son évolutivité dans des applications réelles.