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

Décisions SGBD Discussion :

SGBD : le mouvement anti-SQL s’amplifie ?


Sujet :

Décisions SGBD

  1. #1
    Correspondant Actualités

    SGBD : le mouvement anti-SQL s’amplifie ?
    SGBD : le mouvement anti-SQL s’amplifie ?
    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?

  2. #2
    Membre actif
    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à?
    Pti Pié

  3. #3
    Expert éminent sénior
    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 ":")
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    En attente de confirmation mail
    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.
    Robusta Code : Formation - Architecture - Création - Open Source

    Robusta Code

  5. #5
    Membre régulier
    Ca veut dire quoi SBBD...?

    merci

  6. #6
    Membre habitué
    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.

  7. #7
    Membre actif
    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) ?

  8. #8
    Membre averti
    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é!!!
    ______________
    Never underestimated the browser
    Ne jamais sous-estimé le navigateur
    Vic Gundotra, Google IO 2009

  9. #9
    Rédacteur

    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).

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  10. #10
    Modérateur

    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)?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cour...eloppons/java/

  11. #11
    Rédacteur

    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.

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  12. #12
    Membre régulier
    Vu le poids des éditeurs de SGBDR, les adversaires de SQL ont intérêt à avoir de solides arguments.
    Pour ma part je ne comprend pas comment on peut s'assurer de l'intégrité des données dans une base non relationnelle ??

  13. #13
    En attente de confirmation mail
    Moi non plus, mais en 40 ans, quelques cerveaux ont pu trouver des solutions, non ?
    Robusta Code : Formation - Architecture - Création - Open Source

    Robusta Code

  14. #14
    Membre éprouvé
    Au moins on peut dire qu'il reste toujours des avis originaux et que tout le monde ne marche pas dans les mêmes traces de pas . Heureusement que tout le monde ne fait pas toujours que de l'informatique professionnelle de haute performance!
    Moi, ce que j'aimerais bien voir, c'est un exemple. Une petite base de test ou de démonstration, comme pour les tutos SQL, et quelques interrogations/ajouts/suppressions/modifications, juste pour avoir une idée de ce à quoi ça peut bien ressembler!
    L'avis publié ci-dessus est mien et ne reflète pas obligatoirement celui de mon entreprise.

  15. #15
    Membre actif
    Citation Envoyé par Plageman Voir le message
    Pour ma part je ne comprend pas comment on peut s'assurer de l'intégrité des données dans une base non relationnelle ??
    Exclure le SQL ne dit pas exclure les SGBD


    Je pense que le noSQL peut espérer vivre simplement parce que Google, Facebook... ont prouvé que les performances sont au rendez-vous
    Ca serait peut être a eux de se concerter pour proposer un remplacent de SQL.

    Pour ce qui est de la communauté Java, le rachat de Sun par Oracle risque d'empêcher la participation de Sun dans le projet. Reste encore Apache, qui aime tant implémenter des standards.
    Pti Pié

  16. #16
    Nouveau membre du Club
    Je pense que le but de NoSQL n'est pas de remettre en cause le language SQL en tant que tel.

    Il s'agit plutôt de proposer des alternatives au modèle de données relationnel pour des cas d'utilisations bien spécifiques.

    Nottament pour gérer des très grand volumes de données.

    Après on peut très bien imaginer interroger ces nouveaux types de bases de données avec un langage de type SQL.

  17. #17
    Membre averti
    En tout cas, merci pour ce thread, j'ignorais qu'il y avait des technologies autres que les sgbdr avec langage sql pour gérer ses données. Je vais de ce pas m'informer dessus.
    La sécurité de l'emploi
    "Ce n’est pas une pratique médicale sensée que de risquer sa vie en se soumettant à une intervention probablement inefficace afin d’éviter une maladie qui ne surviendra vraisemblablement jamais."
    Docteur Kris Gaublomme, médecin belge ("Vaccins et maladies auto-immunes")

  18. #18
    Membre expert
    Citation Envoyé par alexlem Voir le message
    Je pense que le but de NoSQL n'est pas de remettre en cause le language SQL en tant que tel.

    Il s'agit plutôt de proposer des alternatives au modèle de données relationnel pour des cas d'utilisations bien spécifiques.

    Nottament pour gérer des très grand volumes de données.

    Après on peut très bien imaginer interroger ces nouveaux types de bases de données avec un langage de type SQL.
    Même idée. +1
    Emmanuel Lecoester
    => joomla addict.

  19. #19
    Membre chevronné
    Citation Envoyé par DranDane Voir le message
    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.
    Tiens, j'ai entendu le même propos avec xml.

  20. #20
    Membre chevronné
    Citation Envoyé par Plageman Voir le message
    Pour ma part je ne comprend pas comment on peut s'assurer de l'intégrité des données dans une base non relationnelle ??
    - Dans une base de données xml par exemple, l'intégrité est assurée par la conformité des documents xml contenus par rapport à un schema.
    - Dans une base de données objet, l'intégrité porte sur la structure et le comportement.
    - Dans une base de données ontologique, les mécanismes d'intégrité sont définis par l'ontologie elle-même.