ventajas utilizando una subir solo ruta para mostrar informacion imagenes imagen guardar desventajas desde datos con archivos almacenar database image database-design file filesystems

database - utilizando - Almacenar imágenes en la base de datos o en el sistema de archivos



subir imagenes php y guardar ruta (4)

Almacene archivos / imágenes en la base de datos si necesita seguir:

  • Control de acceso
  • Versiones
  • Llegada Salida
  • Búsqueda basada en metadatos

Ese ha sido el diseño de los principales CMS como SharePoint ha sido.

Sin embargo, si su contenido es mucho más estático y no va a cambiar con el tiempo, puede ir con el sistema de archivos y habilitar optimizaciones / caché en el servidor web.

Posible duplicado:
Almacenar imágenes en DB - ¿Sí o No?

¿Es más rápido y más confiable almacenar imágenes en el sistema de archivos o debería almacenarlas en una base de datos?

Digamos que las imágenes no serán más grandes que 200 MB. El objetivo es un acceso rápido y confiable.

En general, ¿cómo deciden las personas entre almacenar archivos (p. Ej., Imágenes, archivos PDF) en el sistema de archivos o en la base de datos?


Con el enfoque de la base de datos, solo tiene una cosa para conectarse. Si sus usuarios se distribuyen, eso podría ser más simple. Tenga en cuenta que si no se accede a las imágenes con demasiada frecuencia, los problemas de eficiencia pueden no ser importantes.


En primer lugar, debe saber que en las bases de datos, no puede almacenar archivos más grandes de lo que creo 8 mb, leavinig eso, así que creo que es mejor almacenar archivos en el sistema, y ​​pequeñas imágenes en la base de datos


Opinión personal: SIEMPRE almaceno imágenes en el sistema de archivos, y solo almaceno una ruta de archivo 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).

Encuentro 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 solución ú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 decir lo bien que funciona.