Comme ce fut le cas des récentes versions du système de stockage de données NoSQL, la dernière mouture de MongoDB arrive avec son lot de fonctionnalités destinées à séduire le marché des entreprises, dont un moteur de recherche intégré, un meilleur support pour les données géospatiales et la capacité d'équilibrer la charge de travail entre plusieurs serveurs de manière plus efficace. «Nous avançons plus vite», a déclaré Kelly Stirman, directrice du marketing produit de 10gen, laissant entendre que la base utilisateur croissante de MongoDB apportait plus de ressources à l'entreprise.

Disponible depuis mardi, la version 2.4 de MongoDB sort six mois seulement après la dernière version majeure estampillée 2.2. « Nous avons considérablement augmenté la taille de notre ingénierie et l'entreprise a grandi de façon spectaculaire l'année passée », a encore déclaré Kelly Stirman. L'éditeur a également mis à jour MongoDB Enterprise, laquelle comporte des fonctions d'administration et de sécurité supplémentaires.

Répartition des données sur plusieurs serveurs 

Depuis que 10gen a développé MongoDB en 2007, le système de gestion de base de données orientée documents a été téléchargé plus de 4 millions de fois. Conçu pour ingérer et lire très rapidement de grandes quantités de données, il a fait ses preuves au point de devenir populaire dans les domaines de l'analyse, de la gestion de contenu, de l'infrastructure mobile et sociale et de la gestion des données utilisateur. 10gen assure aussi le support de plus de 600 clients payants qui ont opté pour la version Entreprise de son système de stockage de données, parmi lesquels Craigslist, Disney, Electronic Arts, eBay, Foursquare, Intuit, LexisNexis, MTV, Salesforce.com et Telefonica.

L'une des grandes nouveautés de la version 2.4 de MongoDB, c'est qu'elle sait répartir les données en utilisant le sharding - ou partitionnement de données - par hashage (hash sharding). Le sharding consiste à répartir différents éléments d'un tableau de données sur plusieurs serveurs. Le découpage des données de la base se fait aléatoirement en fonction de hash key sur tous les serveurs disponibles. D'une part, la répartition des données est plus uniforme, ce qui minimise les points chauds qui peuvent se produire lorsqu'un groupe de données - celles capturées récemment par exemple - stocké sur un serveur unique est consulté trop fréquemment. D'autre part, les requêtes portent sur moins d'occurrences et le résultat est plus rapide. « La distribution des documents en lecture/écriture est bien meilleure », a expliqué Kelly Stirman, ajoutant que le sharding horizontal (range sharding) utilisé par défaut dans les versions précédentes est toujours disponible.

Un moteur de recherche sans traitement du language naturel 

Le moteur de recherche intégré, encore en bêta, permet éventuellement de se passer d'un moteur de recherche externe, comme Apache Lucene/Solr. Il est limité à de la recherche textuelle simple et n'offre donc pas toutes les fonctionnalités d'un moteur de recherche autonome, le traitement du langage naturel par exemple. « Mais, parce qu'il est intégré à MongoDB lui-même, il est beaucoup plus facile à configurer et à utiliser », a affirmé la directrice du marketing produit de 10gen. « Ce moteur est suffisant pour un grand nombre d'applications, et la communauté des utilisateurs sera ravie, car ils n'auront pas à se soucier de l'intégration d'une autre technologie, surtout s'ils font des déploiements à travers plusieurs datacenters. Avec MongoDB, c'est assez facile », a ajouté Kelly Stirman.

MongoDB 2.4 comporte aussi un certain nombre de nouvelles techniques qui peuvent permettre aux développeurs de faire un meilleur usage des données. L'une d'elles, les collections plafonnées, ou capped arrays, devrait s'avérer intéressante dans les environnements Web 2.0 interactifs. La fonction « collection plafonnée » permet de fixer une limite au nombre d'éléments que peut contenir une table. Par exemple, elle peut être utile dans un site web pour afficher les 20 commentaires les plus populaires.

Des comptages plus rapides

Un grand nombre d'utilisateurs de MongoDB se servent du système de stockage de données pour récupérer des informations de géolocalisation, et cette version offrira un certain nombre d'améliorations dans ce domaine, notamment un modèle sphérique de la Terre plus précis. MongoDB 2.4 supporte également le format ouvert GeoJSON pour coder les données géospatiales, ce qui permet de les partager entre différents systèmes. Sur le plan des performances, le comptage des opérations de MongoDB a été remanié. Les comptages, désormais basés sur l'index, sont 20 fois plus rapides que dans les éditions précédentes. « Le framework d'agrégation du système de stockage, qui peut servir de base pour analyser les données en temps réel, est désormais trois à cinq fois plus rapide pour de nombreuses opérations », a affirmé l'éditeur.

Quant à MongoDB Enterprise, cette version comporte aussi des fonctionnalités supplémentaires. La mise à jour comporte un outil de contrôle sur site, capable de suivre plus de 100 indicateurs opérationnels en temps réel sur un système MongoDB. Auparavant, 10gen proposait ces mesures de paramètres sous forme de service. C'est donc la première version qui offre des outils de mesure pour les systèmes internes. MongoDB Enterprise prend également en charge le protocole d'authentification réseau Kerberos, qui permet aux applications de s'authentifier de façon sûre auprès de MongoDB. 

Le prix de MongoDB Enterprise démarre à 5 000 dollars HT par an. Il comprend un support technique 24/24 et garanti une réponse dans l'heure, dans les situations critiques.