Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Oracle veut « démystifier la mode NoSQL »
Et pose la question des ressources nécessaires pour tirer partie de ces bases de données

Le , par Gordon Fowler

20PARTAGES

4  1 
Dans un document daté de mai, Oracle a mis en place un argumentaire pour contrer la progression (supposée ou réelle) des bases de données NoSQL.

Ce petit livre blanc de 15 pages, baptisé « Debunking the NoSQL Hype » (« Démystifier la mode NoSQL ») aurait pu rester relativement confidentiel. Mais sa publication sur le Web lui a donné une publicité inattendue.

Dans ces 15 pages on retrouve, comme d'habitude dans ce type d'exercice, les arguments de plus ou moins mauvaises fois et les dénigrements inhérents à tout argumentaire commercial. En débattre n'a donc pas grand intérêt.

En revanche, il a le mérite de poser clairement la question des ressources nécessaires pour déployer et utiliser une base NoSQL. En comparaison bien sûr avec un SGBD Oracle supposé plus économe en temps et en compétences pour l'entreprise.

Un des passages intéressants (indépendamment de son côté provocateur et polémique) est certainement celui-ci (p 12) : « Les bases de données NoSQL ont été soutenues par les grandes sociétés internet. Un tel parrainage a donné de la crédibilité et une image «cool» à ces bases. Les grandes sociétés Internet ont été motivées par le fait d'avoir une base de données libre, qui soit entièrement sous leur contrôle. Ces entreprises ont embauché les meilleurs développeurs pour implémenter ces bases de données évolutives (NDT : scalable) et les maintenir ».

Et Oracle de demander à ses clients et prospects : « Votre entreprise est-elle prête à faire un tel investissement dans un domaine qui n'est pas son cœur de métier ? Voulez-vous vraiment contribuer à un effort open-source? Voulez-vous vraiment miser votre projet sur une technologie avant-gardiste (NDT : bleeding edge) ? Voulez-vous vraiment bâtir une équipe de superstars, nécessaire pour faire de la vision de NoSQL une réalité ? ».

Et de conclure : « Vous n'êtes pas Google ».

Un tel argumentaire, dont chacun pensera ce qu'il veut sur la forme, laisse en tout cas imaginer que Oracle voit dans les bases NoSQL une menace de plus en plus pressante.

Est-ce le cas ? NoSQL devient-il « mainstream » et plus « avant-gardiste » ? Et si ce n'est pas le cas, pourquoi sortir un tel Livre Blanc ?

La deuxième question que pose Oracle, et qui mérite de l'être (une fois de plus indépendamment du style polémique de ces quelques pages), est celle des ressources que demande NoSQL.

Une question qui est d'autant plus intéressante qu'elle est posée calmement et sans parti pris.

Et que nous vous posons donc pour aider développeurs et décideurs à y voir plus clair sur ces technologies centrales, aussi bien pour le Web que pour les développements applicatifs ou les entreprises en général : les bases NoSQL demandent-elles plus, moins ou les mêmes ressources que les SGBD de Oracle, de Microsoft ou de SAP/Sybase ?

Source : « Démystifier la mode NoSQL » (PDF)

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de kain_tn
Membre émérite https://www.developpez.com
Le 12/10/2011 à 17:16
Pfff. Décidément je n'aime vraiment pas la mentalité d'Oracle.

Utiliser des bases NoSQL partout de façon systématique et sans réfléchir est aussi nocif que d'utiliser des BDD relationnelles à toutes les sauces.

Ce sont donc des outils complémentaires et non concurrents, pour la simple et bonne raison qu'ils ont leurs points forts et leurs points faibles. À chacun sa spécialité.

Pour ce qui est des coûts, honnêtement faire tourner du Oracle ce n'est pas du tout donné. Je dirai même qu' [mode troll] à moins d'avoir plein d'argent et une usine à gaz à faire tourner (et donc un système mal conçu) ça ne sert à rien de mettre en place une BDD Oracle en comparaison avec ce que l'on peut trouver sur le marché... (SQL Server, PostgreSQL 9.1, ...) [/mode troll]

Pour ce qui est des compétences, les BDD Oracle ont des comportements bizarre des fois ce qui est tout sauf trivial et donc il faut également avoir des gens formés et compétents (ce qui en soi est assez logique) donc bon leur argument de la super équipe super formée est pas terrible...

Je n'aime particulièrement pas le passage sur l'Open Source. Ça montre encore une fois tout le dédain que cette boite a envers le travail libre (cf. affaires Hudson/Jenkins, OpenOffice/LibreOffice, Java et la fondation Apache, ...).

