• Aucun résultat trouvé

Apache CouchDB

N/A
N/A
Protected

Academic year: 2022

Partager "Apache CouchDB"

Copied!
16
0
0

Texte intégral

(1)

Apache CouchDB

Apache CouchDB has started. Time to relax.

Maes Benjamin Brimeux Benoit

(2)

Sommaire

• CouchDB qu’est ce que c’est ?

• Le modèle de cohérence

• DEMO

(3)

CouchDB qu’est ce que c’est ?

Base de données NoSQL

Permet le stockage de documents

Architecture Distribuée

Réplication des données

Multi-plateformes

(4)

CouchDB qu’est ce que c’est ?

Le stockage de documents

• Seulement des ajouts de fichiers

• Stocker sous le format JSON

• Accès par l’API HTTP RESTful

• Visualisation grâce à Javascript

et des fonctions MAP REDUCE

(5)

CouchDB qu’est ce que c’est ?

Le système de persistance

Le système de commit garantie a 100% toutes les transactions

Les données déjà présentes ne seront jamais écrasées (append-only)

Aucun processus d’arrêt

Aucune commande de maintenance nécessaire (un système sans problèmes)

(6)

CouchDB qu’est ce que c’est ?

Le système de persistance

Les documents sont sérialisés

L’accès en lecture n’attend pas la fin de l’accès en écriture

Même sur le même fichier

Multiversion concurrency control (MVCC)

système de contrôle des accès concurrents

(7)

CouchDB qu’est ce que c’est ?

Le système de persistance

2 étapes de commit :

Etape 1 : Les documents et index associées mis à jour sont « flush » sur le disque (append to file)

Etape 2 : La mise à jour de l’en-tête de la base de données est écrite dans 2 « chunks » identique et consécutif pour constituer les 4

premier Ko du fichier

Gestion des erreurs

Cas 1 : les « flushs » partiel sont simplement ignorés Cas 2 : La copie survivante est utilisée

(8)

CouchDB qu’est ce que c’est ?

Le système de persistance

(9)

CouchDB qu’est ce que c’est ?

Le système de replication

• Système distribué basé sur le Peer-to-Peer

• Réplications partielles autorisées

• Les Peers accèdent et mettent à jour la même donnée tant qu’ils sont déconnectés

(10)

CouchDB qu’est ce que c’est ?

La résolutions des conflits de réplications

Les documents en conflits sont répliqués

Après réplication un document est marqué comme le

« gagnant » par un algorithme déterministe

Le même choix sera fait par tout les peers

Les autres révisions sont marquées « _deleted » et seront supprimées pendant la compaction des

données

Il existe un historique des révisions et des conflits

(11)

Le modèle de Cohérence

Le théorème CAP

Cohérence (ou consistance des données) (Consistency en anglais): tous les nœuds du système voient exactement les mêmes données au même moment ;

Disponibilité (Availability en anglais) : garantie que toutes les requêtes reçoivent une réponse;

Tolérance au partitionnement (Partition Tolerance en anglais) : aucune panne moins importante qu'une coupure totale du réseau ne doit empêcher le système de répondre correctement (ou encore : en cas de morcellement en sous-réseaux, chacun doit pouvoir fonctionner de manière autonome)

(12)

Le modèle de Cohérence

Le théorème CAP

(13)

Le modèle de Cohérence

Cohérence Locale

- Absence de verrouillage (MVCC)

(14)

Le modèle de Cohérence

Validation

• CouchDB permet la création de formulaire de validation pour les documents

• Des Fonctions Javascript (du même genre que MapReduce ) sont utilisées pour la validation

(15)

Demo CRUD

(16)

Réferences

• CouchDB the Definitive guide

http://guide.couchdb.org/editions/1/fr/

• CouchDB Documentation

http://docs.couchdb.org/en/2.0.0/

Références

Documents relatifs

Cette gestion explicite du partage de données par les applications pose un réel problème, surtout en ce qui concerne la gestion de la cohérence des données. Lorsqu’un processus

Concernant l’hypothèse de l’influence du contexte historique particulier de la région d’El Milia sur le processus d’acquisition de cette langue, et d’après

En effet, le choix d’une technique de distribution de données et d’un protocole de cohérence des données as- socié se base sur des critères de performance notamment la

Les SRCE ne peuvent donc être considérés comme un « inventaire » (Sordello 2017) de réservoirs et de corridors écologiques. Tels qu’inscrits dans la loi, ils sont avant tout

La BDC-Parole comporte une partie de données (ou connaissances déclaratives) représentées par les objets et une partie connaissances déductives faisant appel à des objets

Notre solution assure trois niveaux de sécurité : - Capacité de restauration des données en cas de non disponibilité du service ou de la disparition d’un fournisseur puisque

Le contraire (se faire contrôler au moins une fois) a donc 65,7% de chances de