Pour ma culture, mysql et oracle?

Voilà, je développe quelques petites choses en php/mysql (comme tout le monde quoi :P) pour une boite à usage interne.

Ils utilisent deja un serveur Oracle pour d’autres choses, et m’ont demandé si ca ne serait pas mieux de laisser tomber mysql pour utiliser leur Oracle.

Seulement je ne sais pas répondre à cette question :stuck_out_tongue:

Je crois savoir (corrigez moi si je dis une annerie), qu’Oracle est mieux pour les « grosses quantités » d’enregistrements. Mais dans quelle mesure? Concrètement, à combien d’enregistrements est il utile de lorgner sur Oracle plutot que mysql?

En fait, de mon point de vue, oracle et mysql ne sont pas comparables.

oracle, c’est le SGBDR avec tout integre, et tout ce qu’on attend d’une bdd: integrite, trigger, procedures, vues, etc.

mysql, c’est un systeme de stockage avec aucun controle quand on veut profiter de sa rapidite: MySQL est rapide en mode MyISAM, lorsqu’aucun controle n’est fait.

oracle va etre aussi perfomant quelque soit la requete faite (quasiment). MySQL, des qu’on fait des requetes complexes, il s’effondre tres rapidement.

et gros probleme: au dela d’un certain nombre d’utilisateurs, MySQL s’effondre.

Par contre, en utilisant les index, et a moins d’avoir des bases enormes (genre 500M-1G) MySQL peut gerer des gros trucs.

Donc ca depend vraiment ce qu’on veut faire, mais utiliser oracle pour du web, a moins de faire un site pour 1 millions de personnes, ca reste utiliser un marteau piqueur pour casser une noix.

D’autres avis?

LoneWolf
PostGreSQL, ca rulez. :stuck_out_tongue:

Je plussoie Lonewolf. MySQL quand ca gère de grosses quantitées, point de salut en InnoDB et sans index…

Dans ma boîte on fait du dev’ oueb et on utilise Oracle. Mais bon, c’est un assez gros projet, gestion de chaînes hotelières avec quand même de la grosse quantité d’info.

En fait ça dépende de ce que tu veux faire. Si c’est une petite BD, pas trop besoin d’Oracle, si c’est un gros truc Oracle propose des petits plus ( enfin petits … ) qui facilitent grandement la vie ( PL/SQL notamment ). Et avec une BD bien organisée ( foreign keys, index, etc. ) c’est très rapide même avec des tonnes d’info.

Après il faut aussi voir le prix de la licence Oracle. Si de toutes façons vous la payez déjà, autant l’utiliser davantage, par contre si ton truc en plus d’interne ça va se vendre, s’il n’a pas besoin d’Oracle ça va faire une bonne grosse économie pour le client.

Faudrait un peu plus d’info sur ce que tu veux faire en fait …

[quote name=‹ LoneWolf › date=’ 29 Jan 2005, 19:17’]et gros probleme: au dela d’un certain nombre d’utilisateurs, MySQL s’effondre.

Par contre, en utilisant les index, et a moins d’avoir des bases enormes (genre 500M-1G) MySQL peut gerer des gros trucs.[/quote]

Evidemment, tout depend de ce que tu appelles « beaucoup d’utilisateurs » et « bases enormes ».

Au moment de la migration, la base de cafzone pesait dans les 300Mo et effectivement ca commencait a devenir lent a manipuler (par manipuler faut comprendre plein d’insert). Par contre, pour les select (ce que fait un site web 90% du temps), MySQL tient tres bien le coup a condition de mettre des index (evidemment sans les index c’est meme pas la peine). C’est pour cela que MySQL est ideal pour les sites Web : supra rapide pour les select, lent pour les trucs exotiques dont un site n’a pas besoin.

Au niveau de la taille supportee : les 300 000 posts de cafzone, ca pese donc dans les 300Mo de base. http://forum.hardware.fr tient avec du MySQL avec ses quelques 21 000 000 posts, alors je vous laisse deviner la taille de leur base (vi vi, beaucoup). Et ca pulse massivement leur truc. Et avec leurs 230 000 membres, ca doit leur en faire des acces a la base je pense. :stuck_out_tongue:

Et PostgreSQL ?

Sinon est ce que tes patrons ont une license oracle ? Parce que ca vaut chere …

Koubiak