Enfin il n'y a pas besoin d'être Google ou Facebook pour utiliser des outils à la mode si ils sont performants. C'est une simple question de bon sens. Pour avoir utilisé Neo4J, Redis et Cassandra/Hadoop au boulot, je dois dire que bien utilisés ils simplifient énormément les choses et sont capables d'encaisser des charges que les BDD classiques ne pourraient encaisser qu'à grands frais (infrastructures, etc) et je pense que c'est ce point précis qui effraye Oracle.

Pour ceux qui connaissent mal ou peu les BDD NoSQL, il y a ce lien qui résume très brièvement les différentes bases du marché et leur domaine d'utilisation
5  1 
Avatar de grunk
Modérateur https://www.developpez.com
Le 12/10/2011 à 16:37
Et de conclure : « Vous n'êtes pas Google ».
Pour le coup il n'ont pas tord sur ce point. Beaucoup de décideur base leur choix sur le fait que tel ou tel groupe utilise une techno pour faire pareil sans pour autant savoir l'équipe/matériel qu'il y'a derrière cette technos.

On a tous déjà eu droit à un truc du genre :
Ha oui mais chez Google/Microsoft/Facebook y savent le faire ça
3  0 
Avatar de jmnicolas
Membre éprouvé https://www.developpez.com
Le 12/10/2011 à 16:52
Tu n'es pas Google, mais vu que l'outil est déjà développé tu n'as pas besoin d'être Google : tu es un simple utilisateur.

Je ne m'étendrai pas trop sur NoSql vu que je connais pas du tout (nos besoins sont modestes, et satisfaits par Postgresql), mais la comparaison d'Oracle est fumeuse.

A ce compte là il faut être Oracle pour utiliser Oracle ?
3  0 
Avatar de martopioche
Membre éclairé https://www.developpez.com
Le 12/10/2011 à 16:54
Citation Envoyé par Gordon Fowler Voir le message
Voulez-vous vraiment contribuer à un effort open-source?
Heu... Si Oracle pose de cette manière la question, j'en conclue que pour Oracle c'est mal que de contribuer à un effort OpenSource. Bon... Java et MySQL sont morts...
2  0 
Avatar de Lujeni
Membre régulier https://www.developpez.com
Le 12/10/2011 à 21:44
Je me permet de poster car j'utilise MongoDB dans un environnement de production avec MS SQLServer. Comme il a été dis , le NoSQL et les BDD classiques sont la pour se completer.


Tout d'abord, il n'y a pas de tables mais juste un stockage d'objets. Vous pouvez donc oublier toutes les joies du relationnel (jointures principalement mais aussi contraintes d'intégrité (foreign key) et le compositions de requêtes). Du coup, on est obligé de tout stocker comme un bourrin dans un même objet et répliquer tout un tas d'info de partout. La philosophie étant : "j'ai un espace de stockage infini mais je peux pas l'organiser donc je me tout partout" !
En réalité le système se comporte plus comme un gros système de stockage efficace ("stock cet objet", "donne moi celui-là", ...) que comme une vraie base de donnée.
Desole mais si tu dis ca c'est que tu as très mal compris le NoSQL, au contraire de ce que tu dis le fait est de ne pas avoir de modèle permet une bien plus grande flexibilité et evolution. Ce qui est un point fort. Ensuite pour l'espace de stockage, la aussi c'est faux. En effet beaucoup de gens utilise MongoDB en Front end pour travailler directement avec un site web par exemple et on un programme pour stocker les datas ensuite dans une BDD classique. Ensuite tu peux avoir des volumes enormes avec le NoSQl comme avec le SQL. Certaines bases MongoDB depassent le milliard de document en gardant d'excellente performance .

Pour revenir au sujet, oracle a raison de poser ces questions car cet effet de mode peut etre très nefaste. Le choix d'une base NoSQL depend enormement du BESOIN et non pas que des performances / mode.

