¿almacenar la imagen en una base de datos o en un archivo del sistema? [cerrado]
Duplicado exacto: Imágenes de usuario: ¿Almacenamiento de base de datos o sistema de archivos?
Duplicado exacto: almacenamiento de imágenes en la base de datos: ¿sí o no?
Duplicado exacto: ¿Debo almacenar mis imágenes en la base de datos o en carpetas?
Duplicado exacto: ¿almacenaría datos binarios en bases de datos o carpetas?
Duplicado exacto: ¿almacenar imágenes como archivos o la base de datos de una aplicación web?
Duplicado exacto: almacenar una pequeña cantidad de imágenes: ¿blob o fs?
Tengo que almacenar la imagen de perfil del usuario (100px * 100px). ¿Cuál es la mejor manera de almacenarla? ¿Base de datos o archivo de sistema? ¿Cuál es mejor, más rápido, más seguro...?
Guarde siempre imágenes, archivos de música, etc. en archivos del sistema en el disco y luego almacene las URL en la base de datos. Eso lo hará
1) más rápido
2) más fácil de configurar los ajustes de seguridad
3) mejor en todos los aspectos que puedo imaginar
SQL Server 2008 ofrece lo mejor de ambos mundos .
Voy a proponer una tercera opción, un lugar de terceros como Amazon S3 o Mosso Cloud Files. Ambos proporcionan API que puede usar para cargar el archivo y ambos brindan capacidades CDN para que los archivos se carguen más rápido de lo que lo harían desde sus servidores o extraídos de su base de datos.
Esta es una buena opción porque es lo mejor de ambos mundos. La desventaja de almacenar imágenes en la base de datos es que supone una carga adicional para la aplicación y los servidores de la base de datos (localizar el archivo y extraerlo) y también hace que la base de datos crezca en tamaño, lo que puede significar que necesitará más hardware antes.
La desventaja de almacenarlas en el sistema de archivos es que ahora tiene un problema con el escalado, ya que si desea agregar servidores web adicionales, cada uno de ellos necesitaría una copia de la imagen o necesitaría crear un servidor dedicado para estas imágenes. Además, el acceso al sistema de archivos podría ser un cuello de botella del que preocuparse en el futuro.
La base de datos facilita la realización de copias de seguridad y la restauración y funciona mejor que el almacenamiento del sistema de archivos para imágenes pequeñas. Microsoft había publicado un artículo de investigación sobre este tema: To BLOB or Not To BLOB .