Les images des utilisateurs de la base de données vs système de fichiers de stockage
Je suis en train d'écrire une fonction de téléchargement .NET pour la présentation des images sur les profils d'utilisateur. Je suis le choix entre deux façons de faire, et voudrais demander des conseils et des opinions sur les avantages et les inconvénients.
- De stocker les images directement sur le système de fichiers
- De stocker les images dans la base de données
Jusqu'à présent, j'ai été principalement pro de la première option, en nommant les images après les noms d'utilisateur, chaque utilisateur ne peut avoir qu'une seule image de présentation. Puis je faire une vérification dans le chemin désigné si l'utilisateur a une image, si ce n'est l'affichage par défaut “aucune image”image.
Une autre chose que j'aime à propos de ce est qu'il économise de l'espace dans la DB – DB sera assez lourd sans les binaires de la charge.
Je suis sûr qu'il y a d'autres aspects que je n'ai pas pensé, j'aimerais entendre vos opinions sur ce. Si quelqu'un a une solution radicalement différente de la de problème, merci de partager!
OriginalL'auteur Marcus L | 2009-02-25
Vous devez vous connecter pour publier un commentaire.
Votre question a été posée avant sur StackOverflow:
Stocker des images en tant que fichiers ou de la base de données pour une application web
Y compris de nombreux autres dupliquer questions!
OriginalL'auteur X-Istence
En général, il est préférable de stocker les fichiers sur le système de fichiers. Les systèmes de fichiers sont déjà à l'écoute pour le stockage de fichiers. Cependant, cela a ses inconvénients, notamment en termes de gestion, de sauvegarde, de restauration et c'est un peu fragile lien entre un varchar champ chemin du fichier dans la base de données et un fichier dans le système de fichiers. Ce système de base de données utilisez-vous? Je pense que si vous utilisez SQL Server 2008, que le nouveau type FileStream donne une très bonne méthode pour stocker des fichiers dans la base de données.
Edit: Remarque, je suis réellement en train de parler plus généralement de stocker des fichiers dans la base de données. Il ya une certaine supplémentaire de la complexité en essayant de stocker des images que vous avez l'intention d'afficher sur les pages HTML dans la base de données.
OriginalL'auteur BobbyShaftoe
Système de fichiers est bonne, mais n'est pas pratique avec plus de 3000 images par dossier.
Il est préférable d'écrire automatiques de création de dossier pour tous les 3000 images blocs.
Mais pourquoi n'est-il pas pratique pour 3000+ fichiers? Recherche/temps d'accès?
Oui, le temps d'accès à des fichiers explose au-dessus de 1000 par dossier. Vous pourriez dire que vous n'avez pas l'esprit. Mais en effet, votre administrateur de soins rapides et de sauvegarde/restauration. La solution efficace est de faire des dossiers
OriginalL'auteur wiwulo
données redundency et d'incohérence
la difficulté à accéder à des données
l'isolation des données
contraintes d'intégrité
l'atomicité problème
l'accès simultané et anomalies (mise à jour
problème de sécurité
OriginalL'auteur aghi
Fixe (sans modification) contenus tels que des photos, des vidéos, etc. les systèmes de fichiers ne sera pas en mesure d'échelle, surtout si vous avez beaucoup de fichiers dans un répertoire et les performances vont vraiment souffrir. Une meilleure option est d'utiliser l'objet de la technologie de stockage qui stocke l'image comme un objet et la place des métadonnées associées dans la base de données automatiquement.
OriginalL'auteur JStorage
Comment sur le stockage des doc, pdf, xls, jpg fichiers?
Qui un recommandé?
Je vais travailler sur un système de gestion de document qui peut stocker des 10000 fichiers mais le problème est que je suis très vous soucier des virus de se propager si nous utilisons le système de fichier de technique.
OriginalL'auteur