2009-04-19 12 views
8

duplicado exacto:User Images: Database or filesystem storage?
duplicado exacto:Storing images in database: Yea or nay?
duplicado exacto:Should I store my images in the database or folders?
duplicado exacto:Would you store binary data in database or folders?
duplicado exacto:Store pictures as files or or the database for a web app?
duplicado exacto:Storing a small number of images: blob or fs?¿almacenar imagen en una base de datos o en un archivo de sistema?

Tengo que guardar 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 ...?

+0

@Yassir, en serio hombre. Buscar. Encontré 6 duplicados en segundos. Sé que hay más. – mmcdole

+0

oh sry no aparecieron cuando escribía la pregunta, mi problema es que no volverá a suceder –

+0

"Cerrado como spam"?!? Puedo entender cerrado como duplicado, pero ¿por qué spam? –

Respuesta

8

Siempre almacene imágenes, archivos de música, etc. en archivos de sistema en el disco, y luego almacene las url: s en la base de datos. Eso hará que sea

1) más rápido

2) más fácil de configurar las opciones de seguridad

3) mejores en cualquier forma que pueda imaginar

+2

pero ¿no tendría un problema cuando haga una copia de seguridad de los datos? –

+0

No, al igual que las soluciones de respaldo para bases de datos, existen soluciones de respaldo para los archivos del sistema.Por supuesto, dependiendo de la escala de su aplicación, un servicio de terceros como James Avery propone podría ser lo que está buscando. Pero a menos que vaya a gran escala con imágenes, definitivamente recomendaría los archivos del sistema. –

+0

Estoy de acuerdo contigo –

4

base de datos facilita la copia de seguridad y restauración y funciona mejor que el almacenamiento del sistema de archivos para imágenes pequeñas. Microsoft había publicado un documento de investigación sobre este tema: To BLOB or Not To BLOB.

9

voy a proponer una tercera opción, una tercera -parte de fiesta como Amazon S3 o Mosso Cloud Files. Ambos proporcionan API que puede usar para cargar el archivo y ambos proporcionan capacidades de CDN para que los archivos se carguen más rápido de lo que lo harían de sus servidores o 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 un estrés adicional para la aplicación y los servidores de bases de datos (ubicar el archivo y extraerlo) y también hace que su base de datos crezca de tamaño, lo que puede significar que necesitará más hardware antes.

La desventaja de almacenarlos en el sistema de archivos es que ahora tiene un problema con la escala como si quisiera agregar servidores web adicionales, cada uno de ellos necesitaría una copia de la imagen o necesitaría crear un servidor dedicado para estos imágenes. Además, el acceso al sistema de archivos podría ser un cuello de botella futuro del que preocuparse.

12

SQL Server 2008 ofrece el best of both worlds.

+0

Eso fue un enlace informativo. Gracias anton :) – Gan

+0

Esta fue la respuesta para mí. Estaba buscando un repositorio de archivos ya implementado que se almacena en el sistema de archivos, pero se gestiona a través de la base de datos. –

Cuestiones relacionadas