2009-08-11 6 views
1

Que dois-je faire? J'ai plus de 1600 images. Dois-je les stocker directement dans l'application ou les stocker dans une base de données. En ce moment, je suis dans la demande de stockage et mon application obtient si bien pendue s'il vous plaît aiderLe stockage d'images dans la base de données est-il bon ou non?


double exact:User Images: Database or filesystem storage?
double exact:Storing images in database: Yea or nay?
double exact:Should I store my images in the database or folders?
copie exacte :Would you store binary data in database or folders?
Ex agir en double:Store pictures as files or or the database for a web app?
Exact double:Storing a small number of images: blob or fs?
double exact: [7]

+0

Je me demande combien de fois cette question peut être posée? – zombat

Répondre

1

Comme la plupart des questions, il est pas aussi simple que cela puisse paraître [stocker l'image dans le système de fichiers ou base de données?]. Il y a des cas où il serait logique de stocker les images dans la base de données.

  • Vous stockez des images qui sont en train de changer dynamiquement , disent les factures et que vous vouliez obtenir une facture était le 1 janv 2007?
  • 6 ans d'historique Les images stockées dans la base de données ne nécessitent pas de stratégie de sauvegarde différente. Images stockées sur le système de fichiers
  • Il est plus facile de contrôler l'accès aux images si elles se trouvent dans une base de données. Les administrateurs inactifs peuvent accéder à n'importe quel dossier sur le disque . Il faut un admin vraiment déterminé à aller fouiner dans une base de données extrait les images

D'autre part, il y a des problèmes associés

  • Exiger un code supplémentaire pour extraire et diffuser les images
  • La latence peut être plus lente que directe accès au fichier
  • Plus grande charge sur le serveur Web

Cette réponse est cité « Conrad »

0

Comme indiqué précédemment, cela dépend.

L'une des pratiques les plus courantes consiste à décider en fonction de la taille des images. Pour les très petites images, telles que les vignettes, les icônes, etc., vous les stockez certainement dans la BD, et vous pouvez les stocker comme un champ d'une entité (par exemple un contact).

Pour les images de taille moyenne, il est toujours judicieux de les stocker dans la base de données.Cependant, vous devez décider vous-même ce qu'est une image de taille moyenne (mon seuil est de 1 MByte), et vous devez stocker l'image non comme un champ d'entité: vous devez créer une entité image et une relation avec l'entité intéressée (dites le contact). Enfin, les très grandes images ne doivent pas être stockées dans le BD. Vous les stockez sur le disque et stockez sur la base de données leurs chemins d'accès. Cela est nécessaire en raison de la latence et du temps d'accès différents du disque dur par rapport à la base de données. En effet, c'est l'accès rapide DB par le biais d'index qui vous permet de stocker des images de taille moyenne et petite dans la base de données, mais les images volumineuses doivent être gérées différemment.

Questions connexes