En général, comment le mauvais de performances est de stocker un fichier dans une base de données (plus précisément mssql), par opposition au système de fichiers? Je ne peux pas venu avec une raison à l'extérieur de la portabilité de l'application que je veux stocker mes fichiers comme varbinaries dans SQL Server.
Réponses
Trop de publicités?Jetez un oeil à cette réponse:
Le stockage des Images dans la bd - Oui ou Non?
Essentiellement, l'espace et les performances peuvent être assez grand, en fonction du nombre d'utilisateurs. Aussi, gardez à l'esprit que les serveurs Web sont bon marché et vous pouvez facilement ajouter d'autres pour équilibrer la charge, tandis que la base de données est la plus chère et la plus difficile à l'échelle de la partie de l'architecture du web en général.
Il y a quelques exemples opposés (par exemple, Microsoft Sharepoint), mais généralement, le stockage des fichiers dans la base de données n'est pas une bonne idée.
Sauf si éventuellement vous écrire des applications de bureau et/ou de savoir à peu près combien d'utilisateurs que vous aurez jamais, mais sur quelque chose d'aussi aléatoire et unexpectable comme un site web public, vous pouvez payer un prix élevé pour le stockage de fichiers dans la base de données.
Si vous pouvez vous déplacer vers SQL Server 2008, vous pouvez bénéficier de la prise en charge de FILESTREAM qui vous donne le meilleur des deux, les fichiers sont stockés dans le système de fichiers, mais l'intégration de base de données est beaucoup mieux que de simplement stocker un chemin dans un champ de type varchar. Votre requête peut renvoyer un standard .NET flux de fichier, ce qui rend l'intégration beaucoup plus simple.
Je dirais, tout dépend de votre situation. Par exemple, je travaille dans le gouvernement local, et nous avons beaucoup d'images comme les mugshots, etc. Nous n'avons pas un grand nombre d'utilisateurs, mais nous avons besoin d'avoir de bons d'audit et de sécurité autour de la data. La base de données est une meilleure solution pour nous, car il rend cela plus facile et nous n'allons pas courir dans des problèmes d'évolutivité.
Quelle est la question?
Moderne SGBD SQL2008 ont une variété de façons de traiter avec des Gouttes qui ne sont pas seulement coller dans un tableau. Il y a des avantages et des inconvénients, bien sûr, et vous pourriez avoir besoin d'y réfléchir un peu plus.
C'est un document intéressant, par la fin (?) Jim Gray
Dans ma propre expérience, il est toujours préférable de stocker des fichiers en tant que fichiers. La raison en est que le système de fichier est optimisé pour le fichier storeage, alors qu'une base de données n'est pas. Bien sûr, il y a quelques exceptions (par exemple, le tant annoncée next-gen MS système de fichiers est censé être construit sur SQL server), mais en général, c'est ma règle.