Mysql Vs Postgresql

pour une appli home made en java sous linux j’ai le choix entre ces deux applis.

J’aimerai savoir si il existe un comparatif objectif de ces deux bases de données.

Bussiere

J’avoue que je suis pas spécialement fan de PostgreSQL, je trouve ça assez reloud à administrer. Pour les comparatifs feature per feature, y’en a des milliards sur le Net. Google est ton ami.

Jamais essayé postgres et survolé mysql, car j’utilises au boulôt SQL Server ou Oracle mais ce que j’en sais:

Pour une appli chez soi MySQL est pas mal car s’administre facilement avec phpMyAdmin.

Professionnellement MySQL pour une application orientée lecture uniquement ça peut aller ,mais pour une application multi-utilisateur, en lecture-écriture avec des accès concurrents, il faut au moins pour garantir l’intégrité des données, ce que ne fait pas MySQL (ou avec réinventant péniblement la roue):

  • la gestion des transactions
  • la gestion de l’intégrité rérentielle (les clés étrangères).

De ce point de vue postgres, que je n’ai pas essayé, est beaucoup plus abouti en tant que SGBDR qui soit intègre dans un environnement multi-utilisateur, multi-transactions, avec donc des accès concurents, que MySQL, à l’instar des SGDR payant comme Oracle, SQL Server, DB2.

Lire cela

sql.developpez.com : Ce qu’on doit attendre impérativement d’un vrai SGBDR (transactions, intégrité,…)

et en particulier

sql.developpez.com : 9. MySQL est-il vraiment rapide ?

sinon

http://mysql.developpez.com/faq/

http://postgresql.developpez.com/faq/

Il me semble que ce site est basé sur le couple PHP et MySQL/

Certes mais ici il n’y a pas besoin d’intégrité de données poussées.

Quand je parle d’intégrité de données je vais prendre l’exemple suivant:
Je fais une facture et je vais y intégrer des produits avec un tarif à un moment t. Je ne voudrais pas que le client voit sa facture augmentée entre la validation de son panier et son paiement effectif sous pretexte qu’au département des achats il y a eu une hausse entre la validation et le paiement. Je pourrais donner plein d’autres exemples.

Mais en résumé oui cafzone est en mysql sans doute mais il n’a pas les mêmes impératifs que d’autres sites. Un forum ne demande pas une intégrité de données forte.

edit:
Donc a fortiori pour une application à la maison comme demandé dans le message initiale MySQL suffit.

edit2:
Mais si le but est d’apprendre les SGBD autant en prendre un complet comme postgres.

edit3: Lonewolf :stuck_out_tongue:

Moi perso, je trouve que PGSQL est meilleur que MySQL car de base, son design etait prevu pour faire une vrai base de donnees. Son seul default est son incapacite actuelle a ne pas etre clusterisable.

MySQL, au contraire, a ete fait pour etre tres speed et tres simple et il ont rajoute un tas de truc qui l’ont ralenti. Les differents tests fourni par MySQL sont la pour favortiser le soft. J’ai pas teste, mais il faudrait essayer de lancer ses tests sur une table en innodb, voire sur un mysql 5 ayant les vues et tout ca.

Concernant la complexite de PGSQL, je ne suis pas d’accord: c’est juste different. Pour simplifier les choses, je vous propose phpPGadmin.

Concernant ton choix, je dirais que c’est assez simple:

_Tu veux une base non prise de tete, simple, pour faire un schema de BDD over classique, sans trigger, mysql is your best choice.
_Tu veux une vrai SGBDR, avec tout ce que ca implique en PK, FK, Trigger, view, and so on, PGSQL.

PS: pour le site developper, qu’il utilise mysql ou non importe peu: Moi, je fais des cours (de base :P) sur mysql alors que je prefere PGSQL. On utilise mysql dans ma societe. Et ca marche. Juste que PGSQL est a mon avis plus proche d’une veritable SGBDR.

edit: copaing phili - au fait nickel les dvd :stuck_out_tongue:
LoneWolf
PGSQL will rule da world.

phili_b > faudrait p-e que tu testes une version plus récente que MySQL 3.0 un jour aussi. :stuck_out_tongue: Parce que ça fait un petit moment quand même que MySQL gère parfaitement les transactions et l’intégrité des données.

