+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Community Manager

    Inscrit en
    avril 2014
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : avril 2014
    Messages : 644
    Points : 2 417
    Points
    2 417

    Par défaut Apprendre les bases de données CouchDB : Le guide authentique

    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.
    Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

  2. #2
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    Chef de projet/Architecte
    Inscrit en
    mai 2004
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet/Architecte
    Secteur : Service public

    Informations forums :
    Inscription : mai 2004
    Messages : 1 031
    Points : 1 460
    Points
    1 460

    Par défaut Avis

    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
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  3. #3
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2002
    Messages : 1 037
    Points : 1 230
    Points
    1 230

    Par défaut

    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

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    octobre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2006
    Messages : 37
    Points : 36
    Points
    36

    Par défaut

    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.

  5. #5
    Expert éminent sénior

    Avatar de Francis Walter
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2012
    Messages
    2 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2012
    Messages : 2 317
    Points : 26 488
    Points
    26 488

    Par défaut

    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)
    Vous avez envie de contribuer au sein du Club Developpez.com ?

    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, ...etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  6. #6
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 2 066
    Points : 2 970
    Points
    2 970

    Par défaut

    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

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo