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 :

Faut-il standardiser le NoSQL avec un langage de requêtes unique ?


Sujet :

NoSQL

  1. #1
    Expert éminent sénior
    Avatar de Katleen Erna
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    1 547
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 547
    Points : 76 188
    Points
    76 188
    Par défaut Faut-il standardiser le NoSQL avec un langage de requêtes unique ?
    Faut-il standardiser le NoSQL avec un langage de requêtes unique ? Deux chercheurs de Microsoft proposent le "coSQL"

    Erik Meijer et Gavin Bierman sont chercheurs pour Microsoft. En étudiant les bases de données, ils en sont arrivés à la conclusion que les BDD NoSQL avaient besoin d'être standardisées.

    Car ce marché, en pleine croissance, est en effet très fragmenté. "Programmer, déployer et administrer des solutions NoSQL demande des connaissances spécialisées qui ne sont pas forcement les mêmes pour les différents produits des différents vendeurs", notent les chercheurs.

    Ils expliquent que ce type de base de donnée est de plus en plus répandu (un engouement qui ressemble au fleurissement des bases de données relationnelles au début des années 1970), et que cette extension ne peut se poursuivre ainsi.

    Mais loin de se contenter de critiquer la situation actuelle, ils y apportent aussi une solution concoctée par leurs soins : un query langage standardisé et un modèle mathématique pour les données, afin d'unifier les modèles NoSQL et SQL. Ils appellent cela le "coSQL".

    Selon eux, un langage de manipulation de données standardisé accélérerait l'adoption de masse des technologies NoSQL pour les bases de données, en réduisant la fragmentation du marché, et les impacts négatifs qu'elle peut avoir sur les développeurs. Un peu comme ce qui s'était passé dans les seventies, où les bases relationnelles avaient réellement pris leur envol avec l'arrivée du langage standardisé SQL (qui évitait aux développeurs d'apprendre tous les langages spécifiques à chaque base).

    Et si cela a marché pour l'une, pourquoi cela ne marcherait pas pour l'autre ?

    "Contrairement à ce que l'on pourrait croire, SQL et coSQL ne sont pas diamétralement opposés mais plutôt connectés par de belles théories mathématiques", concluent les deux chercheurs.

    Mais, comme beaucoup avant elle, cette toute jeune théorie rencontre déjà ses détracteurs.

    Source : Le magazine de l'Association for Computing Machinery

    Et vous, qu'en pensez-vous ? Faut-il standardiser le NoSQL ?

  2. #2
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    Si celà est possible, ça peut être intéressant mais j'attends de voir parce que ça me parait difficile.
    Une base de données noSQL c'est plusieurs types de bases de données donc standardiser tout ça avec les SGBDR ... pas facile.
    Et puis si ces bases de données ont vus le jour c'est surement pour de l'optimisation et donc est-ce que la standardisation ne risque pas de casser une partie du gain gagné ?
    Wait and see ...
    Bankaï !!

  3. #3
    Membre expérimenté Avatar de Firwen
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2009
    Messages : 472
    Points : 1 587
    Points
    1 587
    Par défaut
    Le NoSQL ne représente pas un type de base de données, mais un ensemble de types : orienté document, graph, HashTable distribuées...

    Vouloir créer un langage commun entre des bases orientées graphes et des bases orientés documents, par exemple, qui n'ont rien en commun niveau structurel, n'est pas forcement une bonne idée....
    It's not a bug, it's a feature

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Points : 459
    Points
    459
    Par défaut
    J'ai plutôt compris un langage par type de base.

  5. #5
    Membre éclairé Avatar de Julien Bodin
    Homme Profil pro
    Devops
    Inscrit en
    Février 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Devops
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 474
    Points : 843
    Points
    843
    Par défaut
    Oui ce serait une excellente idée.

    Mais du coup, inventer un genre de SQL pour des bases noSQL je trouve ça assez drôle

  6. #6
    Membre régulier Avatar de marten.cylemb
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2011
    Messages : 41
    Points : 112
    Points
    112
    Par défaut
    Si cela se réalisait, à quand le NoCoSQL ?

  7. #7
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 860
    Points
    1 860
    Par défaut
    Contre, ca risquerait d'empêcher la bonne utilisation des fonctionnalités uniques de chaque systèmes (genre du versonning pour certains), on aurait encore des puristes qui viendrait se plaindre dés qu'un système modifierait légèrement le langage ou l'entendrait de façon non standard...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Je ne connais pas assez noSql mais on pourrait résumer cette news à une passerelle sql / noSql.
    Si j'ai tout compris, noSQL optimise massivement le multi-user (dans le cas des sites web notamment).
    En comparant sql avec le vieil xBase (dBase, clipper, Fox, ...), il est évident que sql fait gagner un temps fou lors du développement en offrant notamment des fonctions statistiques qui demanderaient une 30aine de lignes de code C# par exemple (group by... having...).
    Mais cette façon toute particulière qu'Sql a de dire "le serveur s'occupe de tout" pose des problèmes d'optimisation. De même , SQL ne dit pas explicitement d'utiliser un index donné et n'accepte pas les indexes partiels. Certes Oracle ajoute au SQL des éléments de diagramme d’exécution mais différents des autres éditeurs, on en est donc au même point d'incompatibilités coté SQL et noSQL.

    Comme SQL est déjà une implémentation de la théorie des ensembles (programme de 6eme en maths - rappelez vous les deux patates). On s'attend à ce que le nouveau standard formalise l'information sur une base différente.

    A ce stade, il faudrait donner des exemples , dire simplement que noSql n'est pas standard est un peu court (c'est une partie de sa définition), il faudrait qu'un expert en noSql donne son avis et peut être quelques exemples pour qu'on se rende compte. Autre question : Qui en France utilise noSql ? je comprends que facebook ou Google soient interressés vu leur volume mais dans l'exagone, à part l'administration des impôts les jours de dépôt , qui traite assez de volume pour avoir intéret à sortir de sql ?
    Quelqu'un a une idée ?

    [EDIT] : Référence nécessaire : http://fr.wikipedia.org/wiki/NoSQL

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 240
    Points : 636
    Points
    636
    Par défaut
    C'est une évolution qui me parait naturelle.

    Je me suis demandé à plusieurs reprise si l’engouement pour les technologies noSQL n'était pas révélateur d'un manque de compétence en SQL de certains développeurs.

    Le SQL est un langage de requête complet. Il permet de récupérer n'importe quel jeux de donnée à partir d'une description basée sur des opérations sur des ensembles.
    Il faut faire la distinction entre le SQL en tant que langage de requête et le moteur qui retrouve/modifie un jeux. Rien n’empêche en théorie d'utiliser du SQL pour retrouver un jeux de données dans un SGBD "noSQL". Reste à implémenter un moteur viable et assez performant pour ne pas trop plomber les perfs.
    Il pourrait être intéressant de créer des standards qui représenteraient d'autres paradigmes que le celui du SQL, mais c'est plus un sujet de recherche.
    Je vois difficilement une industrie créer quelque chose de propre et de complet.

    On pourrait faire une analogie entre le SQL+SGBDR cache au développeur toute la partie de recherche et indexation de données le la POO+garbage collector qui cache au développeur l'allocation et la desallocation de mémoire.
    Il y aura des pros et des antis. Les deux systèmes ayant leurs avantages et leurs inconvénients.

  10. #10
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2006
    Messages : 87
    Points : 144
    Points
    144
    Par défaut
    Beau discours, mais avant tout de quelle branche de NoSQL parlent-ils ? Des bases clef/valeur ? Orientées colonnes (d'ailleurs, à ma connaissance il en existe déjà une qui permet d'utiliser SQL : Sybase IQ) ? Objets ? Orientées documents ? Orientées graphes ? Multivaluées ? autre ?

  11. #11
    Membre régulier Avatar de marten.cylemb
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2011
    Messages : 41
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par iznogoudmc Voir le message
    Beau discours, mais avant tout de quelle branche de NoSQL parlent-ils ? Des bases clef/valeur ? Orientées colonnes (d'ailleurs, à ma connaissance il en existe déjà une qui permet d'utiliser SQL : Sybase IQ) ? Objets ? Orientées documents ? Orientées graphes ? Multivaluées ? autre ?
    Je ne suis pas du tout expert en matière de NoSQL, d'ailleurs je n'ai fait qu'essayer mongodb (une base en mode document), mais d'après ce que tu dis, les différences structurelles me semble sacrément hétérogènes..

    Certains questions se posent donc de manière très légitime:
    • Est-ce que cette standardisation apporterait une réelle valeur ajoutée ?
    • Est-ce que cela ne détruirait pas de facto l'intérêt porté par ces bases de données (dont le principal objet est leur spécificité si j'ai bien compris) ?
    • Est-ce que cela est tout bonnement réalisable ?

  12. #12
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2006
    Messages : 87
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par marten.cylemb Voir le message
    d'après ce que tu dis, les différences structurelles me semble sacrément hétérogènes..
    En effet, il n'y a pas un NoSQL, mais des NoSQL : c'est actuellement en pleine effervescence (même sans parler du phénomène de mode)

    Citation Envoyé par marten.cylemb Voir le message
    Est-ce que cette standardisation apporterait une réelle valeur ajoutée ?
    A mon avis : OUI... mais modèle par modèle. Par exemple pouvoir faire ses PUT et GET toujours de la même façon serait un plus dans l'utilisation des bases clef/valeur. Idem pour les bases orientées graphe, colonnes, documents, etc. MAIS.... en tenant compte des spécificités de chaque modèle.


    Citation Envoyé par marten.cylemb Voir le message
    Est-ce que cela est tout bonnement réalisable ?
    Aujourd'hui je ne pense pas, chacun ayant intérêt à mettre en avant ce que sa base a de plus.... Ou alors un socle commun (modèle par modèle). Mais dans l'avenir (et pas forcément lointain) je pense qu'on y viendra naturellement.

  13. #13
    Membre régulier Avatar de marten.cylemb
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2011
    Messages : 41
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par iznogoudmc Voir le message
    Aujourd'hui je ne pense pas, chacun ayant intérêt à mettre en avant ce que sa base a de plus.... Ou alors un socle commun (modèle par modèle). Mais dans l'avenir (et pas forcément lointain) je pense qu'on y viendra naturellement.
    En fait, j'ai aussi peur qu'une standardisation prématurée annihile le foisonnement d'idées qui fait la diversité actuelle des bases NoSQL aujourd'hui, parce que demain il faudra coller au standard et qu'on ne pourra plus "tout se permettre" pour améliorer les bases NoSQL..

  14. #14
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 736
    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 736
    Points : 52 447
    Points
    52 447
    Billets dans le blog
    5
    Par défaut
    Moi je suis totalement contre le fait de normaliser NoSQL... ;-)
    La normalisation, c'est pour les has been !

    Avant la révolution industrielle au 18e siècle, chaque seigneur imposait sur son territoire ses propres mesures de poids de volume que le commerçant devait acheter fort cher auprès du seigneur. C'était une forme d'impôt.
    Les entreprises ont été obligée de se conformer à des standards et des normes, car cette situation à conduit à de nombreux accident mortels lors de l'avènement du chemin de fer :
    - chaque région ayant ses pas de filetages, ses écrous et ses boulons, il a fallut dépenser trois fois plus pour adapter les éléments de structure au fur et à mesure de l'avancé des rails, ceci était contre productif....
    - chaque village ayant son heure propre, les premiers trains se télescopaient et il en résultait des accidents mortels.

    Bref je suis toujours sidéré de voir des gens comme firwen ou kedare s'opposer à une normalisation... Je ne peut pas m'empêcher de penser que ces gens là auraient fait d'excellent tyrans !

    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/ * * * * *

  15. #15
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Il ne faut pas prendre cet article au sérieux, il est bourré d'approximations et laisse à penser que les auteurs n'ont qu'une connaissance superficielle de la théorie relationnelle.

    The closed-world assumption, however, is in direct contradiction with distribution and scale-out
    Ted Codd doit se retourner dans sa tombe. Ou comment des aspects matériels, physiques, influencent un système logique.

    In this article we present a mathematical data model for the most common noSQL databases—namely, key/value relationships—and demonstrate that this data model is the mathematical dual of SQL's relational data model of foreign-/primary-key relationships.
    Avant de démontrer il faudrait commencer par présenter et définir..

    J'aimerai que les auteurs définissent ce qu'ils entendent par : "relational model", "normalized", "foreign-/primary-key data model", ou ne serait-ce que la notion de modèle..

    Ils confondent comme souvent dans le monde NoSQL, le modèle relationnel et le SQL...

Discussions similaires

  1. Faut-il standardiser le NoSQL avec un langage de requêtes unique ?
    Par Katleen Erna dans le forum Autres SGBD
    Réponses: 14
    Dernier message: 24/04/2011, 14h19
  2. Créer un jeu avec plusieurs langages
    Par spidouille dans le forum Pascal
    Réponses: 6
    Dernier message: 04/10/2005, 15h07
  3. [Info]gestion de moteur avec un Langage OO
    Par matterazzo dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 27/09/2005, 14h11
  4. Commencer la programmation avec le langage Java ?
    Par von_magnus dans le forum Débuter
    Réponses: 14
    Dernier message: 09/03/2004, 23h19
  5. Avec quel langage débuter en programmation ?
    Par spectrum1984 dans le forum Débuter
    Réponses: 10
    Dernier message: 28/12/2003, 22h57

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