[quote name=‹ unreal › date=’ 29 Jan 2005, 15:21’]C’est pour cela que MySQL est ideal pour les sites Web : supra rapide pour les select, lent pour les trucs exotiques dont un site n’a pas besoin.
[right][post=« 327133 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Les trucs exotiques… excellent :stuck_out_tongue: et encore mieux « dont un site n’a pas besoin » :stuck_out_tongue:
Tu sais en fait tout le monde ne fait pas tourner un site communautaire avec des forums ou un site de news sur le web. Sur le total c’est meme surement loin d’etre majoritaire alors ta notion de « truc exotique dont un site n’a pas besoin » c’est clairement n’importe quoi. Et un forum, meme hardware.fr est difficilement une reference de gros site pesant/utilisant une base de donnee relationelle de maniere intensive. Que certains « developpeurs » php/mysql manquent tellement d’experience/formation/talent (atchoum phpnuke atchoum) qu’ils arrivent a faire foirer meme ces scenarios tout simple en ouvrant 50 connections par page ne prouve rien. Les requetes d’un forum sont en grande majorite toutes simples et la base pourrait faire 4 gig que ce irait surement aussi vite. Un select where machin = primary key dans une table enorme j’espere bien que quel que soit le scenario et la taille de la table, ca trace… Enfin comme tu le dis, et tu as raison, ce sont effectivement des cas ou mysql est particulierement bien adapté personne ne remet ca en cause :stuck_out_tongue: mais c’est loin de representer tous les cas de figure et surtout tres tres loin d’etre generalisatble aux « sites web ».

Donc oui mysql est adapte aux scenarios tres majoritairement orientes lecture sans aucune contrainte d’integritee. Si c’est ton scnenario tant mieux, c’est fait POUR. Mais evites de raconter n’importe quoi sur « les sites web » en general. C’est ridicule. Le benefice d’oracle ne reside pas seulement dans la taille de la base qu’il peut gerer, puisque comme on le dit, mysql peut lui aussi gerer des bases tres grosses du moment qu’on lui demande pas grand chose derriere. C’est surtout rapport a ce que tu demandes de ta base et des contraintes que tu as sur les donnees, leur integrite, leur « sensibilite ». Pas grand chose a voir avec la taille. Je peux avoir un site qui va gerer des transactions financieres pour un groupe financier, meme si la base fait 60 megs parcequ’elle ne conserve que ce qui passe pendant 20 minutes de temps, ca serait suicidaire de faire ca en mysql (et suicidaire ne ne pas faire des logs de partout qui feraient exploser la taille de la base mais c’est un autre probleme).

Pour repondre a la question, personellement je pense que si tu sais pas dans quoi tu t’embarques, et que tu as aucune idee de ce dont beneficierait tes projets en passant sous oracle il vaut mieux rester sous mysql. A moins que l’admin IT pete un cable de gerer 2 machines au lieu d’une ou que tu veuille te former a Oracle (ce qui est loin d’etre negligeable comme argument). Mais dans ce cas la prend les choses doucement et si tu peux fais une formation sur les bases de donnees relationelles (ou des livres/cours serieux), tu vas decouvrir un autre monde ou les gens sont pret a payer $7500 par CPU pour gerer leur donnees, et a juste raison… :stuck_out_tongue:

Ok alors je résume:

Mysql et tout aussi capable de gérer de grosses bases de données qu’Oracle, tant qu’on se limite à des petits select * where * et à des insert.
Mais si on veut des requetes costauds, là Oracle c’est mieux.

Pour mon projet, ca va être 95% de petits select et insert. Une fois par mois, il y aura de grosses requetes pour faire des stats.
Je peux donc répondre, qu’Oracle n’apporte rien à mon projet.

Merci beaucoup! :stuck_out_tongue:

[quote name=‹ ced1er › date=’ 30 Jan 2005, 13:37’]Ok alors je résume:

Mysql et tout aussi capable de gérer de grosses bases de données qu’Oracle, tant qu’on se limite à des petits select * where * et à des insert.
Mais si on veut des requetes costauds, là Oracle c’est mieux.

Pour mon projet, ca va être 95% de petits select et insert. Une fois par mois, il y aura de grosses requetes pour faire des stats.
Je peux donc répondre, qu’Oracle n’apporte rien à mon projet.
Merci beaucoup!  :stuck_out_tongue:
[right][post=« 327184 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Mais tu veux faire des contraintes d’intégrité ? Ou des triggers ?

Peut etre que que PostgreSQL serait bien tout en étant gratuit …

Koubiak

Après il ne faut pas voir que du côté technique mais aussi du côté de l’organisation et du transfert de connaissance d’un projet à l’autre.

Si ta boite est une petite PME qu’avec MySQL et éventuellement un serveur oracle de prod pour l’ERP, autant rester sur MySQL. Si ta boite a l’habitude de gérer une multitide de base de données, tu peux rester sous MySQL.
Mais si ta boite utilise majoritairement de l’oracle pour des projets transversaux, ça emmerde les responsables informatiques de gérer les particularismes de 10% de projet en MySQL.

[quote name=‹ phili_b › date=’ 30 Jan 2005, 14:10’]Après il ne faut pas voir que du côté technique mais aussi du côté de l’organisation et du transfert de connaissance d’un projet à l’autre.

Si ta boite est une petite PME qu’avec MySQL et éventuellement un serveur oracle de prod pour l’ERP, autant rester sur MySQL. Si ta boite a l’habitude de gérer une multitide de base de données, tu peux rester sous MySQL.
Mais si ta boite utilise majoritairement de l’oracle pour des projets transversaux, ça emmerde les responsables informatiques de gérer les particularismes de 10% de projet en MySQL.
[right][post=« 327188 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Effectivement, il y a un serveur Oracle pour l’ERP.
Ca n’embete personne de rajouter un serveur pour les applis que je vais faire, l’idée c’était plutot « on a une licence Oracle qui coute plein de thunes, ce serait dommage de ne pas l’utiliser si ca sert à qqc ».
D’où mon post sur la zone, est-ce que ca sert à qqc? La réponse dans mon cas est non, donc voilà :stuck_out_tongue:

Koubiak: Je ne connais PostgreSQL que de nom. Je ne pense pas utiliser de triggers. De contraintes d’intégrités… bah les basiques comme tout le monde.
Je veux bien laisser tomber Mysql pour postgreSQL… si ca m’apporte quelque chose!
Je n’ai absolument pas la prétention de connaitre les avantages et les defauts des différents systemes, j’utilise Mysql par ce que je connais.
Convainc moi :stuck_out_tongue:

Si tu as envie de faire des la gestion de base de données comme un sale fait ce que tu veux :stuck_out_tongue:

Moi je dis juste que MySQL c’est un toy alors oui c’est un bon Toy mais ca reste un Toy.

Si tu as oracle oublies PostgreSQL…

Koubiak

[quote name=‹ koubiak › date=’ 30 Jan 2005, 16:29’]Si tu as envie de faire des la gestion de base de données comme un sale fait ce que tu veux :stuck_out_tongue:

Moi je dis juste que MySQL c’est un toy alors oui c’est un bon Toy mais ca reste un Toy.

Si tu as oracle oublies PostgreSQL…

Koubiak
[right][post=« 327229 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Après une étude attentive de tes arguments ( ca a été vite :stuck_out_tongue: ), je décide de rester sous Mysql.
Encore une fois, je ne revendique pas du tout la maitrise du domaine, et je ne demande qu’à apprendre.
Tu sembles t’y connaitre beaucoup plus que moi, explique moi pourquoi mysql c’est « sale » (le coté underground ne rentre pas en ligne de compte :stuck_out_tongue: )

[quote name=‹ ced1er › date=’ 30 Jan 2005, 17:25’]Après une étude attentive de tes arguments ( ca a été vite :stuck_out_tongue: ), je décide de rester sous Mysql.
Encore une fois, je ne revendique pas du tout la maitrise du domaine, et je ne demande qu’à apprendre.

[right][post=« 327238 »]<{POST_SNAPBACK}>[/post][/right][/quote]

hop! :

Voici un fil de discussion qui peut répondre à ta question, lit jusqu’à la fin les échanges et pas simplement le premier message qui pose le problème:

Forums Cafzone > DevZone > Segmentation Fault >[MySQL] Etude du fonctionnement d’InnoDB

[quote name=‹ phili_b › date=’ 30 Jan 2005, 18:08’]hop! :

Voici un fil de discussion qui peut répondre à ta question, lit jusqu’à la fin les échanges et pas simplement le premier message qui pose le problème:

Forums Cafzone > DevZone > Segmentation Fault >[MySQL] Etude du fonctionnement d’InnoDB
[right][post=« 327241 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Ah bah là j’ai appris des trucs, merci :stuck_out_tongue:

[quote name=‹ ced1er › date=’ 31 Jan 2005, 22:05’]Ah bah là j’ai appris des trucs, merci :stuck_out_tongue:
[right][post=« 327652 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Alors finalement, tu l’as mise sur quoi ta BDD??? :P"