IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Décisions SGBD Discussion :

Avis sur l'utilisation de CouchDB, et no-sql orienté document en général


Sujet :

Décisions SGBD

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Avis sur l'utilisation de CouchDB, et no-sql orienté document en général
    Bonjour,

    J'aurais voulu connaître vos avis concernant l'utilisation du moteur CouchDB pour assurer le stockage des données d'une application pouvant être soumis à une forte charge.
    CouchDB est orienté document (grosso modo ça stocke du document json), et c'est justement là que mes doutes commencent. Je n'ai encore jamais utilisé de technologie No-Sql et j'ai du mal à visualiser comment une application pourrait entièrement reposer sur ce genre de techno.

    Typiquement un des besoins essentiels dans une application est le contrôle d'accès. Comment stocker intelligemment ça dans des documents json ?
    Pour info j'ai lu ça : http://paloit.developpez.com/tutorie...ntee-document/

    J'en ai conclut donc qu'il faut un document de type Acl (d'ailleurs comment définir un type de document ?) et que les documents de type "Account/User" définiront un champs "acl" qui contiendra les ids des documents Acls. C'est la bonne voie ou je me fourvoie complètement ?

    Second problème, tous les documents sont au même niveau (pas de hiérarchie ni de regroupement (à ma connaissance, et je sais que j'ignore beaucoup de trucs)). N'y a t'il pas un risque de "bordélisation" à long terme ? (Un peu comme le pourquoi on a inventé les dossiers de fichiers)

    Qu'en pensez-vous ? Est-ce qu'un système hybride n'est pas mieux adapté (relationnel et non relationnel pour bénéficier de la cohérence des données, et de la performance)
    Auriez-vous de la documentation avancée sur les bonnes pratiques du NoSql ?

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 759
    Points : 52 538
    Points
    52 538
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Cocoww Voir le message
    Bonjour,

    J'aurais voulu connaître vos avis concernant l'utilisation du moteur CouchDB pour assurer le stockage des données d'une application pouvant être soumis à une forte charge.
    Qu'estb ce que pour vous une "forte charge" ,
    2 000 utilisateurs insérant en parallèle des données ?
    Des transactions régulières insérant 100 000 lignes toutes les 10 millisecondes ?
    Un volume de données de 1 Go par minute ?

    CouchDB est orienté document (grosso modo ça stocke du document json), et c'est justement là que mes doutes commencent. Je n'ai encore jamais utilisé de technologie No-Sql et j'ai du mal à visualiser comment une application pourrait entièrement reposer sur ce genre de techno.
    ça, sert à gérer des documents non structurés (par exemple des mails) et faire essentiellement du "text mining"

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci pour votre réponse

    Forte charge..la question qui permet de cerner si la personne a saisi ce qu'était la forte charge :p (et peut-être que ma représentation est faussée!)
    Disons que dans un premier temps l'application n'aurait qu'une très très faible sollicitation, et que c'est dans l'optique d'une évolution de ces sollicitations que l'utilisation de CouchDB prendrait son sens.

    Il s'agit d'une application qui sollicitera beaucoup la lecture d'informations.
    Du coup l'idée c'est d'éviter les sollicitations d'un sgbdr vis à vis jointures entre les tables lorsque la fréquentation des utilisateurs augmentera (moins de calculs..toussa, si en plus il y a en place une technique de meta-data (les champs d'informations dynamiques)). En gros c'est en préventif.

    Après ma vision de ce genre d'outils est théorique, d'où mes questions (Et j'ai bien conscience que je peux être totalement à côté de la plaque)!

    ça, sert à gérer des documents non structurés (par exemple des mails) et faire essentiellement du "text mining"
    Donc du coup pour gérer des systèmes type acls ça serait overkill ? Dans ce cas faudrait-il (notez l'emploi du conditionnel) mettre en place un système hybride (relationnel pour certains systèmes et no-sql pour certaines données) ?

    Merci pour vos éclaircissements

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 759
    Points : 52 538
    Points
    52 538
    Billets dans le blog
    5
    Par défaut
    Dérivez mieux votre demande....

    Quels type de doc ?
    Sont-ils formatés même par famille ?
    Ont-ils des caractéristiques à stocker ?

    parce que interroger du JSON ou du XML c'est très notablement plus lent que du pur relationnel et donc vous allez avoir des problèmes de concurrence d'accès. Plus la lecture est longue plus vous limitez le nombre d'utilisateur en parallèle et plus vous diminuez la concurrence d'accès en lecture comme en écriture.

    A -
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/06/2010, 09h20
  2. Réponses: 14
    Dernier message: 28/05/2010, 15h16
  3. Avis sur l'utilisation d'ODBC
    Par zerbynette dans le forum MySQL
    Réponses: 0
    Dernier message: 16/11/2009, 11h02
  4. Un avis sur l'utilisation ou non d'AMFPHP
    Par berceker united dans le forum Flex
    Réponses: 2
    Dernier message: 24/07/2009, 17h40
  5. demande d'avis sur l'utilisation d'une date
    Par mrkinfo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 27/07/2006, 19h50

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