Developpez.com

Club des développeurs et IT pro
Plus de 4 millions de visiteurs uniques par mois

« Pourquoi je ne suis pas adepte du NoSQL ? »
Un professionnel justifie ce choix sur la base de plusieurs critères

Le , par Arsene Newman, Expert éminent sénior
Fondateur de CYPRESSNORTH, entreprise spécialisée dans le marketing Internet, les services IT et le développement logiciel, Matthew Mombrea explique aujourd’hui sa lassitude vis-à-vis des bases de données NoSQL.

L’un des plus grands freins vis-à-vis du NoSQL selon Mombrea est la multiplication des solutions qui partagent toute la même devise lorsqu’il est question d’en choisir une : « Cela dépend de vos besoins », alors ce qui semble être justifié et part d’un principe de bon sens se révèle être un véritable casse-tête.

En effet, même si le développeur arrive à définir ses besoins, la multitude de solutions existantes nécessite une lecture approfondie et plusieurs recherches pour saisir et comprendre toutes les facettes et les spécificités qui se cachent derrière chaque solution, ce qui ne facilite pas la tâche du développeur.

Aussi, à la lecture de ces spécificités, il n’est pas rare de s’apercevoir qu’il s’agit plus de solutions de rechanges ou de compromis vis-à-vis de certains principes comme ACID.

Plus encore, le NoSQL qui s’affranchit des tables relationnelles et qui permet un stockage de données indépendamment du type, de la forme et de la nature de la donnée, tend à créer un système hétérogène plus complexe, où le développeur doit implémenter les mêmes mécanismes existants sous les bases de données traditionnelles, pour chaque application. Ainsi, une certaine partie de l’ingéniosité et de la structuration des données derrière les bases de données relationnelles est perdu avec le NoSQL.

Alors, les performances promises par le NoSQL en matière de vitesse d’exécution, de flexibilité et de montée en charge valent elles le détour ? Pas si sûr selon Mombrea. Le besoin pour le NoSQL ne se fait ressentir que dans quelques situations, de plus la plupart des applications qui recourent au NoSQL sous prétexte d’une montée en charge, ne passeront pas finalement à une très grande échelle.

Enfin, Mombrea souligne que le NoSQL n’a pas encore suffisamment mûri pour révéler tout son potentiel, sans oublier que les bases de données relationnelles sont largement utilisées pour les sites à forte audience, ce qui révèle une certaine capacité du passage à l’échelle des solutions traditionnelles à condition de se doter d’une certaine puissance de calcul, actuellement à la portée de plus en plus d’entreprises.

Source : Article de Matthew Mombrea

Et vous ?

Pensez-vous que le NoSQL est une solution de remplacement ou une solution complémentaire aux bases de données relationnelles ?


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


 Poster une réponse

Avatar de spyserver spyserver - Membre averti http://www.developpez.com
le 28/07/2014 à 12:23
Encore une fois le NoSQL n'est pas une solution de remplacement du SQL et n'a jamais eu vocation à l'être, simplement l'attrait d'Amazon, Facebook et autre Google pour ces bases a créé un effet de mode qui a généré beaucoup de "faux besoins" dans l'IT.

Après pour ce qui est des véritables applis qui tournent avec ce type de SGBD pour répondre à une problématique clairement identifiée (charge, type de données utilisateur peu liées entres elles mais volumineuses,persistance des données spécifique,etc.) il est clair que la "jungle" actuelle regorge de framework plus ou moins redondants qui ne facilitent pas le choix d'intégration.Le travail d'Oracle pour standardiser le langage SQL au NoSQL est une bonne chose mais il reste encore un process de selection naturelle qui doit se faire entre les différentes solutions afin de ne garder les plus stables et les plus robustes (Cassandra, MongoDB, etc.).

Recréer une nouvelle solution qui in fine est plus une évol. de quelque chose d'existant qu'une véritable révolution est assez tendance, résultat on ne sait plus quoi adopter et ça créé de l'instabilité dans les solutions et génère des coûts inutiles.
Avatar de Mouke Mouke - Membre averti http://www.developpez.com
le 28/07/2014 à 12:36
De mon point de vue d'étudiant, je pense que NoSQL est une alternative au Relationnel, qui révèle son intérêt dans certains cas précis.

Je reste convaincu que des systèmes relationnels suffisent amplement pour la plupart des besoins, à condition de choisir le bon SGBD et bien l'utiliser.
Qui plus est, mais ceci est un avis personnel, je trouve NoSQL plus compliqué à "comprendre".

Après je pense que SpyServer a utilisé le bon mot : "Effet de mode". Mais il est clair que le NoSQL est à ses débuts et qu'il réserve de bonnes surprises pour le futur. Si son besoin est justifié.
Avatar de super_navide super_navide - Provisoirement toléré http://www.developpez.com
le 28/07/2014 à 12:46
Pour moi le NoSQL ne sert à rien du tout car il repose tout comme les plus des SGBD sur des index implémenté via des BTREE.
Un SGBD comme oracle peux servir pour tout a condition de bien modéliser le model de donnée et mettre les bon index.
Avatar de Haseo86 Haseo86 - Membre éclairé http://www.developpez.com
le 28/07/2014 à 13:41
Mode caricature : en gros ce qui gène ce monsieur c'est de devoir réfléchir pour choisir la solution adaptée ? :p

