CouchDB 2.0 accélère

22/09/2016
logo CouchDB

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.

Un dinosaure du NoSQL

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.

Une mise à jour très (trop) attendue

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.

Support du clustering

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 :

  • La tolérance aux pannes : quand un serveur n’est plus disponible, les bases de données sur cette grappe restentmalgré toutaccessibles.
  • Les performances : chaque serveur ne possédant qu’une partie des données, il n’y a aucun besoin d’indexer l’intégralité des données. Ceci a pour effet direct de réduire la charge du serveur.
  • La capacité : d’évidence, l’utilisation d’une grappe de serveurs permet de stocker des volumes de données qui ne tiennent pas sur un unique serveur.
L’administration de CouchDB

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.

Screenshot 2016-07-27 14.31.23
Faciliter le requêtage

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.

Des performances en hausse

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

Solutions

comments powered by Disqus
top