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

NoSQL Discussion :

question d'un débutant, SGBDR # nosql


Sujet :

NoSQL

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut question d'un débutant, SGBDR # nosql
    Bonjour;

    J'ai lu un article à propos de google App Engine, j'ai constaté que ce dernier offre la possibilité de créer des bases de données et des applications web basées sur les serveurs de Google.
    Le SGBD offert par google App Engine n'est plus fondé sur l'architecture classique des bases relationnelles , mais en NOSQL.
    Ensuite j'ai effectué des recherches sur le NOSQL, et j'ai trouvé que les données dans cette catégorie de SGBD ne sont pas manipulées avec SQL et ne sont pas stockées dans des tables :o.
    - la 1er question qui m'arrive: comment les données sont stockées dans le NOSQL?
    - si on a plusieurs entités( par exemple table produits, clients, catégorie...) comment effectuer la relation entre ces tables en cas de suppression, modification... ?
    merci d’avance cher Developpez.com

  2. #2
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    Ouch, question très très vaste
    Désolé mais la réponse ne pourra couvrir tout. Je vais essayer de synthétiser.

    Il y a plus de 150 bases classé comme Nosql, sans parler des bases de données Objet, XML etc...

    http://nosql-database.org/

    La plupart ont fait des choix différents en terme de stockage et en terme de fonctionnalités.
    On peut trouver 4 grandes familles, les clés valeurs, les orientées documents, les graphes, les orientées colonnes.
    Il faut bien regarder ses cas d'usage avant de se lancer.

    Le datastore de GAE est décrit ici : https://developers.google.com/appeng...hon/datastore/

    a+

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut
    merci Hugo pour ta réponse.
    Pour que je puisse détecter la différence que je cherche, je propose un petit exemple.
    Supposant qu'on a 2 tables, table client( numClient, nom, ville), et table compte( numCompte, ...., numClient, solde).
    Par une requête SQL(jointure), Dans une application on peut faire tout simplement la relation entre client et son compte.
    Nn NOSQL, comment ça se passe les choses, si on utilise jamais les relations/requête SQL? et comment les données logiques sont ils stocker, si le NOSQL n'utilise pas les tables?
    Merci encor une fois

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 311
    Points : 545
    Points
    545
    Par défaut
    Dans MongoDB , qui est une base de données orienté document, les données logique sont stocké dans un format BSON qui est une sérialisation binaire d’objets JSON.

    Donc, en gros, un document, dans MongoDB, est un objet JSON, avec ton exemple de clients et de comptes pas besoin de jointure, cela peut être modélisé directement dans l’objet client, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    { 	Nom : 'karamovic',
    	Ville : "Paris",
    	Comptes : [
    		{ 	libelle : "Compte courant",
    			numCompte : "IBANXXXXXXXXXXXXXXXXX",
    		        solde : -200
    		},
    		{	libelle : "livret A",
    			numCompte : "IBANXXXXXXXXXXXXXXXXX",
    		        solde : 4
    		}
    	]
    }
    ShaderElement : Bénéficier de l’accélération graphique simplement par une nouvelle balise HTML <shader>
    ODE.js : portage JavaScript du célèbre moteur physique 3D Open Dynamics Engine

  5. #5
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    En fait, quand tu énonces ton problème, tu remarqueras que tu viens de partir d'une représentation relationnelle de tes données : 2 entités avec des attributs et une relation entre les deux.
    En fait tu as modélisé tes données selon une méthode donné.
    Or avec une base Nosql, il y a un nouveau effort de modélisation.
    Par exemple avec la réponse de p3ga5e la modélisation proposé est de regrouper l'ensemble des entités dans le même document (l'unité de persistence dans MongoDB).
    Si c'était une base graphe, tu aurais pu avoir deux entités et une relation entre les deux. Les "jointures" sont possibles avec une base graphe.
    Bref, c'est pour ca qu'il faut bien étudier chaque type de base, les modélisations possibles et l'adéquation avec tes cas d'usages.
    Chaque type de base n'est pas interchangeable.

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut
    merci beaucoup p3ga5e et Hugo123 pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petite question d'un débutant en C++
    Par faboulous dans le forum C++
    Réponses: 6
    Dernier message: 04/08/2006, 15h43
  2. Réponses: 4
    Dernier message: 06/07/2006, 17h14
  3. Question d'un débutant sur Access
    Par RV80 dans le forum Access
    Réponses: 8
    Dernier message: 12/06/2006, 12h32
  4. question d'un débutant...
    Par chti_juanito dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/06/2005, 10h29
  5. [Débutant] SGBDR gratuites pour .NET?
    Par P@t dans le forum Débuter
    Réponses: 2
    Dernier message: 29/06/2004, 19h22

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