Hello World Couchbase

couchbase-logo

Dans cette série de billets, nous allons présenter la base de données Couchbase. Il s'agit d'une base de stockage de données non structurées de type NoSQL, document.

Présentation de la solution Couchbase

Couchbase server est une solution NoSQL qui peut s'utiliser comme un gestionnaire de stockage de données :

  • Sous forme de document au format JSON
  • Sous forme de stockage clé/valeur

Elle offre également la possibilité d'être utilisée sous forme de cache distribué en implémentant l'API Memcache.

Historiquement cette solution est le résultat de la fusion des deux entreprises Membase Inc et CouchOne Inc pour former Couchbase Inc. Cette fusion regroupe les deux solutions de chaque entreprise, Memcached et CouchDB.

Son principe de fonctionnement, par défaut, est le suivant:

  • En écriture, le moteur de stockage enregistre la donnée en mémoire (memcached). Il renvoie alors la réponse au client comme quoi l'écriture de la donnée a été correctement réalisé et, en parallèle, il enregistre la donnée sur disk
  • En lecture, Couchbase va chercher si la donnée existe en cache. Si elle existe, il renvoie la donnée au client sinon ; il va rechercher la donnée sur le disque et la renvoie au client (si elle existe) en la rajoutant en passant au sein du cache (memecached).
couchbase_principle

Principe de fonctionnement de Couchbase

Par ailleurs, Couchbase offre la possibilité de scale out (via du sharding) et de haute disponibilité (via de la réplication) en rajoutant des serveurs pour former un cluster.

couchbase_architecture

Premiers pas

Installation

Pour installer cette base de données, vous pouvez suivre la documentation en ligne ou l'installer facilement grâce à Docker !

$>docker run --name my-couchbase-instance -d -p 8091-8093:8091-8093 -p 11210:11210 couchbase/server

A partir de là, vous n'avez plus qu'à suivre le processus d'installation

installation_01

installation_02

installation_03

installation_04

installation_05

installation_06

installation_07

installation_08

 

Un petit tour d'horizon

Comme vous avez pu le voir sur la page précédente, la page d'accueil vous présente un aperçu de votre cluster (ici composé uniquement du serveur local). Ceci est très pratique pour savoir comment vont nos données wlEmoticon-smile[2]

Vous pouvez également voir:

  • L'état de chacun de vos serveurs composant votre cluster sur l'onglet Server Nodes,
  • Vos différentes bases (appelée Buckets) sur l'onglet Data Buckets,
  • Les vues, concept particulier à Couchbase qui n'a rien à voir avec les vues SQL,
  • Vos indexes,
  • Configurer la réplication cross datacenter sur l'onglet XDCR,
  • Les logs du serveur,
  • Enfin la configuration du serveur couchbase auquel vous êtes connecté

onglet_server

onglet_cluster

Notre première donnée dans Couchbase, "Hello World"

En ce qui nous concerne, nous allons nous rendre sur notre bucket de données, default pour créer notre "Hello World".

Suivez l'interface très intuitive et cliquez sur Documents pour visualiser les données et faites "Create Document".

creation_donnee_01

creation_donnee_02
Couchbase, n'est qu'un espace de stockage basique, non structuré. Par conséquent, il ne gère pas la clé des données et a juste besoin d'une clé pour stocker le document.

Nous saisirons helloworld ainsi que notre document comme le montre les screenshots... Et voilà ! Notre première donnée non structurée (au format document JSON) est stockée au sein de Couchbase wlEmoticon-smile[2]

creation_donnee_03

Ici, j'ai mis volontairement comme clé person::helloworld ... Si vous regardez bien, cela correspond à mon entité (person) et son identifiant (helloworld). Au sein de Couchbase, cela peut très vite devenir compliqué si l'on ne type pas à minima nos documents pour pouvoir les interpréter par la suite. Par ailleurs, le nom de l'entité (== la table en SQL) nous permettra de bien distinguer nos différents types de données.

Conclusion

Nous aurons vu au sein de ce premier billet la facilité d'installer et de pouvoir interagir avec une base de données Couchbase.

Je vous montrerai dans le prochain billet comment interagir avec cette base depuis une application JAVA.

A très vite !

2 commentaires

  1. salut
    merci pour ce tuto trez simple, ça fait une semaine que cherche a comprendre couchebase sans reultat ! mai grace a ce tuto j’ai fai mon 1er pas

    je trouve pas le lien ver « comment interagir avec cette base depuis une application JAVA. »
    merci

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.