2009-05-25 7 views
2

Est-il bon de stocker le fichier téléchargé dans une base de données relationnelle ou de le placer dans un système de fichiers sous un répertoire dans IIS? Je pensais que le système relationnel serait un meilleur choix. Des commentaires? Quand utiliserez-vous l'un sur l'autre?Dans ASP.NET est-il préférable de stocker un fichier téléchargé dans une base de données relationnelle, ou le mettre dans le système de fichiers?

EDIT: Le SGBDR facilitera l'association de plusieurs pièces jointes à un enregistrement. Il est plus facile de maintenir la version (s)

Les systèmes de fichiers facilitent le stockage des données et je pense que c'est un meilleur choix en termes de performances.

+0

Voir [ce] (http: // stackoverflow. com/questions/3748/stockage-images-dans-db-oui-ou-nay) question. Ou [this] (http://stackoverflow.com/questions/662488/would-you-store-binary-data-in-database-or-in-file-system) ou [this] (http: // stackoverflow. com/questions/815626/à faire-ou-à-ne-pas-stocker-images-dans-une-base de données). –

Répondre

1

Cela dépend vraiment de l'affaire. Si vous stockez des fichiers très volumineux, votre base de données deviendra vraiment importante - considérez ceci - cela peut affecter le prix de votre hébergement.

Le stockage de fichiers dans une base de données est préférable lorsque vous êtes dans une batterie de serveurs Web. Par exemple, si les demandes sont traitées par plusieurs serveurs et que vous les stockez dans une base de données, le clustering SQL est suffisant. stocker les fichiers dans le système de fichiers dans ce cas est beaucoup plus difficile - vous devez utiliser un emplacement commun ou synchroniser les fichiers à travers la batterie de serveurs!

Je voudrais utiliser un DB pour un magasin de fichiers - un emplacement pour toutes les données liées à votre application - plus facile à maintenir et sauvegarder/restaurer!

Voici un article expliquant comment stocker dans un DB: http://www.dbazine.com/sql/sql-articles/charran5

Voici une lecture intéressante sur SQL Server 2008 et la fonctionnalité FILESTREAM: http://www.devx.com/dotnet/Article/40812

+0

Très intéressant .. Si j'opte pour le système de fichiers, est-ce une bonne idée de le mettre sous un dossier IIS, ou de le stocker dans un autre serveur de fichiers, peut-être un serveur dédié? – Shaw

+0

Je n'utiliserais pas IIS sauf si les fichiers doivent être disponibles pour que les utilisateurs puissent y accéder via un navigateur ou un gestionnaire de téléchargement ... –