Couchbase est une technologie de base de données NoSQL, orientée document, qui propose de très hauts niveaux de performances et de disponibilité. Découvrez l’alternative à MongoDB
Couchbase est une base de données NoSQL multimodèle, qui allie la performance d’une base de données orientée documents, capitalisant sur le stockage en mémoire RAM, tout en gérant une persistance éventuelle sur disque dur afin d’assurer la durabilité des données qui lui sont envoyées.
Couchbase modélise les données sous format clé valeur où chaque élément contiendra un identifiant unique et chaque valeur sera un objet JSON qui contiendra l’ensemble des données pour cet élément.
Pour en savoir plus sur cette technologie de base de données, je vous invite à aller voir le guide complet Couchbase.
Informations et prérequis
Dans ce guide, nous allons créer une version bac à sable de Couchbase Server Entreprise Edition, afin de commencer à manipuler la base de données.
Pour pouvoir suivre ce guide, il est essentiel que vous ayez installé docker sur votre mac ou sur votre PC.
Afin que vous puissiez faire tourner votre serveur Couchbase, il est recommandé que votre machine dispose au minimum des ressources listées ci-dessous:
- 4Go de RAM
- CPU 2Ghz
- 8Go en disque dur SSD
Vous pouvez également consulter les recommandations officielles de Couchbase ici
Télécharger l’image Docker et lancer le serveur Couchbase
Dans votre terminal, lancez la commande:
docker run -t --name db -p 8091-8096:8091-8096 -p 11210-11211:11210-11211 couchbase/server:enterprise-7.0.0
Dès que vous verrez le message ci-dessous s’afficher sur votre terminal, cela voudra dire que votre serveur est accessible depuis votre navigateur à l’url http://localhost:8091
Starting Couchbase Server -- Web UI available at http://<ip>:8091 and logs available in /opt/couchbase/var/lib/couchbase/logs
Configurer votre serveur Couchbase
En accédant à l’interface UI de votre serveur Couchbase via le navigateur, vous pourrez créer un cluster et le configurer.
Étant donné que dans ce guide nous cherchons simplement à comprendre le fonctionnement de Couchbase, nous allons nous allons configurer un cluster avec un seul nœud (single node). Ce n’est pas la configuration qu’il faudra choisir lorsque vous voudrez utiliser Couchbase dans un contexte d’une application en production.
Une fois que vous avez accédé à l’interface d’administration, cliquez sur Setup New Cluster.
Donnez un nom à votre cluster dans le champ Cluster Name puis définissez les accès administrateur en choisissant un nom d’utilisateur dans Create Admin Username et un mot de passe dans Create Password et Confirm Password.
Pour terminer la configuration du serveur, il n’y aura plus qu’à accepter les conditions d’utilisations comme illustré ci-dessous:
Allouez les ressources
Au moment d’accepter les conditions d’utilisations Couchbase, vous avez le choix de terminer la configuration de deux façons.
La première est d’accepter les affectations par défaut de Couchbase. La seconde est de configurer manuellement l’affectation de l’espace mémoire RAM pour chaque fonctionnalité qu’offre Couchbase.
Comme vous le remarquez, Couchbase propose d’allouer et de répartir de l’espace RAM entre plusieurs de ses fonctionnalités:
- Le service Data va recevoir les données que l’application va lui passer. C’est le seul service indispensable dans un cluster Couchbase
- Le service Query n’est pas concerné par l’affectation de ressource RAM. Il s’agit uniquement de rendre disponible les requêtes N1QL pour accéder aux données. Ce service a besoin du service Data et du service Index pour fonctionner pleinement
- Le service Index
- Le service Search
- Le service Analytics
- Le service Eventing
- Le service Backup
Pour en savoir plus sur les différents services Couchbase, je vous invite à lire la section Services du guide complet Couchbase.
Dans le cadre de ce guide de découverte, nous allons utiliser uniquement les services Data, Query, Index et Backup. Vous pouvez allouer les ressources comme suit:
Lorsque vous avez terminé, cliquez sur Save & Finish. Vous arriverez ainsi sur l’interface d’administration de votre cluster Couchbase
Utiliser son serveur Couchbase
Charger l’échantillon de données
Pour continuer notre découverte, nous allons charger un échantillon de données que nous propose Couchbase.
Depuis votre tableau de bord, cliquez sur Sample Buckets puis cochez travel-sample avant de cliquer sur le bouton Load Sample Data.
Les données échantillons se chargent en quelques secondes. Une fois le message d’alerte de succès, vous pouvez cliquer sur Dashboard et voir que votre cluster commence à donner des signes de vie.
Buckets: Explorons les données
Les données importées sont stockées dans ce que Couchbase appelle un Bucket. C’est l’équivalent d’une base de données complète pour une base de données relationnelle. Un cluster Couchbase peut héberger jusqu’à 30 buckets.
En cliquant sur le lien Bucked dans votre dashboard, vous pourrez voir le seul bucket que vous avez pour l’instant:
Sur cette page, vous pouvez cliquer sur le lien Documents, pour voir directement l’ensemble des documents que cette « base de données » contient, ou sur Scopes & Collections pour voir l’arborescence d’organisation des données.
En cliquant sur Scopes & Collections, nous allons pouvoir voir comment cette base de données a été organisée:
Vous pouvez explorer les données depuis l’UI d’administration
Les données contenues dans cet échantillon ont été organisées dans différents scopes. Les scopes tenant_agent représentent ce qu’on peut penser être des agents de voyages. Chaque scope tenant_agent va regrouper ses users, que l’on devine être les clients de l’agent de voyages, et les bookings, qui représentent les réservations.
Le scope inventory quant à lui va rassembler les collections hotels, landmark, routes, airlines et airport, qui seront utilisées par les différents agents de voyages pour composer un voyage.
Cliquez maintenant sur Documents au niveau de la collection airline.
Nous arrivons enfin à accéder à un des documents de ce jeu de données. Dans cette page, vous avez une liste des documents que contient. Cette collection, affiché par lot de 10.
Comme vous pouvez le voir, le document contient la clé « airline_10 » et un objet JSON contenant plusieurs données en valeur.
Depuis cette interface, vous avez la possibilité de modifier, dupliquer ou supprimer facilement un document.
Cliquez sur l’id d’un document ou sur le bouton contenant l’icône du crayon pour accéder à l’éditeur.
Dans cet éditeur, vous pouvez effectuer directement des modifications sur le document et les enregistrer en cliquant sur le bouton Save.
Notez tout de même que l’interface Couchbase permet de modifier des documents jusqu’à 10MB, bien que la taille maximale autorisée soit de 20MB. Si vous vous situez au-delà de 10MB, il faudra passer par une application ou par une requête cURL.
Vous avez également la possibilité d’ajouter un document depuis la liste des documents en cliquant sur le bouton ADD DOCUMENT.
Aller plus loin avec Couchbase
Nous arrivons maintenant au bout de ce guide de démarrage sur Couchbase. Vous savez maintenant démarrer un cluster depuis votre machine et avez accès à des données.
Découvrez maintenant notre guide sur les requêtes N1QL afin d’accéder et manipuler les données de votre cluster.