Enfin, pour moi se former sur du NoSQL ou du SQL reviens au meme.Cela demande du travail, de l'experience et connaissance poussée de son outil pour garantir les meilleures performances. Cependant, il est plus dur de passer du SQL a du NoSQL quand on a toute la logique du SQL en tete.
2  0 
Avatar de kimimo
Membre du Club https://www.developpez.com
Le 12/10/2011 à 21:53
Citation Envoyé par Lujeni Voir le message
Desole mais si tu dis ca c'est que tu as très mal compris le NoSQL, au contraire de ce que tu dis le fait est de ne pas avoir de modèle permet une bien plus grande flexibilité et evolution. Ce qui est un point fort. Ensuite pour l'espace de stockage, la aussi c'est faux. En effet beaucoup de gens utilise MongoDB en Front end pour travailler directement avec un site web par exemple et on un programme pour stocker les datas ensuite dans une BDD classique. Ensuite tu peux avoir des volumes enormes avec le NoSQl comme avec le SQL. Certaines bases MongoDB depassent le milliard de document en gardant d'excellente performance .
Ne pas avoir de modèle permet en effet de pouvoir facilement faire évoluer sa base. En revanche, (en tous cas je parle sur ce que j'ai connu : Google App Engine) c'est pas demain que tu feras une requête te ramenant l'ensemble des salariés ayant un salaire supérieur à la moyenne... Pour ça, tu devras d'abord calculer la moyenne puis ramener les salariés ayant un salaire supérieur à cette valeur.

Effectivement, le GROS plus du NoSQL est de garder un temps d'accès constant avec un gros volume (le milliard de document) alors qu'avec une BBDR les performances se dégradent rapidement...
L'usage dont tu parles est de stocker et récupérer des documents, rien de très compliqué donc. Mais dès que l'on cherche à faire des requêtes sophistiquées, le NoSQL est vraiment à la ramasse...
2  0 
Avatar de Népomucène
Modérateur https://www.developpez.com
Le 13/10/2011 à 13:20
Citation Envoyé par Bktero Voir le message
Bonjour,

Je découvre le NoSQL avec ce post. ...
De ce que je comprend, le NoSQL serait comme une fonction géante de recherche dans des fichiers textes
Regarde ici :
Rapide aperçu des types de bases de noSQL
2  0 
Avatar de Bktero
Modérateur https://www.developpez.com
Le 13/10/2011 à 23:54
Merci pour le lien

Avec ce que je viens de lire, je comprends un peu mieux les craintes d'Oracle. Le risque est quand même que beaucoup de gens utilisent du NoSQL pour tout ce qui n'a pas besoin de relationnel. Je pense qu'il doit y avoir un sacré paquet de projets où c'est le cas, sur au moins une partie de l'application. Au prix des licences, ça pourrait faire une sacrée différence dans la caisse.

Je trouve que l'argument de performances peut se comprendre (si on arrive à clairement le démontrer), autant l'argument "vous n'êtes pas Google" ne tient pas. C'est un peu dire "vous êtes tous des blaireaux, utilisez nos produits plutôt que NoSQL". En plus de prendre des gens pour des imbéciles, leurs (potentiels) client de surcroit, ça prétend qu'être DBA et mettre en place un système de BDD complexe est faisable par n'importe quel noob.... Juste un mot : lol
2  0 
Avatar de Nithril
Membre régulier https://www.developpez.com
Le 14/10/2011 à 16:55
Citation Envoyé par Arnaud B. Voir le message
Toujours pas compris l'intérêt de ce NoSQL...

Mais bon je suis prêt changer d'avis si quelqu'un a de vrais arguments.

Qu'est ce qui vous oblige à faire du relationnel dans un SGBDR ? C'est vous qui faites le modèle, c'est pas le SGBD qui vous l'impose !
Si vous avez envie de tout mettre dans une seule table, libre à vous...

Si vous voulez avoir une table avec juste une colonne de type id et une colonne de type XML ou JSON pour stocker une donnée structurée, vous pouvez...

Ca me fait rire les arguments sur le volume de données... vous croyez que les SGBDR "classiques" ne gèrent pas de gros volumes de données ??? Mais les SGBDR gèrent des BDD bien plus volumineuses que les bases des plus gros sites d'e-commerce...

Et on parle de ne pas respecter les principes ACID... mais bon sang quel peut être l'intérêt de ne pas respecter un principe qui permet d'avoir des transactions atomiques, des données cohérentes et intègres, des accès concurrentiels cohérents... etc... ??? alors là j'aimerai bien savoir...

Cdlt, Arnaud.
Certaines bases NoSql gère de TRÈS gros volume de données inaccessible à un SGBDR tel qu'Oracle et à un prix soft et hard bien en dessous.

Un JSOn ou un XML n'est pas recherchable (exception faite pour le XML avec les gros SGBDR).

Les bases NoSQL ont des transactions, des données cohérentes, des accès concurrents...

Le NoSQL ne s’érige pas contre le SQL, il offre en alternative à un modèle tout sql (NotSQL = not only sql). L'idée c'est d'utilisé la techno adaptée à ses besoins.
2  0 
Avatar de BakaOnigiri
Membre actif https://www.developpez.com
Le 12/10/2011 à 17:46
Pour ma part, je ne pense pas que Oracle voulait dire "l'open source c'est le mal", en tout cas pas dans ce livre blanc.

J'interprète surtout çà comme : "comptez vous vraiment vous passer d'un support pro sur un produit aussi important qu'une BDD".

Attention, je ne veux pas dire qu'il n'existe pas de support pro pour de l'open source (ex: omniORB), mais le sujet est peut être encore trop récent pour avoir un vrai support qui répondrais à des besoins très spécifique qu'aurait une entreprise qui aurait besoin d'une BDD

Pour le reste, je ne m'y connais pas assez.
1  0