Plus sérieusement, il semble avoir une vision simpliste du monde, dans lequel il oppose absolument NoSQL et SQL. Pourtant un projet peut très bien avoir un besoin pour les deux. Je vois par exemple un projet sur lequel j'étais il y a encore un an, une partie des données étaient stockées dans une base MySQL, et une autre dans MongoDB, parce que c'était plus adapté.

Désolé si ça ne lui convient pas, mais si, il faut réfléchir en démarrant un projet, et sur bien d'autres points encore que le choix de base de données.
Avatar de jmosqu jmosqu - Candidat au Club http://www.developpez.com
le 28/07/2014 à 14:19
J'avais lu à quelque part qu'il y avait méprise sur le terme même de NoSQL :

NoSQL <> "No SQL - renoncer au SQL"
NoSQL = "Not Only SQL"

Est-ce correct ?
Avatar de L0rD59 L0rD59 - Membre du Club http://www.developpez.com
le 28/07/2014 à 16:10
Avatar de SQLpro SQLpro - Rédacteur http://www.developpez.com
le 29/07/2014 à 8:39
Citation Envoyé par Mouke  Voir le message
De mon point de vue d'étudiant, je pense que NoSQL est une alternative au Relationnel....

Non, pas du tout ! Et c'est même ce qu'exprime les "auteurs" du NoSQL. Pas une alternative, mais un complément dans les rares cas ou les SGBDR pourraient s'avérer inefficaces...

De toute façon le No SQL ne survivra pas si :
1) il n'y a pas un "langage" commun pour manipuler ces bases
2) on change de technologie régulièrement (ce qui a déjà été le cas de plusieurs outils noSQL obligeant ceux qui avaient développé des applications NoSQL à tout jeter)
3) les éditeurs actuels de SGBD Relationnel intègrent une partie de noSQL à leurs solutions, ce qui commence à être le cas pour Oracle et SQL Server...

Donc, à mon avis, dans 5 ou 6 ans, Mongodb comme Cassandra, direction... poubelle! Comme l'ont été les SGBD OO ou les SGBD xml.

A +
Avatar de iberserk iberserk - Membre émérite http://www.developpez.com
le 29/07/2014 à 11:32
Que les développeurs apprennent déjà à manipuler et modéliser une base de données relationnelle a peu près correctement avant de basculer (souvent pour de mauvaise raisons) sur du NOSQL.
Je rappel que le NOSQL n'a pas vocation à réellement améliorer les temps de réponse mais à assurer une montée en charge... ce qui n'est pas tout à fait la même chose.
Avatar de Patriarch24 Patriarch24 - Membre expérimenté http://www.developpez.com
le 29/07/2014 à 13:14
NoSQL = "Not Only SQL"

Pour info, NoSQL est à l'origine un hashtag twitter. Les interprétations qu'on a donné sont presque toutes fausses : NoSQL = not SQL (en clair : non-relationnel).

De toute façon le No SQL ne survivra pas si :
1) il n'y a pas un "langage" commun pour manipuler ces bases
2) on change de technologie régulièrement (ce qui a déjà été le cas de plusieurs outils noSQL obligeant ceux qui avaient développé des applications NoSQL à tout jeter)
3) les éditeurs actuels de SGBD Relationnel intègrent une partie de noSQL à leurs solutions, ce qui commence à être le cas pour Oracle et SQL Server...

1) Le langage commun ne peut exister que si le paradigme est le même. Comment espérer un langage commun entre une base graphe et une base clé valeur (par exemple) ?
2) Il faut donner aux outils le temps de se stabiliser : les bases relationnelles ne sont pas devenues du jour au lendemain stables, performantes, etc.
3) Et on voit apparaître des solutions dites NewSQL aussi : en clair, on n'arrête pas le progrès...

Donc, à mon avis, dans 5 ou 6 ans, Mongodb comme Cassandra, direction... poubelle! Comme l'ont été les SGBD OO ou les SGBD xml.

Je n'en serai pas si sûr : Google aussi bien que Facebook, Twitter etc. utilisent ce type de solutions depuis une dizaine d'années déjà (pour Google et Amazon au moins). Pour le reste, bien malin qui peut affirmer ce qui va se passer...

Je rappel que le NOSQL n'a pas vocation à réellement améliorer les temps de réponse

Tout dépend : certaines bases spécialisées de type clé-valeur, si (Riak est ultra-rapide, par exemple).

Je conseille la visualisation de cette http://youtu.be/qI_g07C_Q5I pour mieux comprendre ce qui se cache derrière ce terme "NoSQL".
Avatar de skuatamad skuatamad - Expert confirmé http://www.developpez.com
le 29/07/2014 à 15:16
Tiré du blog :
To make matters worse, you have to wade through engine-specific documentation to read about how you would accomplish your goals, most of which seem like workaround efforts if you have relational data or would like ACID transactions.

Ben du coup, le choix semble plutôt simple, non ?
Par ailleurs stocker des données non relationnelles dans un SGBDR, c'est également souvent de la bidouille.

Compare that to a relational SQL database where, for the most part, you know how the engine will work regardless of the particular product.

Vu que justement en fonction du produit le moteur fonctionne différemment (même entre SGBDR MVCC il y a des subtilités), sa remarque est plutôt un total non sens...
Offres d'emploi IT
Développeur - software craftsman (H/F)
Société Générale - Ile de France - Hauts-de-Seine
Ingénieur qualité logiciel au CEPS H/F
Safran - Ile de France - Osny (95520)
Ingénieur développeur intégrateur débutant H/F
Safran - Ile de France - Osny (95520)

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