|
|||||||
| PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD |
|
|
Publicité ' | |||||||||||||||||||||||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 268 ![]() |
Bonjour à tous !
Voilà, je me posais quelques questions à propos de l'interaction bdd/php... Comme dit dans le titre, je ne vous demande pas "quel sgbd utilisez-vous", mais bien "quel sgbd utiliseriez-vous". Autrement dit: Si vous avez à votre charge de choisir un sgbd pour un dvlpement php/bdd, que vous n'avez aucune contrainte financière, quel sgbd, choisiriez-vous ? Donc, je vous demanderai de ne pas tenir compte: pour avoir votre avis sur les qualités intrinsèques du produit (sécurité, vitesse, fonctionnalités,...) ps:si vous penser qu'une autre bdd, non sitée dans le options du sondage, est digne d'être mensionnée, faites-le moi savoir... |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() David GuillotInscription : mars 2004 Messages : 934 ![]() |
![]() bon, avec budget illimité et serveurs dernier cri, je crois qu'il n'y a même pas à hésiter : Oracle est le meilleur SGBD du marché, et enlever les contraintes de coût c'est enlever son seul inconvénient. Oracle me permettrait de :
__________________
Avant de poser une question ici : ![]() Après résolution de votre question : un clic sur et un pour les personnes qui vous ont aidé |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 268 ![]() |
Mais pour Oracle, par exemple, à partir d'où a-t-on besoin de ce produit ?
à partir de quand (au niveau fonctionnalités du dvlpement) faut-il abandonner d'autres systèmes (mysql, postgresql,...) plus léger? par exemple, pour le cas d'un forum, ce serait beaucoup mieux avec Oracle? ou est-ce la même chose avec mysql, ou postgresql ? |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() |
salut.
Ben deja à mons avis suivant ton modéle conceptuel et l'utilisation que tu compte faire de ta base ça limite deja les choix. Me semble que Mysql par exemple à pas toutes les fonctionnalités dont on peu avoir besoin dans un sgbdr. Ensuite meme si les ressources sont illimités c'est pas une raison pour gaspiller. Si t'a un projet avec une toute petite base, pas la peine de prendre Oracle. Bref je pense que la question devrait etre poser autrement parcque le choix du sgbdr dépend pas seulement du cout mais aussi du projet et surtout de l'homme. Pas la peine de se casser la tete à installer et administrer une base oracle ( me semble que c'est assez lourd ) si une base mysql suffit. |
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() |
Hello,
perso Oracle j'en suis vite revenu, il donne quand même une grosse impression de lourdeur... D'un autre coté j'ai longtemps pesté sur MySQL à cause des fonctionnalités manquantes ; avec la 4.1 il y a eu un mieux, et depuis la 5, c'est franchement pas mal. Perso je cherchais un SGBD sans problème d'intégrité des données (ça va de soit non ?), très performant (très important pour moi), et relativement simple à utiliser/configurer/installer. Pour l'intégrité des données, je n'ai utilisé MySQL que pour des applis Web mais je n'ai jamais eu le moindre problème (et ce depuis la version 3.23, avec des tables MyISAM de plusieurs centaines de Mo). Coté performances, MySQL a largement ma préférence. Bien qu'Oracle s'en sorte honorablement, je n'ai jamais réellement trouvé qu'il avait "la pèche" (j'ai utilisé Oracle 7, 8, et 10). Et pour l'aspect facilité d'emploi... mis à part un problème de compatibilité au passage à la version 4.1, MySQL est bien plus simple qu'Oracle... quant à Oracle, depuis PHP j'ai eu pas mal de soucis : jamais réussis à me connecter à Oracle depuis PHP 4.2.3 en ligne de commande sous Win, alors que ça fonctionnait depuis Apache avec les mêmes extensions chargées... et la première fois que j'ai du installer Oracle, je me suis arraché les cheveux... Il y a certes beaucoup plus de "fonctions" d'administration, mais du coup à moins d'être "expert Oracle" il faut des plombes pour faire le moindre petit truc. Par contre, je ne sais pas si ce genre de critère entre en ligne de compte pour toi... Sinon pour les avantages cités par Torvalds : - la version 5.1 de MySQL gère les vues - la gestion des droits sous MySQL ça existe depuis longtemps - une base parfaitement intègre, pas de soucis avec MySQL. Surtout qu'il y a de grandes chances pour que ce soit des tables InnoDB utilisées. - MySQL gère aussi les triggers - pareil pour les procédures stockées. Entendons nous bien : la version stable actuelle de MySQL est la 5.0, et certaines fonctions ne sont donc pas forcément disponibles, mais s'il s'agit d'un nouveau projet, MySQL 5.1 sera certainement stabilisé avant la fin du projet. Coté défauts.... arg, y en a quand même pas mal qui m'ont gènés : - MySQL ne gère pas certaines fonctions ensemblistes comme MINUS (on peut faire autrement... mais pfff) - impossible d'utiliser plus d'une fois dans une requete une même table temporaire (ça, c'est souvent galère pour moi) - la version Cluster de MySQL n'est pas 100% compatible avec la version non Cluster (ça, c'est franchement n'importe quoi...) - MySQL manque de plugins... y a pas mal de trucs qui pourraient être ajoutés à MySQL, il gère d'ailleurs les plugins... mais vous pouvez demander à Google : y a pas foule... EDIT : pour moi le gros interet d'Oracle c'est le PL/SQL, mais dans le cas d'une utilisation avec PHP, on s'en fout complètement. |
|
|
00
|
|
|
#6 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 722 ![]() |
Salut à tous
Je pense que presque tout a été dit au sujet d'Oracle et de MySQL. J'ajoute cependant que MySQL ne gère ni les sous requêtes ni les contraintes (notamment les clefs étrangères) et c'est ce qui m'ennuie le plus. C'est d'ailleurs ce qui l'empêche d'être réellement classifié come SGBDR :/ Oui, MySQL comprend la syntaxe des contraintes mais il se moque complètement de leur présence. PostgreSQL serait une très bonne alternative dans un grand nombre de cas (plus performant) mais il faut arriver à surmonter l'étape de l'installation (même sous Windows, elle est bien gavante)... SQLite est une autre très bonne alternative, pour peu que nous ayons un projet relativement petit : pas de service/daemon à installer, ça limite pas mal le nombre de pannes possibles. Concernant Oracle, il est vrai qu'il donne une impression de lourdeur (n'est-ce d'ailleurs qu'une impression ?) : je suppose que c'est à cela que torvalds17 faisait référence en évoquant le serveur dernier cri ? Conclusion : si PostgreSQL était installé sur mon hébergement mutualisé, je l'utiliserais avec plaisir. Les Foreign Keys me font cruellement défaut et être obligé de passer par PHP m'ennuie quelque peu. |
|
|
00
|
|
|
#7 | |
|
Membre chevronné
![]() |
Citation:
PostgreSQL est effectivement une très bonne alternative, mais je n'ai pas eu de bons echos sur les performances. Pour SQLite, il me plait bien, mais le manque de contrôles sur les types de données me gène fortement. |
|
|
|
00
|
|
|
#8 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 722 ![]() |
Ah mince, InnoDB, je l'avais zappé.
J'évoquais ces manques de MySQL car, dans un projet prévu pour être diffusé, il faudra attendre encore quelques mois (années ?) avant de se permettre de développer en MySQL4.1-specific, alors de là à forcer l'utilisation d'InnoDB (qui n'est pas toujours disponible, il me semble)... |
|
|
00
|
|
|
#9 |
|
Membre chevronné
![]() |
Finalement c'est peut être ça le plus gros défaut de MySQL : beaucoup de méconnaissances de la part des utilisateurs.
Le moteur InnoDB intégré à MySQL depuis la version 3.23 fournit les transactions, les clés étrangères, un verrouillage fin, une forte intégrité des données, un stockage en tablespace, etc. Et depuis la version 4.1, MySQL AB n'a de cesse d'ajouter les quelques fonctions manquantes à MySQL. EDIT : je re-rappelle que la version stable actuelle de MySQL est la version 4.1... qui est peut-être plus répandue que PHP 5 quand même, ne serait ce que par son intégration à la version stable courante de Debian. |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : juillet 2003 Messages : 1 003 ![]() |
MySQL offre de bonne performance et j'attend avec impatience de basculer sur la v5 avec PHP 5. D'un autre côté je me met doucement à PostgreSQL qui me semble être aussi un excellent SGBD.
|
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() Inscription : juillet 2004 Messages : 1 028 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 155 ![]() |
ben moi j'utilise access
Bon plus sérieusement même si c'est access que je préf_ère, j'utilise quand même le plus souvent my SQL. Pourquoi? Car au moins contrairement à oracle je n'ai jamais eu à taper des codes que je n'ai réussi à faire marcher pour seulement avoir de l'auto incrément (séquences et triggers) Même chose pour le création de table qui prennent 3 fois plus de temps sur oracle. Même chose si on veut faire n'importe quelle opération comme par exemple rendre un champ unique. Enfin je terminerai en disant que pour voir la structure d'un table sous mySQL un simple clic suffit alors que sous oracle il faud attendre le chargement d'oracle qui est assez long, cliquer sur le nom de la base, cliquer sur schéma, cliquer sur table, cliquer sur le son sous group auquel je n'ai toujours pas compris à quoi ça correspondait et enfin cliquer sur la table que l'on recherche depuis 3 quards d'heure .Si en ce moment j'utilise oracle, c'est bien parce que l'entreprise avec laquelle je travaille fonctionne là dessus. Je maudis cet outil. |
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() |
euf.... là tu compares les interfaces d'administration shnouf.... pour MySQL je suppose que tu parles de phpMyAdmin, non ? et pour Oracle ?
Parce que perso je considère TOAD (la version d'origine, pour Oracle) comme le meilleur outil de "requetage". La version pour MySQL en est malheureusement bien loin. |
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
Salut,
moi j'utilise dans le cadre du travail un AS/400 ou I-series son nouveau nom. Je ne connaissais pas cette base, avant ce boulot, mais elle est assez correcte, le requeteur est bien fait et assez intuitif. Il integre en plus un optimiseur de requete. Sinon pour des petits developpement personnel, MySQL me semble amplement suffisant. Et a la limite pour des petites appli de rien du tout, une base access peut convenir aussi. Donc finalement, tout depends de but de l'application. C'est sur que je me vois mal utilise access pour une appli ou l'on devrait stocker plusieurs milliers de lignes. |
|
|
00
|
|
|
#15 | |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 268 ![]() |
Citation:
|
|
|
|
00
|
|
|
#16 | ||
|
Membre Expert
![]() Inscription : juillet 2004 Messages : 1 028 ![]() |
Citation:
|
||
|
|
00
|
|
|
#17 | |
|
Membre éclairé
![]() Inscription : août 2004 Messages : 305 ![]() |
Citation:
La version stable est bien la version recommandée, non? Voir sur la page de téléchargement de MySQL |
|
|
|
00
|
|
|
#18 | |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 722 ![]() |
Citation:
Je pense qu'une formule de forum ou de CMS aussi complet que phpBB (ou plus performant) se doit d'être installable sur diverses configurations. Il me semble que la version de base vient avec tout ce qu'il faut pour Oracle... Le souci est que cela doit être compatible avec des systèmes moins performants (notamment MySQL 3.x) qui ne gèrent pas, pour ne citer qu'elles, les clefs étrangères. En conséquence, il faut s'asseoir sur l'optimisation du SQL (il faut passer par PHP pour effectuer les traitements manquants) et cela augmente le temps de développement autant que le nombre de bugs possibles (moins d'automatisme => + de développement => bugs possibles). En conséquence, il est toujours plus intéressant d'utiliser un outil qui est à tel point plus performant, comme l'a été Oracle pendant longtemps. Le problème, qui a d'ailleurs déjè été soulevé, est double : le coût est élevé et la quantité de ressources nécessaires est gigantesque. Si tu ne souhaites pas développer une application compatible avec d'autres systèmes, cela te sera toujours avantageux (car cela te permettra d'optimiser) de ne prendre en considération que ton SGBDR : si c'est Oracle, tant mieux pour toi. De mon côté (et grâces aux lumières éclairées dans ce post-même), j'ai tendance à penser que les SGBDR gratuits actuels (PostgreSQL et MySQL 5 pour en citer quelques-uns) pourront très bien être aussi utiles qu'Oracle dans la majeure partie des cas. Il faut vraiment être une multinationale avec je ne sais combien de centaines (milliers ?) d'accès concurrents pour avoir besoin d'Oracle... |
|
|
|
00
|
|
|
#19 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2005 Messages : 47 ![]() |
Petite question, certainement idiote à la vue des précédents messages....
Mais peut-on intérroger aussi facilement une base Oracle avec PHP qu'avec MySQL? Je dois choisir entre les deux SGBD, mais je ne sais trop quoi choisir... J'ai déjà développé un proto sur un couple Apache/MySQL4.1/PHP4, et ça marchait plutôt pas mal... Mais l'appli que je m'apprète de faire est plus conséquente (même si elle n'est pas un monstre de stockage... : stockage de 40 000 lignes/jour avec archivage à priori sur un moi...). |
|
|
00
|
|
|
#20 | ||
|
Membre chevronné
![]() |
Citation:
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com