Comparatif des bases de données NoSQL CouchDB : une base orientée documents bien adaptée au web

 À choisir pour : CouchDB est la base de données du Web. Son orientation documents et son interface REST excellent pour construire des projets web ou à destination des terminaux mobiles. CouchDB est à préférer pour les besoins où la richesse fonctionnelle l'emporte sur les grands volumes et la disponibilité. Pour les besoins de grandes performances, voir du côté de Couchbase Server, le successeur de CouchDB.

 Types de données manipulées : document JSON.

 Maintien de la cohérence : cohérence finale (eventual consistency). À la base, CouchDB n'étant pas distribué, la cohérence locale est gérée par un verrouillage optimiste : CouchDB maintient automatiquement un numéro de version sur chaque document. Pour modifier un document existant, il faut indiquer son dernier numéro de révision, sinon la mise à jour est refusée.

 Mode de distribution : pas de distribution native. Un système de réplication des données permet d'échanger les modifications d'une base avec un autre serveur, mais cela doit être géré manuellement. Pour une version nativement distribuée, voir Couchbase Server.

Développé en : Erlang, un langage développé à l'origine par la société Ericksson et qui est conçu spécialement pour le traitement parallèle et l'informatique distribuée.

 Licence et support : Apache 2.0. CouchDB est un projet de la fondation Apache.

 Protocole : REST exclusivement. Il n'y a pas d'interface rapide et plus bas niveau.

 Points forts : grande richesse fonctionnelle au niveau du serveur, vues, filtres dans des documents de design et incorporation possible de traitements complexes sur le serveur, ce qui peut l'amener à devenir également un vrai serveur applicatif. La simplicité de mise en oeuvre est aussi un des points forts de CouchDB, qu'on a étiqueté de "base de données du Web". Fonctionnalités de réplication et de surveillance des changements simples mais solides et bien faites.