Tu sais, tout est une question de choix :

  • Tu n’as pas besoin de tout ça parce que tu es developpeur Web → tu laisses MyISAM comme base par défaut et ça speedera à mort
  • Tu es un professionnel et tu as besoin d’une base professionnelle → tu actives InnoDB ou mieux ndb et tu as une base professionnelle

D’ailleurs, depuis la version 5 (qui est maintenant release), MySQL gère les vues, les procédures stockées aussi.

Faudrait p-e arrêter un peu avec les délires « MySQL est une base pour faire mumuse à la maison ». MySQL vise clairement le marché professionnel avec le produit et le support (payant) qui vont avec.

et au niveau rapidité ?

thks

Bussiere

à part ça, peut-on peut déplacer ce thread dans Segmentation fault ? Cette discussion est interessante, mais à chaque fois on a du mal à la retrouver, puisqu’elle se trouve dans “utilitaires”.

merci d’avance.

Juste en passant, de très gros sites de vente en ligne tournent en utilisant le couple PHP/MySQL. Donc effectivement, même si je n’aime pas ce SGBD car il n’est pas vraiment R, il faut quand même dire que, si, on peut l’utiliser sur de très gros sites au niveau professionnel. Ca dépend VRAIMENT du type d’application-web en fait : et la VPC, c’est OK! Voilà, c’était juste pour redonner un peu d’équilibre.

Au passage, si l’on veut s’amuser avec un vrai SGBDR, je rappelle que la version Oracle 10g Personal Edition est gratuitement téléchargeable. Ca vous permettra d’avoir une alternative à MS SQL Server 2005 Express. Enjoy!

Genre wikipedia, à tout hasard. :stuck_out_tongue: (mais ils « trichent » un peu : il mettent des très gros squid devant pour soulager un peu le php/mysql)

MySQL n’est pas limité à une utilisation Web quand même. :stuck_out_tongue:

Oracle saibien, mais le passage à la caisse peut faire mal. :stuck_out_tongue:

[quote=“xentyr, post:10, topic: 25989”]Au passage, si l’on veut s’amuser avec un vrai SGBDR, je rappelle que la version Oracle 10g Personal Edition est gratuitement téléchargeable. Ca vous permettra d’avoir une alternative à MS SQL Server 2005 Express. Enjoy![/quote]Les 2 SGBDR que j’utilise le plus sont effectivement Oracle et SQL server mais puisqu’on est dans un thread SGBDR open source, est-ce que que les 2 SGBDR des 2 liens que tu cites sont utilisables professionnellement ou ce n’est qu’une licence pour faire mumuse à la maison ?

Autrement dit, si je voulais proposer des SGBDR pour une association ou une PME/TPE sans moyens, est-ce que je peux utilser Oracle Personnal Edition et SQL server Express ?:[ul]
[li]Dans le cas d’un projet développé bénévolement ?[/li][li]Dans le cas d’un projet vendu ?[/li][/ul]Si c’est non, surtout dans le 2é cas, autant prendre mysql ou postgres. Mon exemple d’association ou TPE est théorique je n’ai pas de cas précis.

[quote=“phili_b, post:12, topic: 25989”]Les 2 SGBDR que j’utilise le plus sont effectivement Oracle et SQL server mais puisqu’on est dans un thread SGBDR open source, est-ce que que les 2 SGBDR des 2 liens que tu cites sont utilisables professionnellement ou ce n’est qu’une licence pour faire mumuse à la maison ?

Autrement dit, si je voulais proposer des SGBDR pour une association ou une PME/TPE sans moyens, est-ce que je peux utilser Oracle Personnal Edition et SQL server Express ?:[ul]
[li]Dans le cas d’un projet développé bénévolement ?[/li]
[li]Dans le cas d’un projet vendu ?[/li][/ul]Si c’est non, surtout dans le 2é cas, autant prendre mysql ou postgres. Mon exemple d’association ou TPE est théorique je n’ai pas de cas précis.[/quote]
Non c’est utilisable en pro pour un projet vendu ou benevole sans soucis, enfin pour express, pour oracle j’ai pas regarde mais il me semble que c’est pareil.

et une petite question conne dans mes souvenirs brumeux il me semblait qu’on pouvait carrémment mettre des fichiers dans une base sql. genre mysql

et la la comparaison mysql /post ca vaut quoi ?

Bussiere