Php & Mysql ou Php et fichier texte - PHP - Programmation
Marsh Posté le 18-06-2004 à 10:22:48
joelan a écrit : Salut à tous, je suis actuellement devant un grand dilemne (enfin pas trop quand meme) : utilisé des fichiers textes pour une bases de données ou du Mysql. |
Salut!!
Bon ben déjà il faut que tu prennes en comptes certaines contraintes du genre : données à protéger ou pas?
un fichier texte c'est clair que c'est pratique pour des petits echanges non protégés, la bdd c'est beaucoup plus performant quand tu as un certain volume et que tu veux garder confidentielle tes données!!
en espérant t'avoir aidé!!
Marsh Posté le 18-06-2004 à 10:23:14
S'amuser à parser un fichier texte de 25000 lignes alors que tu as la possibilité d'utiliser une base de données je vois pas l'intérêt...
Marsh Posté le 18-06-2004 à 11:10:27
Citation : pour des petits echanges non protégés |
Dans Php on a plein de fonctions de cryptage qu'on retrouve dans le SSL. Les fonctions du genre md5() pour authentifier et ya le cryptage DES très rapide (pas trop en fait apres test) et base64_encode ...
Alors je met au defis celui qui me trouvera une bonne raison d utiliser Mysql.
Marsh Posté le 18-06-2004 à 11:12:58
joelan a écrit : [quote]je met au defis celui qui me trouvera une bonne raison d utiliser Mysql. |
Utiliser SQL au lieu de se retapper tout le boulot de lecture/écriture dans le fichier?
Marsh Posté le 18-06-2004 à 11:16:59
tu vx parler du parsing ?
Parce que lecture ecriture fread($fichier, taille) et fwrite()
s'occupe tres bien de la lecture / ecriture.
Par contre niveau volume ... Si 100 utilisateurs lancent une requete sur une base de 25 000 champs, ca risque de bouffer pas mal de memoire.
Mysql ...
Marsh Posté le 18-06-2004 à 11:18:13
joelan a écrit : tu vx parler du parsing ? |
et tu espères obtenir le même résultat qu'un "select truc, machin from bidule where chose = 1"?
Marsh Posté le 18-06-2004 à 11:22:59
joelan a écrit : tu vx parler du parsing ? |
T'as bien raison, les fichier plat, c'est bien pratique pour stocker une DB quand on n'a pas de gros besoins...
Tu me fait penser à un mémorant qu'on a eu qui avait fait une DB sous forme de fichiers plats et de répertoires: une table: un répertoire. Une colonne, pareil. Une valeur, un fichier.
Continue sur ta lancée, je suis sûrs que tu vas nous pondre untruc qui va tout dépoter.
Marsh Posté le 18-06-2004 à 11:30:23
WE d accord mais d'un autre coté ta toutes les fonctions pour connecter ta base SQL.
Les fonctions de recherches de MySql sont certainement très performantes mais a part de la rapidité de traitement ( et encore c pas sur dans mon cas).
Finalement a force d'entendre parler de PHP & Mysql j'pense que l'effet bourrage de crane à fonctionner
J'dois y aller mais n'hesitez pas à poster vos remarques !
Tsho
Marsh Posté le 18-06-2004 à 13:31:17
joelan a écrit : WE d accord mais d'un autre coté ta toutes les fonctions pour connecter ta base SQL. |
Fait moi l'équivalent d'une requête imbriquée, ou d'une jointure avec tes fichiers texte et tu vas voir si le sql c'est seulement du "bourrage de crâne"
Après c'est sûr que si pour toi le php ca se limite à faire un système de gestion de news, ou un livre d'or, l'intérêt de la base de données est moindre, mais au risque de te décevoir l'immense majorité des appli développées (j'ai bien développées, pas bidouillées par l'informaticien du dimanche), sont autrement plus compliquées qu'un livre d'or
Citation : Fopen() et strstr() sont à mon gout très rapide. Evitez les injections SQL. |
T'as un chronomètre cérébral de précision en série toi?
"A l'oeil nu" c'est sûr que tu veras pas de différence entre un SGBD et un pauvre fichier, mais pourtant il y a bel et bien une différence. Après si t'as que 2/3 utilisateurs simultanés tu verras pas de différence c'est sûr, par contre si t'en a plusieurs dizaines, voire centaines, ton système de fichiers texte va rapidement se retrouver à la masse....
Enfin, si plusieurs utilisateurs accèdent en même temps à ton site, tu risques d'avoir des problèmes, ton fichier ne peut être lu/écrit en même temps, sous peine de perdre certaines données. Les SGBD contiennent des mécanismes (sémaphores) pour empêcher plusieurs processus d'accéder en même temps au même fichier, ce que ne permet pas ton simple système de fichiers textes....
J'éspère seulement que ton post n'était qu'un troll......
Marsh Posté le 18-06-2004 à 13:39:06
essaie de faire des tris. tu verras. utilise une bdd c'est fait pour ça. pour les injections, tu as qu'as les gérer correctement.
tu as combien de tables dans ta base ?
Marsh Posté le 18-06-2004 à 14:01:16
Entre 5 et 10 pourquoi ?
Harrysauce : c'est le genre de reponse que j'attendais : la lecture / ecriture simultanée , les semaphores sont peut etre des raisons qui vont me faire migrer.
Il s'agit bien d'une base de donnée qui contiendra des noms , prenoms ...
Le seul petit HIC, est que la base sera uniquement lu par les utilisateurs.
La lecture est le seul privilège offert dans ce cas.
Donc la surcharge surviendrait dans le cas où une centaine de lecteurs lancerait une requete "rechercher".
Ceci est definitivement un argument qui se tient !
Marsh Posté le 18-06-2004 à 15:59:09
tt dépend de ta charge...mais tu va réinventer la roue...
en effet tu va devoir réimplémenter :
- un sys de recherche
- un sys d'écriture dans ton fichier à la place voulue
- la synchro pour la sécurité d'accès si tu écris pendant que qqn lit
- le multi-accès concurrent en lecture
- un sys de cache des données : c à mon avis le plus important, faut gérer un cache propre des données, si tu dois accéder au disque pour le moindre petit accès, tu vas ramer sec...
tt ca c de base avec n'importe quel sgbdr...
Marsh Posté le 18-06-2004 à 16:07:34
mais non
tout le monde ne connaît pas à fond les bases de données
Marsh Posté le 18-06-2004 à 16:10:42
BdD sans aucune hésitation, surtout avec entre 5 et 10 tables et des accès concurrents.
Avec un fichier texte, tu auras quelque chose de :
- non sécurisé,
- sans souplesse,
- non scalable,
et probablement buggé.
Marsh Posté le 18-06-2004 à 10:16:25
Salut à tous, je suis actuellement devant un grand dilemne (enfin pas trop quand meme) : utilisé des fichiers textes pour une bases de données ou du Mysql.
Pourquoi le fichier texte ? La base de données n'excedera jamais 25 000 champs. Fopen() et strstr() sont à mon gout très rapide. Evitez les injections SQL.
Vos avis ?
tsho !