6
votes

Qui est bonne pratique stockant un fichier téléchargé dans dB ou le stocker dans le système de fichiers

J'ai un téléchargeur de fichier dans mon application ASP.NET à l'aide de C #, nous pouvons télécharger n'importe quel type comme des images, des documents, PDF, etc.

Je le stocke dans le système de fichiers et n'ayant que le nom du fichier dans dB. Mon doute est que nous pouvons stocker tout le fichier, les images dans dB. Indiquez-moi qui est bonne pratique et pourquoi nous devons l'utiliser.

Stockage du système de fichiers ou stockage SQL DB.


0 commentaires

4 Réponses :


2
votes

Ceci est argumentatif subjectif, mais je dirais que le stockage des fichiers sur le système de fichiers est meilleur. C'est ce que les systèmes de fichiers sont conçus pour et SQL Server 2008 a un Nouveau type de fichier qui vous permet de le faire automatiquement et même d'utiliser des transactions.


1 commentaires

Je pense que subjectif plutôt que argumentatif



0
votes

dépend de:

  1. Quelle est la taille du fichier, bien que de gros blobs puissent être traités efficacement dans les RDBMS
  2. est-il lu ou écrit lourd?
  3. Combien de demandes simultanées pour cette ressource
  4. utilisez-vous d'autres mécanismes de mise en cache
  5. Avez-vous un SAN disponible ou un système de fichiers en cluster

    En bref, sans détails, la meilleure pratique est difficile à donner. Dépend simplement de vos contraintes et de vos exigences telles que n'importe quelle tâche.


1 commentaires

Hey Bell, je ne connais pas beaucoup de connaissances avec SQL mais la taille du fichier ne serait pas supérieure à 1 ou 2 Mo pour un enregistrement. La demande simultanée ne serait pas beaucoup. Donnez-moi le système utilisé le plus commun.



5
votes

Presque la même question a été posée ici. Vérifiez la réponse:

Utilisation d'images dans WCF

Cela dépend principalement de la taille de vos fichiers. Voici un bel article.

à blob ou à ne pas bloquer

Pour moins de 256 kb Les fichiers stockage dans DB dans la colonne Varbiny sont plus efficaces.

Nous stockons nos fichiers dans MS SQL Server dans une colonne Varbinary avec une restriction de 256kb et fonctionnent bien.

J'espère que cela aide. Bonne chance!


0 commentaires

0
votes

En plus des autres réponses qui semble se concentrer sur la performance, j'ajouterais également un accès comme un autre problème. Si les fichiers contiennent des données confidentielles ou l'accès aux fichiers doivent être audités, il est peut parfois plus facile de gérer cela si les fichiers sont stockés dans une DB.


2 commentaires

@Ho - oui mais stocker un chemin secret dans la DB et avoir un script intermédiaire livrer la charge utile peut vous donner la même "barrière"


Pas vraiment, car vous n'avez pas vraiment de trace, que ce soit changé. Ensuite, un autre problème est une sauvegarde / restauration. plus facile au même endroit.