¿almacenar la imagen en una base de datos o en un archivo del sistema? [cerrado]

Resuelto Hannoun Yassir asked hace 15 años • 4 respuestas

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...?

Hannoun Yassir avatar Apr 20 '09 03:04 Hannoun Yassir
Aceptado

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

Tomas Aschan avatar Apr 19 '2009 20:04 Tomas Aschan

SQL Server 2008 ofrece lo mejor de ambos mundos .

Anton Gogolev avatar Apr 19 '2009 20:04 Anton Gogolev

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.

James Avery avatar Apr 19 '2009 20:04 James Avery

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 .

oscarkuo avatar Apr 19 '2009 20:04 oscarkuo