La version 2.2 de MongoDB est disponible. En dehors des corrections de bugs et des multiples ajustements et améliorations qu'elle comporte, elle s'est enrichie de plusieurs fonctionnalités notables. La société 10gen, qui développe et supporte la base de données Open Source NoSQL, a notamment étendu son langage de requête pour améliorer la façon dont elle délivre ses données aux applications externes. Les développeurs disposent maintenant de modes d'extraction et de transformation plus sophistiqués. Selon Jared Rosoff, chargé du marketing produit chez 10gen, certains utilisateurs rencontraient des problèmes pour certaines manipulations relativement simples en SQL. « Nous avons donc cherché à faciliter l'écriture de code pour attaquer MongoDB », explique-t-il.

La version 2.2 inclut ainsi un lot d'opérateurs et d'expressions de requête, de même qu'un framework qui permet à la database de transformer elle-même les données par des procédures multi étapes. 10gen qualifie cet ensemble de technologies de « framework d'agrégation en temps réel ».  MongoDB présente aussi un nouveau mécanisme de verrouillage et peut, désormais, poser des tags sur des partitions horizontales (shards) particulières de la database.

Des transformations de données automatisées

MongoDB, comme la plupart des bases NoSQL, a été critiquée pour n'offrir que des méthodes simples pour extraire les données, en comparaison de la richesse du jeu de commandes procuré par les bases SQL. Avec les précédentes versions de MongoDB, toute intervention sur un jeu de requêtes devait s'opérer par une programmation externe, ou à travers le framework MapReduce ce qui, pour diverses raisons, n'était pas le plus approprié pour la base de données, soulignent 10Gen et divers autres contributeurs externes.

Le framework d'agrégation ajoute des requêtes, ce qui étend les capacités de traitement des données que la base MongoDB peut faire elle-même et pourra permettre de gagner du temps. Avec les nouveaux opérateurs, les développeurs pourront trier et agréger par groupes les données sur lesquelles portent les requêtes et leur appliquer diverses opérations. Un jeu d'expressions mathématiques permet d'ajouter, de soustraire, multiplier et effectuer d'autres calculs simples. Un jeu d'opérateurs logiques  servira à créer des champs calculés définis par l'utilisateur. D'autres expressions permettent d'intervenir sur les chaînes de caractères, les données et les dates. Le framework permet de constituer une chaîne de commandes pour filtrer et trier les résultats obtenus. Pour effectuer une requête, le client construit un document JSON représentant un pipeline qui peut être envoyé à la base de données, explique Jared Rosoff.

Au-delà du framework d'agrégation, MongoDB s'est enrichi d'autres fonctionnalités notables. L'une d'elles (Tag Aware Sharding) permettra aux entreprises de distinguer différents groupes de noeuds, par exemple tous ceux qui sont exploités dans un datacenter, ou bien tous ceux qui sauvegardent des réplications. La database présente également un nouveau mécanisme de verrouillage. MongoDB.org fournit des détails sur son blog ainsi qu'une vidéo d'explication.



Tag Aware Sharding dans MongoDB (agrandir l'image)