NoSQL : JSON, indexation distribuée et géoréplication débarquent dans Couchbase
Le concurrent de MongoDB

Le , par Hinault Romaric, Responsable Actualités
Couchbase Server, le système de gestion de bases de données NoSQL, vient de subir une mise à jour assez importante.

La version 2.0 de Couchbase introduit un modèle de stockage de documents et un magasin clé-valeur (key-value), permettant à l’outil de faire un grand pas dans le support du Big Data (gros volumes de données).

Pour rappel, CouchBase est un projet initialement basé sur le système noSQL Apache CouchDB, à la différence que le code Erlang de CouchDB a été entièrement réécrit en C++, avec des ajustements et ajouts en tirant profit du système de gestion de mémoire cache distribuée memcached.

Couchbase Server 2.0 prend désormais en charge le format JSON (JavaScript Object Notation) grâce à son nouveau modèle de données flexible. Il dispose d’un système d’indexation distribuée, de nouvelles capacités d’interrogation et intègre le support de MapReduce.

Le système NoSQL introduit également la fonction « cross data center replication » (XDCR), une sorte de géoreplication basée sur l’approche « active-active cluster », ou l’utilisateur peut décider de faire une réplication synchrone ou asynchrone en fonction du temps de latence réseau entre les centres de données.

La prise en charge de JSON, de l’indexation, de la recherche en texte intégral et des caractéristiques de MapRduce, étendent la base de données qui devient un gestionnaire de contenu riche, qui fournit aux développeurs des outils de gestion permettant une meilleure analyse des données, selon les responsables du projet.

Ainsi, les développeurs pourront stocker des documents JSON dans les bases de données, créer des index et effectuer des requêtes sur ceux-ci.

Toutes ces améliorations majeures font de Couchbase un puissant système NoSQL, qui n’a plus rien à envier à MongoDB.

Couchbase Server 2.0 est disponible gratuitement dans sa version Community Edition. L’édition Entreprise est basée sur cette version, mais dispose des derniers correctifs de sécurité.

Télécharger Couchbase Server 2.0

Source : Spécifications de Couchbase Server 2.0 (au format PDF)

Et vous ?

Que pensez-vous de ces nouveautés ?


 Poster une réponse

Avatar de heid heid
Membre éclairé
le 14/12/2012 14:16
J'utilise mongo, qu'apporte Couchbase de plus ?
Avatar de c_creatix c_creatix
Nouveau Membre du Club
le 19/12/2012 17:25
De mémoire couchbase dispose d'un versionning des documents. Il est donc plus simple de trouver la version du document d'il y a une semaine. Par contre il repose sur un système de vues et mapreduce pour faire les requêtes. Il n'est pas possible de faire des requêtes en direct depuis le programme il faut les écrire en avance. En tout cas ce que je raconte c'était le cas à l’époque de couchdb.
Avatar de moustic98 moustic98

le 24/12/2012 11:13
Bonjour,

auriez vous des exemple d'utilisation de base de données NoSql dans un système de GED/ECM tel Alfresco ou Maarch

Merci d'avance
Avatar de tgrall tgrall
Membre du Club
le 31/12/2012 7:58
J'utilise mongo, qu'apporte Couchbase de plus ?

Une facon de repondre a cette question est de regarder les points forts de chacune des solutions:
- Mongo est tres simple d'acces pour les developpeurs, notamment en supportant les requetes adhoc avec un langage de requete relativement simple. (attention a bien creer vos index avant de passer en production!)

- Couchbase a ete construit pour garantir de tres bonnes performances et une grande scalabilité. C'est pourquoi Couchase 2.0 s'appuie sur le protocol Memcache. D'autre part il est tres simple de modifier a chaud la topologie du cluster (ajout/suppression de noeud) tout en gardant l'application active. (rebalance/failover des data sur les differents noeuds). Voici quelques liens interessant sur Couchbase:
- Couchbase Performance Benchmarking (Benchmark effectué par Altoros en s'appuyant sur YCSB)
- http://gigaom.com/cloud/how-omgpop-s...n-three-weeks/ (DrawSomething & Couchbase)

Un case d'usage interessant, mais qui est ici completement different de Mongo est le remplacement de Memcache par Couchbase :
- http://www.couchbase.com/memcached
Avatar de tgrall tgrall
Membre du Club
le 31/12/2012 8:06
De mémoire couchbase dispose d'un versionning des documents.

Couchbase et Couchdb sont 2 produits differents. Couchbase 2.0 s'inspire du stockage de Couchsb pour le stockage des documents et la partie View. (mapreduce).
Mais le versionning des documents n'est pas present dans Couchbase 2.0. Trop couteux en terme de performances lorsque les applications ont un tres gros throughput.

Il n'est pas possible de faire des requêtes en direct depuis le programme il faut les écrire en avance.

Effectivement il faut creer les vues (requetes) en avance. Ceci est important pour garantir de bonnes performances de votre application lorsque le volume de donnée est important.
Cela dit il est possible, via les API de Couchbase de creer les views par programmation, voir Create views (MapReduce) from your Java application

Notes que pour d'autres bases de données, il est également necessaire de creer des index (en amont) afin de garantir de bonnes performances. Ce qui est équivalent; une vue dans Couchbase, crée un index qui est ensuite utilisable dans les requetes.
Offres d'emploi IT
Chef de projet e-commerce
CDI
COOPTALIS - Nord Pas-de-Calais - Région Lilloise
Parue le 24/03/2014
Technicien Télécommunications (H/F)
CDI
Links IT SERVICES - Aquitaine - PAU
Parue le 08/04/2014
FR-ATS-Nantes-Intégrateur poste de travail (H/F)
CDI
Atos Technology Services - Pays de la Loire - Nantes (44000)
Parue le 13/04/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula