Le mouvement anti-SQL s'amplifie
? La relève est-elle vraiment prête et constitue-t-elle une alternative fiable et performante ?

Le , par Annaelle32, Correspondant Actualités
Les adversaires de SQL multiplient les actions de protestation contre ce qu’ils appellent « la tyrannie » exercée par SQL dans l’univers de la gestion des bases des données. Mais la relève est-elle bien prête et constitue une alternative fiable et tout aussi bien performante ?
Rencontre NoSQL

Ceux qui disent non à SQL ont organisé, le mois dernier, une rencontre à San Francisco, pour discuter de leurs soucis quant à l’hégémonie de SQL. Cette rencontre, hébergée dans une salle de réunion de CBS Interactive, a vu la participation de 150 personnes, issues de divers horizons informatiques. En décrétant la fin du règne de SQL, ils préconisent des solutions moins onéreuses mais tout aussi efficaces pour gérer les bases de données.
L’un des orateurs, Jon Travis, directeur en système de base de données relationnelles chez SrpingSource, a déclaré que SQL étouffe ses utilisateurs par de nombreux modules ou outils qui leur obligent à tous les coups à maltraiter leurs bases de données. Pourquoi ne pas leur offrir juste ce dont ils auraient besoins ?

Éveil de l’open source

Les grands initiateurs de ce mouvement sont les développeurs Web et Java. En effet, ils ont essayé par leurs propres moyens de créer leurs propres outils de gestion de base de données, faisant fi des prestiges d’Oracle, et en s’inspirant des divers programmes open source livrés sur le net. L’un des organisateurs de la rencontre NoSQl, Johan Oskarsson, lui aussi développeur mais basé à Londres, martelaient que les participants doivent prendre des risques et être convaincus des solutions NoSQL. Il continue en affirmant que beaucoup de développeurs assez fidèles à MySQL, l’ont abandonné au profit de Web 2.0, une alternative NoSQL dont les avantages certains ne peuvent pas être volontairement mis sous silence. L’exemple de Facebook a été évoqué pour étayer cette thèse. En effet, selon l’ingénieur de Facebook, Avinash Lakshman, son stockage de données fait confiance à Cassandra pour les interrogations, plutôt que de se servir de MySQL. Comme pour mieux justifier son choix il affirme qu’il ne faut que 0,12s pour écrire dans sa base jusqu’à 50Gb de données. Soit 2500 fois plus rapide que MySQL.

NoSQL

Ce terme désigne, en fait, un ensemble de projets dont la finalité reste le rejet définitif de tout ce qui se réfère au gestionnaire SQL. Selon ses concepteurs, chaque projet revêt son propre nom, au gré de leurs fantaisies : Hadoop, Voldemort, Dynomite, entre autres. Google appelle Bigtable, sa base de données.

Une des caractéristiques communes de NoSQL, c’est que ces logiciels peuvent manipuler d’énormes volumes de données et se sont inspirés sur le modèle de Bigtable. Ainsi, selon un ingénieur de Zvents, Doug Judd, le moteur de la base peut écrire sur 1 milliard de cellules de données par jour. En attendant, Bigtable conjointement avec la technologie MapReduce arrive jusqu’à 1 pétaoctets de données par jour. Et TRavis de SpringSource d’appuyer que les gens traitent tellement de grandes quantités de données qu’ils recherchent d’autres solutions plus avantageuses, bref d’autres alternatives que celles proposées par SQL.

La solution NoSQL permet également de bénéficier d’une grande souplesse de l’étendue des clusters, si bien qu’il ne sera plus nécessaire de morceler les grands paquets de données vers plusieurs autres tables. Cette technologie est doublement rentable tant en terme de fiabilité qu’en terme de coût d’exploitation. Google confirme en annonçant que l’un de ses plus grands clusters gèrent plus 6 pétaoctets de données sur des milliers de serveurs. Bien sûr, disait Javier Soltero de SpringSource, le Rac (Real Apllication Clusters) d’Oracle pourrait offrir une performance identique, mais quel sera le prix à payer ?

De plus, la technologie adoptée dans NoSQL élimine les goulots d’étranglement générés par les outils traditionnels, notamment en offrant des formats plus fluides dans les opérations de traduction. Du côté d’Adobe System Inc, les concepteurs se sont aussi tournés vers la solution NoSQL lors de sa relance d’Adobe ConnectNow pour la simple raison que MySQL ne semble pas s’adapter à des bases de données très simples. Cette nouvelle version de ConnectNow s’appuie sur le clustering Java de Terracotta Inc pour gérer ses formats java, ce qui lui a donné deux fois plus de rapidité, comparée à la précédente version, un système de base de données relationnelles étant complètement inadapté.

Open source
Du fait ces options NoSQL sont conçues open source, ces logiciels ne bénéficient pas (encore) d’un cadre officiel de soutien. Ce qui n’est le cas pour certains qui peuvent s’acquérir d’une protection matérielle et financière.
Bref, autant d’arguments plus ou moins objectifs et rationnels qui cultivent l’esprit NoSQL. Quoiqu’il en soit, une frange de développeurs ne peut s’empêcher de se demander s’il est vraiment raisonnable de prendre les Hadoop, Voldemort au sérieux !

Voir aussi
Le portail SGBD
Le portail SQL
Les forums SGBD

Qu'en pensez vous?


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


 Poster une réponse

Avatar de repié repié - Membre actif https://www.developpez.com
le 03/07/2009 à 11:06
C'est un sujet vraiment intéressant! Je ne pensais pas qu'il y avait un reel mouvement noSQL.

Pour ce qui est de Java, la démocratisation de JPA (mais aussi JDO...) permettrais maintenant d'effectuer des transactions uniquement en objet sans passer par SQL.

