|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Bien sur, on peut toujours utiliser un SGBDR pour faire cela, mais ce n'est pas toujours nécessaire. Par exemple, les systèmes de fichiers (ext/ntfs) fonctionnent très bien sans passer par un SGBDR. Je vois de plus en plus de projets qui remplacent leur stockage "plat" par des bases SQL (sqlite, ...) pour des raisons de performances (genre la gestion du cache dans les browsers web). Je pense qu'on peut faire aussi performant que sqlite sans passer par une base SQL, et que cette solution est surtout choisie pour des raisons de facilité. |
|
|
00
|
|
|
#22 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 238 ![]() |
|
|
|
00
|
|
|
#23 |
|
Membre éprouvé
![]() Lionel Inscription : décembre 2008 Messages : 305 ![]() |
Selon moi, noSql est un "anti hégémonie sql" qui se nourrit de nos (trop confortables) certitudes
Dans les temps imémoriaux où je commençais ce métier, sql vivait ses premières heures et oracle tournait sur des systèmes unix incroyablement chers (mais aussi sur Xenix, l'unix d'intel relativement bon marché) Sur PC, le standard qui a vraiment lancé la BDD, c'est dBase3 qui connut ensuite une version 4 complètement ratée et des copies concurrentes très réussies : Clipper et Foxpro Aujourd'hui le standard n'est pas (complètement) mort : rechercher Xbase++ d'Alaska software sur google. Sql a résumé la base de données à un concept unique. Par rapport à Xbase, je lui reproche une gestion des indexes approximative. Je ne connais pas en sql d'indexes partiels, c'est-à-dire qui n'indexent qu'une partie d'une table sur un critère qui se trouve dans la commande de création d'index et non pas dans l'index lui même. De même l'optimisation sur index sql est laissée au moteur de données et relativement difficile à forcer. Pour conclure : les indexes Xbase sont plus précis et potentiellement plus rapides. Merci aux rois d'Oracle de ne pas argumenter sur le schéma d'execution : celui-ci est vraiment d'une autre philosophie qu'xbase qui rassemble tout dans la syntaxe de son language. Quand je me suis mis à SQL, je pensais en avoir terminé avec les choix cornéliens et parvenir à une relative inter opérabilité entre data engines. NoSql remet ça sur le tapis. S'agit-il du vieux rêve de tout remplacer par XML ? Ce serait peine perdue car XML ne permettra jamais les performances des tables à taille d'enregistrement fixes de nos SGBDR (je ne parle pas des blobs ou des memos) Cela n'empêche : les bases de données sont tellement stratégiques dans certaines productions qu'on peut estimer leur valeur à plusieurs millénaires/homme, cela fait réfléchir car ça ne risque pas de diminuer ! On va bien finir par centraliser des sommes de connaissances universelles telles que contester le modèle de base est bien le moins qu'on puisse faire. Plus proche de nous, il y a un ovni du nom de filemaker que certaines sociétés apprécient mais pour un gars qui veut produire de grandes choses dans ce métier, le challenge actuel est : SQL ou rien ! c'est sans doute la raison de ce mouvement anti sql : l'hégémonie n'est pas plaisante Enfin, il faudrait parler de la base objet : j'ai écrit trois programmes basés là dessus, je crois que ZOPE utilise une telle architecture... Mais pour géniale qu'elle soit , elle reste relativement lente. Or j'ai l'impression que le vrai challenge de l'industrie comme du mouvement noSql est d'optimiser les performances. Pour le reste on peut imaginer beaucoup de choses dont la base objet qui est peut-être la plus intéressante. |
|
|
00
|
|
|
#24 | |
|
Membre éprouvé
![]() Lionel Inscription : décembre 2008 Messages : 305 ![]() |
Citation:
En 92 j'ai aussi écrit mon propre moteur en C très rapide (et très limité) mais : Combien de temps pour développer un outil crédible capable de stocker 100 Go ????? Comment rentabiliser ce travail alors que les SGBDR actuels fonctionnent bien ? Quelles technologies envisager, faut-il remplacer le B-Tree, le séquenciel indexé ? le parser SQL ? le système d'optimisation? DDL ? Arbres binaires ? matrices ? Quoi concrètement ? |
|
|
|
00
|
|
|
#25 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Il s'agit de se poser la question de savoir si, dans son contexte, on a besoin des fonctions spécifiques des SGBDR, comme le schéma relationnel ou le langage de query. - Si la réponse est OUI, alors il faut bien-sur prendre un SGBDR. - Si la réponse est NON, alors le SGBDR n'est pas FORCEMENT la solution. Ca peut l'être (ca apporte des contraintes), mais il peut y avoir mieux. Le mouvement NoSQL c'est simplement se poser cette question avant de choisir un SGBDR.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#26 | |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 238 ![]() |
Citation:
|
|
|
|
00
|
|
|
#27 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 520 ![]() |
Un peu de lecture sur le sujet : http://www.julianbrowne.com/article/...rs-cap-theorem
|
|
|
00
|
|
|
#28 |
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 517 ![]() |
Moi ce qui me dérange dans le NoSQL... C'est le "No SQL".
Si c'est avant tout une méthode différente de stockage et de recherche des données (distribution des données sur plusieurs systèmes, avec interrogation universelle de l'ensemble des machines pour retrouver l'information, sans se soucier d'où elle vient), pour moi je ne vois pas en quoi c'est incompatible avec la notion de SGBDR, et encore moins avec le langage SQL. C'est ni plus ni moins que faire du partitionnement non pas dans plusieurs fichiers étalés sur plusieurs disques, mais du partitionnement dans plusieurs machines. Cela dit, étant responsable informatique dans une entreprise qui change actuellement de logiciel métier, je dois dire que je suis surpris qu'on se pose aujourd'hui la question du découpage des données sur plusieurs machines. Aujourd'hui, SGBD ou pas, c'est actuellement totalement transparent chez les hébergeurs. Les baies de disque font pour nous ce travail de distribution des données sur plusieurs systèmes. La plupart du temps, on ne rajoute pas de disques, mais bien des serveurs tout entiers, qu'on ajoute à la baie de disque. C'est alors complètement transparent pour les logiciels qui accèdent aux données, que ce soit un SGBD ou n'importe quel autre logiciel (GED par exemple, qui ne se baserait pas sur un SGBD). Bref, sorti du PC de monsieur tout le monde (qui n'a aucune raison de tirer profit de la répartition des données sur plusieurs PC) je ne vois pas où il y a de l'avenir pour une telle chose : si au niveau du matériel on le gère déjà très bien, à quoi bon s'emmerder à le gérer dans le programme, et encore plus dans la philosophie de programmation ? Pour en revenir au développement sur PDA, on a de plus en plus la possibilité d'utiliser un SGBD. Les CPU embarqués sont de plus en plus performants, la quantité de mémoire de moins en moins limité, et on a de loin des performances supérieures à un serveur NT4 d'il y a 10 ans... Qui faisait tourner sans problème Oracle ou SQL Server ! Donc si l'avenir du NoSQL c'est ce genre de plateformes, c'est une mode morte-née |
|
|
10
|
|
|
#29 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 520 ![]() |
Si tu veux avoir les caractéristiques ACID, te faut un maitre, qui lui ne peut pas "scaler" indéfiniment.
|
|
|
00
|
|
|
#30 |
|
Membre confirmé
![]() Architecte technique Inscription : mai 2004 Messages : 210 ![]() |
Je ne sais pas ce que vous en pensez, mais personnellement je trouve le billet plutôt mauvais.
Il n'y a pas d'argumentaire technique, simplement l'ouverture d'un débat assez stérile avec un certain parti pris qui rappelle vraiment les campagnes marketing de certains gros éditeurs. Sans parler du vecteur jouant sur la peur que peut engendrer l'immaturité d'une techno pourtant à peine emmergeante. Sur le fond, je ne comprends pas la vague "anti sql", mais j'ai du mal a suivre ceux qui défendent les bases relationelles à tout prix. Il existe un tas de contextes dans lesquelles les bases sql et tout particulièrement mysql sont aux abois. Dans certains cas les bases "nosql" peuvent apporter une altérnative voire un complément assez judicieux. Ces "technologies" n'ont certes pas encore la maturité des serveurs oracle, mais je ne vois pas quelles seraient les raisons pour qu'elles ne l'atteignent pas dans un proche futur. Un billet un minimum argumenté aurait pu être intéressante à lire, mais la je dois dire que franchement je ne vois pas le point ... |
|
|
00
|
|
|
#31 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#32 | |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 238 ![]() |
Citation:
|
|
|
|
00
|
|
|
#33 | |
|
Membre régulier
![]() Inscription : octobre 2007 Messages : 264 ![]() |
Citation:
Concrètement, il se passe quoi quand un SGBD ne tient pas la charge ? Ça m'intéresse car j'ai développé un robot qui enregistre un gros volume de pages web et de liens (plus de 700 000 entrées sur certaines tables). Et lorsque je crawl un site de plus de 100 000 pages, au bout de 4h-5h environ je script s'arrête et comme je ne suis pas un boss des BDD ... quelques explications sur ton dernier post m'interessent vivement |
|
|
|
00
|
|
|
#34 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 520 ![]() |
Quand un SGBD ne tient pas la charge, et bien ça rame voir ça plante.
Même si tu as une grosse charge le SQL est surement une bonne solution. Le NoSQL est une solution pour les systèmes ENORMES comme digg twitter ou autres. Sinon oublie, ce n'est pas pour toi. |
|
|
00
|
|
|
#35 | |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 238 ![]() |
Citation:
Le but du jeu n'est pas de faire des comparaisons de scalabilités. C'est de se poser la question suivante : Est-ce que dans une logique de meileure qualité logicielle (optimisation performance/utilisabilité/maintenance=), le recours systèmatique actuel à la base de données relationnelle est la meilleure solution ? Moi je pense qu'aujourd'hui, la base relationnel est un outil essentiel, mais difficile à maitriser et qui a un coût; nombreux sont les posts et débats ici qui parle de techniques plus ou moins évoluées pour permettre à une équipe de dév et à un environnement relationnel d'interagir sans trop de chocs. En revanche, je m'interroge sur l"utilité d'utiliser les bases relationnelles pour "produire". Il y a clairement un "sur emploi" des bases de données, qui en forçant finalement la normalisation de tout deviennent complexes et difficiles à maintenir. Le problème est cette "gray zone" (entre le langage et la db) qui aujourd'hui pose les porblèmes de maintenance. En outre, on trouve de plus en plus souvent des logiques multi tenants dans les applications, avec des cloisonnements logiques forts, des méta données, et ainsi de suite. Là aujourd'hui, pour avoir essayé les deux solutions, je ne suis plus convaincu par les SGBD. Je n'ai pas le temps de développer plus, mais je crois qu'il y une frontiére d'usage. On est pas en train de se dire : C# ou Java ; il s'agit d'outils fondamentalement différents. |
|
|
|
00
|
|
|
#36 |
|
Membre confirmé
![]() Inscription : juillet 2007 Messages : 357 ![]() |
Ce qui m'étonne c'est qu' il ny as pas encore de modele avec un moteur analytique SQL et un moteur de stockage en colonne comme dans nosql . Je pense que le plus simple soit sur mysql ou l'on pourrait remplacer innodb par un stockage en colonne.
Ce serait un peu plus lent que cassandra ou Bigtable mais on pourrait avoir les avantages des 2 systemes . |
|
|
00
|
|
|
#37 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 520 ![]() |
Non, c'est impossible.
Regarde ce document par exemple pour bien comprendre pourquoi : http://www.julianbrowne.com/article/...rs-cap-theorem Par contre, rien ne t'empêche d'utiliser du SQL ET du NoSQL dans une même application. |
|
|
00
|
|
|
#38 | |
|
Nouveau Membre du Club
![]() |
Citation:
Et monsieur SQL reste figé dans le temps (je me revois dans les bancs de physique à l'université). Je ne vois pas trop basculer de SQL a noSQL.... mais une chose est sure, il faut un gros coup de pied dans la fourmilière et faire vraiment avancer ce fossile. Si ce mouvement existe c'est qu'il existe des besoins qui ne sont pas couverts par SQL !!!! |
|
|
|
01
|
|
|
#39 |
|
Membre confirmé
![]() Inscription : juillet 2007 Messages : 357 ![]() |
faudra bien un language / norme pour manipuler les données (analytiques) ramenée par un moteur nosql non ?
|
|
|
00
|
|
|
#40 | |
|
Membre Expert
![]() Analyste-programmeur Inscription : mai 2002 Messages : 2 140 ![]() |
Citation:
Personne n'a donné d'exemples concrets.
__________________
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ______________________________________________________________________________________________ Delphi 6#2 Entreprise - Delphi 2010 Architecte - Delphi XE2 Entreprise Win XP Pro - OpenGL 2.1 - Oracle 11g - Firebird 2.5.0.2 Écrivez dans un français correct !!
|
|
|
|
10
|
Copyright © 2000-2013 - www.developpez.com