Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Apprendre les bases de données CouchDB : Le guide authentique - Introduction
Un cours de J. Chris Anderson Jan Lehnardt et Noah Slater

Le , par Community Management

0PARTAGES

4  0 
Bonjour

Je vous présente un tutoriel pour apprendre les bases de données avec CouchDB : CouchDB : Le guide authentique - Introduction

Citation Envoyé par Introduction
Apache CouchDB est une nouvelle espèce de système de gestion de bases de données. Ce chapitre explique les raisons du besoin de nouveaux systèmes ainsi que les motivations sous-jacentes à la conception de CouchDB.

En tant que développeurs de CouchDB, nous sommes bien entendu très excités à l'idée de pouvoir utiliser CouchDB. Tout au long de ce chapitre, nous partagerons avec vous les raisons de notre enthousiasme. Nous vous montrerons pourquoi le modèle de document sans squelette de CouchDB est une meilleure solution pour les applications classiques, en quoi le langage de requête qu'il intègre par défaut est un moyen puissant d'utilisation et de traitement de vos données, et en quoi la conception même de CouchDB se prête à la modularisation et au passage à l'échelle.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de eclesia
Rédacteur https://www.developpez.com
Le 21/02/2016 à 17:28
Nous l'avons utilisé pour une projet sur N sites et dispositifs mobiles desynchronizé (tablette).

Les positifs :
- le modèle document permet plein de chose

Les négatifs :
- le modèle document n'est viable que pour des modèle de donnée simpliste avec tres peu de type de document différent.
- les collisions entre les versions de document
- aucune gestion des contraintes d'intégrité, en clair c'est a vous de réinventer le suppression en cascade, les document en référence null, etc... etc ...
- la lenteur de recherche dans les documents un peu complexe
- un Nieme language de requetage a apprendre ...
- mode connecté/déconnecté pas viable en pratique a cause des gestions de versions et de l'absence de contrainte, les bases finissent dans un état d'intégrité douteux.

CouchDB ne fait pas exception à la règle malheureusement, les bases NoSQL sont faites pour des niches tres spécifique qui ont besoin de moins d'une dizaine de type de document différent.

J'ai pu jouer un peu avec d'autres bases : OrientDB, Casandra et dans une moindre mesure Neo4j et Titan.

Les quelques nouveautés qu'apportent le nosql ne compense pas la quantité de chose perdue, dans le cas de CouchDB on pensait gagner du temps avec le support du mode déconnecté, mais au final tous les éléments manquant à 'bidouiller' part dessus couchdb on prit plus de temps que si on était parti d'une base sql.

Ma recommandation est assez simple : passez votre chemin, restez sur une base traditionnelle
2  0 
Avatar de nathieb
Membre expérimenté https://www.developpez.com
Le 16/02/2016 à 16:46
Bonjour,

Plutôt bien comme introduction, mais il manque un partie essentielle qui fait une des forces de CouchDB, le Reduce,
ne pas le montrer est je crois une perte d'information essentielle pour le sujet.
Une exemple a la clef est simple, il suffit de rajouter _count ou _stats dans la partie reduce.
exemple https://wiki.apache.org/couchdb/Buil...duce_Functions

J'utilise ces fonctions d'agrégations dans un cadre décisionnel, et franchement c'est plutôt top.

Olivier
1  0 
Avatar de noOneIsInnocent
Membre éprouvé https://www.developpez.com
Le 19/02/2016 à 9:44
Bonjour

J'ai eu l'occasion d'utiliser CouchDB pour un projet assez conséquent et j'avoue que j'ai été déçu des API Java qui ne gère pas la gestion concurrentielle pour éviter les conflits de révision. J’espère bientôt une prise en compte dans le projet Spring Data
Et le second point est que Futon n'est à mon sens pas très pratique à utiliser, si ce n'est pour les map

Effectivement la fonctionnalité de Reduce est vraiment intéressante à exploiter
0  0 
Avatar de micka39
Nouveau membre du Club https://www.developpez.com
Le 19/02/2016 à 18:44
Bonsoir,

L'introduction est bien mais je pense qu'il faudrait aussi d'un des points forts de CouchDb, l'interopérabilité avec d'autres dérivés comme PouchDB qui permet de synchroniser hors ligne une base CoucheDB avec un mobile, un navigateur, etc tout en bénéficiant des révisions et du système de résolution des conflits.
0  0 
Avatar de Francis Walter
Expert éminent sénior https://www.developpez.com
Le 19/02/2016 à 18:51
Bonsoir,

Ce n'est que la partie 1, les autres parties viendront vite.
Vous aussi vous pouvez nous aider à préparer les autres parties qui restent à publier (contactez-moi par mp)
0  0