Mais tout voudrais donc dire qu'il faut ré-inventer un protocole C/S qui viendrait remplacer SQL (et qui soit donc un standard). Ça existe déjà?
Avatar de Médinoc Médinoc - Expert éminent sénior https://www.developpez.com
le 03/07/2009 à 15:07
S'ils refont un standard, espérons qu'ils penseront à inclure tout ce qu'on emploie tous les jours mais qui n'est pas standardisé: Paramètres nommés, date d'aujourd'hui (today vs getdate()), peut-être même l'accès à plusieurs bases ("." vs ".." vs ":")
Avatar de nicorama nicorama - En attente de confirmation mail https://www.developpez.com
le 03/07/2009 à 15:50
J'ai essayé d'utiliser les BigTables de Google avec JPA et AppEngine, et c'est très tendu : pas d'outil de visualisation des données, requêtes à priori bateaux qui sont refusées, etc...

Cependant c'est un premier pas de masse vers une autre forme de Bdd. Mais c'est clairement pas pour trouver une alternative à SQL que je m'étais tourné vers App Engine.
Avatar de programaniac programaniac - Membre régulier https://www.developpez.com
le 03/07/2009 à 15:54
Ca veut dire quoi SBBD...?

merci
Avatar de DranDane DranDane - Membre habitué https://www.developpez.com
le 03/07/2009 à 16:14
Le problème c'est pas SQL. Le problème c'est d'utiliser SQL pour tout et n'importe quoi. On dirait que certain développeurs ne savent utiliser que ca au point qu'ils ne pensent même plus à enregistrer avant tout dans un fichier texte quand c'est possible.
Avatar de haygus haygus - Membre actif https://www.developpez.com
le 03/07/2009 à 16:17
J'aurais dit SGBD (Système de Gestion de Base de Données)

Pour utiliser MySQL pour des To de données je ne pense pas que cela soit la meilleur solution.

Sinon un peu de concurrence en gardant des standart ne ferait-il pas de bien ? pour nous utilisateur (plus pour les professionnels) ?
Avatar de CIFQ_Drew CIFQ_Drew - Membre averti https://www.developpez.com
le 03/07/2009 à 16:39
Bonjours,

Je ne suis pas un grand connaisseur des autres technologies de base de données. Personnellement j'utilise MySQL.

Dans le développement de système de gestion (entreprise par exemple) au niveau transactionnel (vente, achat, retour client, rembourssement, etc.), le modèle relationnel préconisé par la norme SQL est très bien adapté, selon moi. Elle représente, au niveau conceptuelle, la structure des différents éléments de l'entreprise.

Cependant, pour les niveaux plus élevé d'une entreprise (gestion, décisionnel), le modèle relationnel perd énormément de plume. C'est probablement pour cette raison que le modèle "en étoile" a vue le jour, avec les Data Warehouse et le concept OLAP. La philisophie OLAP, sa ce que j'en comprends, consiste à ne pas prendre les relations que les entités ont entre elle mais plutôt les niveau (dimension) que certaine données peuvent être influencé. Le problème avec ce principe semble (je n'ai pas encore expérimenter) être la transition des données transactionnel (généralement relationnel) vers le modèle en étoile.

Maintenant, le NoSQL (SBBD?!?) correspond à quel domaine : la recherche?!?
Comme la fait remarqué repié, y a-t-il un standard ou c'est plutôt du chacun pour soi?!? Qu'elle est le principe dernière SBBD?!?

Mais merci, vous avez piquer ma curiosité!!!
Avatar de benwit benwit - Rédacteur https://www.developpez.com
le 03/07/2009 à 17:20
Il ne faudrait pas non plus tomber dans l'extrême inverse : adopter le NOSQL et rejeter le SQL pour tout.

Citation Envoyé par CIFQ_Drew  Voir le message
le NoSQL (SBBD?!?) correspond à quel domaine : la recherche?!?

Je ne sais pas si cela existait avant mais "la recherche d'information" semble avoir boosté le NOSQL.
Google as inventé BigTable sur son Google File System (GFS) qui utilise le paradigme de MapReduce pour gérer d'énormes quantités de données dans une infrastructure distribuée.

D'autres qui ont des problématiques similaires lui ont emboité le pas comme Facebook avec Cassandra, ...

Et heureusement, le monde de l'open source (Apache) n'est pas en retard car il y a Hbase sur Hadoop (HDFS).
Avatar de Népomucène Népomucène - Modérateur https://www.developpez.com
le 03/07/2009 à 17:55
Citation Envoyé par nicorama  Voir le message
J'ai essayé d'utiliser les BigTables de Google avec JPA et AppEngine

Est-ce que tu peux nous en dire plus sur ton expérience ?
Ou encore indiquer quelques liens d'exemples de mise en œuvre de cette technologie ?

Y-a-t-il des tutos ou moyen de faire des tests de cette technologie
(j'ai trouvé la présentation de Cassandra par Apache un peu confuse)?
Avatar de benwit benwit - Rédacteur https://www.developpez.com
le 03/07/2009 à 18:40
Il y a aussi le retour d'expérience de bruno marchesson.

Même si JPA peut nous laisser croire que non, l'implémentation sous jacente de la persistance a un impact certain.
Ceci pris en compte, il devient évident que passer d'un support de persistance relationnel à un support de persistance non relationnel ne se fera pas sans mal.

Max Ross de Google l'a rappelé lors de Google I/O 2009 (video & pdf):
The Datastore is not a drop-in replacement for an RDBMS

Je pense donc qu'il faut connaître le fonctionnement sous-jacent pour faire du bon boulo.
Offres d'emploi IT
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)
Consultant sap finance/controlling H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Data scientist senior H/F
Safran - Ile de France - Magny-les-Hameaux (Saclay)

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