Vous êtes sur la page 1sur 4

Ce tutoriel fournit une brève connaissance de CouchDB, des procédures de configuration et des

moyens d'interagir avec le serveur CouchDB à l'aide de cURL et de Futon. Il explique également
comment créer, mettre à jour et supprimer des bases de données et des documents.

Le système de gestion de base de données fournit un mécanisme de stockage et de récupération des


données. Il existe trois principaux types de systèmes de gestion de bases de données, à savoir:

 SGBDR

 NoSQL

SGBDR

SGBDR est synonyme de système de gestion de base de données relationnelle. Le SGBDR est la base
de SQL et de tous les systèmes de base de données modernes tels que MS SQL Server, IBM DB2,
Oracle, MySQL et Microsoft Access.

Un système de gestion de base de données relationnelle (SGBDR) est un système de gestion de base
de données (SGBD) basé sur le modèle relationnel introduit par EF Codd.

Les données dans le SGBDR sont stockées dans des objets de base de données appelés tables . La
table est un ensemble d'entrées de données liées et se compose de colonnes et de lignes. Il ne stocke
que des données structurées.

Bases de données NoSQL

Une base de données NoSQL (parfois appelée Not Not SQL uniquement) est une base de données qui
fournit un mécanisme pour stocker et récupérer des données autres que les relations tabulaires
utilisées dans les bases de données relationnelles. Ces bases de données sont sans schéma, prennent
en charge la réplication facile, ont une API simple, éventuellement cohérente et peuvent gérer
d’énormes quantités de données (big data).

L’objectif principal d’une base de données NoSQL est d’avoir:

 Simplicité de conception,

 Mise à l'échelle horizontale, et

 Un contrôle plus fin sur la disponibilité.

Les bases de données NoSQL utilisent différentes structures de données par rapport aux bases de
données relationnelles. Cela rend certaines opérations plus rapides dans NoSQL. L’adéquation d’une
base de données NoSQL donnée dépend du problème qu’elle doit résoudre. Ces bases de données
stockent à la fois des données structurées et des données non structurées telles que des fichiers
audio, des fichiers vidéo, des documents, etc. Ces bases de données NoSQL sont classées en trois
types et sont expliquées ci-dessous.

Stockage clé-valeur - Ces bases de données sont conçues pour stocker des données dans des paires
clé-valeur et ces bases de données n'auront aucun schéma. Dans ces bases de données, chaque
valeur de données consiste en une clé indexée et une valeur pour cette clé.
Exemples - BerkeleyDB, Cassandra, DynamoDB, Riak.

Magasin de colonnes - Dans ces bases de données, les données sont stockées dans des cellules
regroupées dans des colonnes de données, et ces colonnes sont ensuite regroupées dans des familles
de colonnes. Ces familles de colonnes peuvent contenir un nombre quelconque de colonnes.

Exemples - BigTable, HBase et HyperTable.

Magasin de documents - Il s'agit des bases de données développées sur l'idée de base des magasins
de valeurs-clés où les "documents" contiennent des données plus complexes. Ici, chaque document
se voit attribuer une clé unique, utilisée pour récupérer le document. Celles-ci sont conçues pour
stocker, récupérer et gérer les informations relatives aux documents, également appelées données
semi-structurées.

Exemples - CouchDB et MongoDB.

Qu'est-ce que CouchDB?

CouchDB est une base de données open source développée par Apache Software
Foundation. L'accent est mis sur la facilité d'utilisation, sur le Web. C'est une base de données de
magasin de documents NoSQL.

Il utilise JSON pour stocker les données (documents), le script Java comme langage de requête pour
transformer les documents, le protocole http pour que l’API puisse accéder aux documents, interroge
les index avec le navigateur Web. Il s’agit d’une application multi-maître lancée en 2005 et qui est
devenue un projet Apache en 2008.

Pourquoi CouchDB?

 CouchDB possède une API REST basée sur HTTP, qui facilite la communication avec la base de
données. Et la structure simple des ressources et méthodes HTTP (GET, PUT, DELETE) est
facile à comprendre et à utiliser.

 Comme nous stockons des données dans la structure flexible basée sur les documents, il
n’est pas nécessaire de s’inquiéter de la structure des données.

 Les utilisateurs disposent d'un puissant mappage de données, qui permet d'interroger, de
combiner et de filtrer les informations.

 CouchDB fournit une réplication facile à utiliser, à l'aide de laquelle vous pouvez copier,
partager et synchroniser les données entre des bases de données et des ordinateurs.

Modèle de données

 La base de données est la structure / le conteneur de données le plus externe dans CouchDB.

 Chaque base de données est une collection de documents indépendants.

 Chaque document conserve ses propres données et son propre schéma.


 Les métadonnées du document contiennent des informations de révision, ce qui permet de
fusionner les différences survenues pendant la déconnexion des bases de données.

 CouchDB implémente le contrôle de simultanéité multi-version, pour éviter la nécessité de


verrouiller le champ de base de données pendant les écritures.

Caractéristiques de CouchDB

Stockage de documents

CouchDB est une base de données NoSQL de stockage de documents. Les documents constituent
l'unité principale de données. Chaque champ porte un nom unique et contient les valeurs de
différents types de données tels que texte, nombre, booléen, listes, etc. Dans ces documents, il n'y a
pas de limite définie pour la taille du texte ou le nombre d'éléments.

CouchDB fournit une API appelée API HTTP RESTful pour la lecture et la mise à jour (ajouter,
modifier, supprimer) des documents de base de données.

Vous trouverez ci-dessous un exemple de structure de document JSON suivi de couchDB ..

"field" : "value",

"field" : "value",

"field" : "value",

Propriétés de l'ACID

Le système de mise en page et d’engagement CouchDB présente toutes les propriétés ACID.

Une fois que les données sont entrées sur le disque, elles ne seront pas écrasées. Les mises à jour de
document (ajout, modification, suppression) suivent Atomicity, c’est-à-dire qu’elles seront
entièrement ou non enregistrées. La base de données ne contiendra aucun document partiellement
enregistré ou modifié.

Presque toutes ces mises à jour sont sérialisées et un nombre quelconque de clients peuvent lire un
document sans attendre et sans interruption.

Compactage

Le compactage est une opération qui consiste à utiliser de l'espace disque supplémentaire pour la
base de données en supprimant les données inutilisées. Lors de l'opération de compactage sur un
fichier particulier, un fichier portant l'extension .compaction est créé et toutes les données actives /
réelles sont copiées (clonées) dans ce fichier. Lorsque le processus de copie est terminé, l'ancien
fichier est supprimé. La base de données reste en ligne pendant le compactage et toutes les mises à
jour et lectures sont autorisées à se terminer avec succès.