Opinión personal: SIEMPRE almaceno imágenes en el sistema de archivos, y solo almaceno un filepath en la base de datos. En muchas situaciones, las bases de datos se almacenan en almacenamiento rápido (leer: almacenamiento costoso, 15k RPM o unidades SSD). Las imágenes u otros archivos, por lo general, se pueden almacenar en un almacenamiento más lento (leer: unidades más baratas, unidades más grandes, 7.2k RPM).
Me parece que es el mejor, ya que permite que la base de datos permanezca pequeña. En general, las bases de datos almacenan bien los "datos". Pueden buscar y recuperar pequeños trozos de datos rápidamente. File Systems almacena bien los "archivos", están optimizados para encontrar y recuperar rápidamente grandes cantidades de datos.
Obviamente, hay una compensación para ambos enfoques, y no va a haber una talla única para todos; sin embargo, puede haber algunos casos de uso donde almacenar imágenes en la base de datos es algo bueno, si son bastante pequeñas, y no anticipa muchas de ellas, y su base de datos está en el mismo medio de almacenamiento que su archivo compartido , entonces probablemente tenga sentido soltar las imágenes directamente en la base de datos.
Como nota al margen, SQL Server 2008R2 tiene un tipo de campo FileStream, que puede proporcionar lo mejor de ambos mundos, no lo he usado todavía, por lo que no puedo hablar de qué tan bien funciona.
Me encanta, un programador con el apodo de "Crashalot". :-) –