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

ALM Discussion :

Conception pour base de données NoSQL


Sujet :

ALM

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut Conception pour base de données NoSQL
    Bonjour,
    dans le cadre de mon projet, j'utilise une base de données NoSQL (CouchDB en loccurence), ma question ne concerne pas tellement la conception en elle même mais les différent diagram de conception que je dois mettre dans mon rapport.
    puisque le modéle relationel n'est plus d'actualité et que la partie base de données doit être présente, quel diagram me conseillez vous d'utilisez.
    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 778
    Par défaut
    Salut,

    La conception est une activité qui va permettre de "construire" l'application: on fait les plans de... qui vont nous permettre de... Si vous racontez comment vous avez construit votre application, ce n'est plus de la conception mais une "description" de "l'existant".

    CIFS/NFS/SQL/NoSQL... sont des technologies qui permettent de réaliser les fonctions de persistance avec des avantages et des inconvénients suivant le domaine applicatifs.

    La mise en œuvre et l'intégration sont différents et propre à chaque techno.
    Mais "in fine" çà permet à l'application d'avoir des "tuyaux" qui lui permettront de stocker et récupérer des informations.
    Ces informations sont à priori _spécifiques_ et méritent (peut être) d'être décrites.

    Quelle que soit la techno, il faut bien décrire les "keys/values" associées aux documents ou aux enregistrements utilisés en donnant le label des keys, la description de ce que c'est côté "métier", le format de la représentation, un exemple, ... Il faut aussi mentionner les traitements applicatifs qui dépendent de ces données.

    Diagramme de classe, tableaux construits avec votre tableur préféré,... sont utilisables.

    Cordialement,
    - W
    PS: Nous ne savons pas obtenir avec NoSQL le même niveau d'intégrité de données que nous pouvons avoir avec SQL. Cette intégrité de données suppose une "centralisation" incompatible avec le "scale-out" nécessaire à des applications Web et que permet NoSQL.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    Merci pour la mise au point

    En réalité, la conception est déja fini, la base de données n'étant pas terriblement complexe,
    (une dixaine de tables, ou documents, comme on les appelle sous couchdb).

    Je me demandais s'il n'y'avait pas une méthode standard pour décrire ce genre de structure.
    Le diagramme de classe était ma premiére idée, mais CouchDB n'est à priori pas une base orienté objet (d'aprés le site officiel).

    Un document est en fait une sorte de dictionaire (structure de données), donc la base peut être représenté en tant qu'un dictionaire de dictionaires. Une idée sur comment représenter cela?

    Je ne cherche que la représentation en diagramme, la partie description textuelle en découlera automatiquement

    Merci

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 778
    Par défaut
    Salut,

    Citation Envoyé par lcfseth Voir le message
    Le diagramme de classe était ma premiére idée, mais CouchDB n'est à priori pas une base orienté objet (d'aprés le site officiel)
    Les attributs d'une classes peuvent représenter les KV d'un document comme ils peuvent représenter ceux d'un schéma d'une relation de BDD relationnelle ou d'un "objet" d'un langage POO.

    Si vous ne savez pas ce qu'est un diagramme de classe: contentez vous d'un tableau simple.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    Merci, j'ai fini par trouver ce que je cherchais. Une représentation en modèle clé/valeur.
    Je met le lien au cas ou d'autre personnes ont le même probléme.

    http://www.blog-nouvelles-technologi...iller-en-2011/

    J'avoue qu'un classe peut tout à fait représenter un document. Cependant, il y'a une énorme différence entre les deux (notions d'héritage, d'interface...) et l'utilisation d'un diagramme de classe provoquera automatiquement des interrogations et des remarques négative (un diagramme de classe sur des entités qui n'en sont pas).

    Merci pour l'attention

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 778
    Par défaut
    Salut,

    Vous avez trouvé une représentation qui vous convient, tant mieux.

    Citation Envoyé par lcfseth Voir le message
    J'avoue qu'un classe peut tout à fait représenter un document. Cependant, il y'a une énorme différence entre les deux (notions d'héritage, d'interface...) et l'utilisation d'un diagramme de classe provoquera automatiquement des interrogations et des remarques négative (un diagramme de classe sur des entités qui n'en sont pas).
    Une classe est avant tout une "boîte" dans laquelle peuvent être insérés attributs et méthodes.

    Si vous utilisez la boîte pour représenter un schéma de base de donnée (des relations), vous n'aurez besoin que de mentionner les attributs, certains pouvant représenter des PK ou autre association.

    Vous pouvez très bien représenter un schéma XML avec ce genre de boîte.
    Dans les deux cas, vous cannibalisez l'outil classe et diagramme de classe pour construire une représentation "border line" vis à vis d'UML.

    Le seul intérêt de procéder ainsi n'est pas que cela ressemble à de l'UML mais l'intégration du schéma dans l'outil de gestion projet UML pour avoir des relations de dépendance, de traces, réalisation entre cette chose et d'autres composants du projet.

    Si le but est simplement de documenter les champs, leur domaine et leur type, je persiste à dire qu'un tableau suffira largement.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 10
    Dernier message: 26/02/2015, 13h16
  2. Réponses: 4
    Dernier message: 18/09/2013, 08h43
  3. Réponses: 2
    Dernier message: 16/07/2012, 22h28
  4. conception de base de données pour une station de service
    Par ghassen123 dans le forum Modélisation
    Réponses: 2
    Dernier message: 29/04/2010, 15h28
  5. Réponses: 0
    Dernier message: 12/08/2009, 14h24

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