CouchDB, l’une des plus anciennes solutions open source de gestion de base de données du type NoSQL est mise à jour en version 2.0. Cette mise à jour longtemps attendue apporte le support du clustering, un nouveau moteur de requête et une nouvelle interface d’administration.
CouchDB est l’une des plus anciennes solutions dédiées à la gestion des bases de données du type NoSQL : sa première livraison date de 2005. En 2008 le projet CouchDB est rattaché à la fondation Appache. Malheureusement, elle prend à partir de cette période un certain retard sur les solutions concurrentes. Elle garde avant tout une qualité encore inégalée : la réplication des instances primaires. CouchDB a fait aussi l’objet d’un portage en JavaScript, exécutable dans les navigateurs et compatible avec le protocole de réplication initial. Le collaboration des deux composants permet notamment de créer des applications de type PWA, capables d’agir sans connexion Internet.
La mise à jour majeure 2.0 de la solution CouchDB était attendue depuis plusieurs années. Maintes fois annoncée, elle a subi de nombreux retards.
C’est l’élément le plus marquant de cette nouvelle version. Il est dorénavant possible de faire fonctionner CouchDB sur une grappe de serveurs sans se soucier de quelle instance possède quel document. L’implémentation de cette fonctionnalité repose sur Dynamo et se présente sur trois qualités essentielles :
L’interface administration des bases de données CouchDB peut se résumer à une simple page HTML contenant du JavaScript grâce à l’API de CouchDB, supportant intégralement HTTP. Une nouvelle interface d’administration, intégralement réécrite fait son apparition. Plus simple d’utilisation, Fauxton, arbore une esthétique plus moderne et elle est aussi plus facile à maintenir.
Le système d’indexation et d’analyse des requêtes issu de la première version de CouchDB est toujours présent dans la mise à jour. Il est cependant assez compliqué à prendre en main, passant par la construction de vues en map/reduce. CouchDB 2.0 amène pour simplifier sa prise en main une nouvelle interface dénommée Mango, inspirée de MongoDB.
Globalement, CouchDB 2.0 a bénéficié d’un travail important sur les performances. La mise en place d’une nouvelle méthode à l’API HTTP de CouchDB a permis par exemple d’accélérer les temps de réplication. Les processus de compactage ont eux aussi été revus. Plus efficaces, ils optimisent la base de données en regroupant certaines données pour accélérer la réponse aux requêtes.
Source : blogs.apache.org