Faut-il standardiser le NoSQL avec un langage de requêtes unique ?
Deux chercheurs de Microsoft proposent le "coSQL"

Le , par Katleen Erna, Expert éminent sénior
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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Wormus Wormus - Membre actif http://www.developpez.com
le 09/04/2011 à 9:57
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 ...
Avatar de Firwen Firwen - Membre expérimenté http://www.developpez.com
le 09/04/2011 à 10:34
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....
Avatar de bugsan bugsan - Membre confirmé http://www.developpez.com
le 09/04/2011 à 17:54
J'ai plutôt compris un langage par type de base.
Avatar de Julien Bodin Julien Bodin - Membre éclairé http://www.developpez.com
le 09/04/2011 à 18:02
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
Avatar de marten.cylemb marten.cylemb - Membre régulier http://www.developpez.com
le 09/04/2011 à 20:04
Si cela se réalisait, à quand le NoCoSQL ?
Avatar de kedare kedare - Membre extrêmement actif http://www.developpez.com
le 10/04/2011 à 8:27
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...
Avatar de - http://www.developpez.com
le 10/04/2011 à 9:43
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
Avatar de psykokarl psykokarl - Membre averti http://www.developpez.com
le 11/04/2011 à 17:15
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.
Avatar de iznogoudmc iznogoudmc - Membre habitué http://www.developpez.com
le 13/04/2011 à 9:58
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 ?
Avatar de marten.cylemb marten.cylemb - Membre régulier http://www.developpez.com
le 13/04/2011 à 11:51
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 ?
Offres d'emploi IT
Lead développeur php symfony 2 h/f
OXAND - Ile de France - Avon (77210)
Chef de projets nouvelles technologies h/f
Sogeti France - Bretagne - Rennes (35000)
Développeur Flex (AS3, .net, webservice)
Forest-Hill/Aquaboulevard - Ile de France - Paris (75015)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil