Arf ! Un doute sur ma façon de faire ...
le 21/09/2006 à 21:16
Bzh
Bon, bin là je me trouve confonté à un doute (j'aime pas ça ) !!
Je taff en ce moment sur un site contenant:
=>gestion de membres
=>gestion des amis
=>messagerie interne
=>photos
=>forum etc...
Le publique visé est les 14-18 ans et donc mes patrons tiennent à jouer sur la qualité des services proposés.
Donc la messagerie et les photos ne sont pas limité.
Ce qui me complique la tache !
15 jrs que le site tourne en version béta avec 50 testeurs et deja un tit problème.
123 photos enregistrés dans la base et 125 photos en dur sur le serveur.
Le problème se passe lors de la suppression des photos, j'éfface en dur les photos puis ensuite je supprime l'enregistrement dans la base.
Or, avec le temp, il y a un décalage ! Toutes les photos ne sont pas supprimé en dur !
Comment faire ?
Supprimer la miniature, si bien effacé supprimé la grande taille et si tout c'est bien déroulé éffacé dans la base ???
Ce que je ne veu surtout pas, c'est que la photo existe dans la base mais que la miniature a bien été éffacé sinon l'affichage va planté puisque le navigateur ne trouvera pas la photo sur le serveur...
Là, je dois reconnaitre que j'ai un tit problème qui ,ne me rassure pas puisque le site attend dès l'ouverture 2000 membres (chiffres donnée par mes patrons)
Une idée pour tester ? dans quel ordre ?
Merci...
Stocke tout en base, ca sera plus simple à gérer :)
Si tu mets des milliers de photos dans un seul dossier sur le FS, la machine va planter.
Alors si tu veux à tout prix garder les photos sur le FS, je te conseille de créer plein de dossier et de sous dossier pour repartir équitablement les photos dans chaque dossier / sous dossier (libre à toi de choisir la regle pour créer des nouveaux dossiers à la volée).
Mais pour les gros, je reste sur l'idée de tout mettre en base, d'autant plus que plein de petits fichiers sur le disque dur, c'est pas très performant (sauf en ReiserFS, mais bon..., c'est tellement plus simple de tout mettre en base) :)
le 21/09/2006 à 22:57
Bzh
Arf ! C'est ce que j'aimerai éviter !
Enfin je ne sais pas...
J'ai peur que cela demande plus de ressource au serveur ! Faire une requete au serveur SQL, puis envoyer l'image !!!
Je sais pas.... Tu ne penses pas que cette méthode est plus lourde ?
C'est ptet un peu plus lourd (niveau espace mangé sur le disque dur), mais c'est aussi (si c'est bien pensé) beaucoup plus facile à maintenir et ptet legerement moins rapide (quoi que, sur des grosses quantités d'image, je serais curieux de voir un vrai bench : avec des Go d'image, le file system morfle pas mal quand meme).
Apres, c'est un choix à faire : soit tu te compliques la vie à gérer X dossiers et sous dossiers en prenant le risque de ne plus avoir de synchro parfaite entre MySQL et tes photos et d'etre un poil plus rapide, soit tu prends le parti de prend une solution plus simple, ou il n'y aura pas de desynchro mais qui sera un poil moins rapide.
Par contre, fait gaffe, parce que la table des photos va vite dvenir énorme (des Go), donc pense la bien :
- fais une table entete avec image_id, taille de l'image, type, etc..
- et une seconde table qui contiendra juste : image_id et le blob de l'image.
Comme ca, en tps normal, tu select la premiere table pour avoir des infos sur les images (ca t'evite de taper dans les x Go de la table 2), et tu select dans la seconde que si tu as une image à afficher.
N'oublies pas tes clés primaires (image_id dans les deux tables), et divers index sur la premiere table qui contiendra les entetes (index à determiner suivant ton site et les requetes que tu y feras).
PS : perso, j'opte toujours pour la solution MySQL dans ce cas.
Il fut alors bien penser le système, puisque c'est explicitement déconseillé dans les
conseils de MySQL.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
le 22/09/2006 à 15:52
Bzh
Et toi, Lupus ? Tu en penses quoi....
Pffff, je me tate toujours...
le 23/09/2006 à 12:19
Bzh
Merci beaucoup ! Mais je ne vois pas en quoi cela répond à ma question !
Le souci c'est qu'il faut que je gère plus de 50 000 photos ! Or j'ai peu que le fs ne gère pas ça bien !
Et puis déja a 200 photos, il y a eu une désyncronisation !!!
Mettre les photos dans la bdd résoudrait tous ces problèmes mais au détriments de la rapidité de la base !!!
Pffff...
Ben c'est rapide.
Sur iFRANCE, les photos de tous les blogs sont dans du MySQL.
le 23/09/2006 à 14:16
Bzh
Aaaaaaaaaaaah !!!
Merci beaucoup ! c'est ce que je voulais savoir ! Avoir un retour....
Tchussss...
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: