Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Imagenes en bd o en directorio?

Estas en el tema de Imagenes en bd o en directorio? en el foro de Mysql en Foros del Web. Hola, estoy realizando un ecommerce y trabajando con php + mysql. Una pregunta... A la hora de almacenar mis imagenes... Me conviene guardarlas en la ...
  #1 (permalink)  
Antiguo 05/08/2013, 09:48
 
Fecha de Ingreso: enero-2013
Mensajes: 32
Antigüedad: 11 años, 3 meses
Puntos: 0
Imagenes en bd o en directorio?

Hola, estoy realizando un ecommerce y trabajando con php + mysql.

Una pregunta... A la hora de almacenar mis imagenes... Me conviene guardarlas en la bd o en un directorio y a traves de la base de datos llamar a ese directorio?

Que es mas eficiente teniendo en cuenta que pueden ser muchas las imagenes (debido a que hay muchos productos y cada uno de ellos puede tener mas de 1 foto)?

O tambien escuche hablar de filesystem pero no entiendo bien que es y lei en algunos lados que ya es medio viejo... Puedes ser?

Que me recomiendan?
  #2 (permalink)  
Antiguo 05/08/2013, 10:07
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: Imagenes en bd o en directorio?

¿Qué es más eficiente? ¿Una BD liviana para que las consultas sean más fluidas o una más pesada donde las consultas pueden ser más pesadas?

La respuesta a mi punto de vista, es tener un directorio con las imágenes y solo invocarlas para no realizar cargas innecesarias a la BD.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 05/08/2013, 10:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Imagenes en bd o en directorio?

Este es un tema trillado, y como bien remarca @BrujoNic, se cae por evidente. No es una observación peyorativa, de tanto en tanto viene alguien con la misma pregunta, y siempre le damos la misma respuesta (sea que se discuta mucho o poco).

No es funcional ni práctico poner imágenes en base de datos. Es más simple y sencillo para implementar, mantener en las tablas las rutas relativas de los archivos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 05/08/2013, 10:23
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Imagenes en bd o en directorio?

Hola Shirag:

Tal como lo dijo gnzsoloyo. Este tema se ha tratado infinidad de veces en este foro... de hecho si checas la liga de abajo seguramente encontrarás una respuesta que te responda a tu pregunta:

http://lmgtfy.com/?q=Imagenes+en+bd+o+en+directorio

Siempre he insistido en que no hay una mejor manera de hacer las cosas... todo depende de tus necesidades y los recursos que tengas.

De entrada coincido completamente con gnzsoloyo (y creo que con la mayoría de los que puedan comentar en el foro) en que la mejor manera es almacenar las imágenes en un directorio y en tu BD sólo almacenar las direcciones. Esta suele ser la manera en que la mayoría trabajamos y tiene sus ventajas:

1. El tamaño de la BD no crece demasiado
2. Las consultas suelen ser más eficientes
3. No necesitas de ningún mecanismo para la recuperación de la imagen.
4. Almacenar archivos en BD suele no ser tan trivial como manejar cadenas
5. Y un largo excétera.

Sin embargo, me he topado con situaciones en donde esta situación no es tan factible. Cuestiones de Seguridad, Integridad de la información y algunas otras consideraciones, pueden hacer que la opción de manejar las imágenes en la BD sea mejor.

Por ejemplo, si las imágenes tienen confidencialidad, es decir, que no todas las personas puedan ver todas las imágenes, entonces puedes optar por almacenar las imágenes en BD, e implementar a nivel de permisos sobre la misma BD un esquema de seguridad para dichas imágenes...

El respaldo de la información puede ser otro punto a seguir... es decir, si optas por tener las imágenes en carpetas separadas, entonces tienes que manejar un esquema de respaldo, tanto para los archivos como para la BD... no tendrías todos los recursos de manera centralizada, si por alguna razón la seguridad de tu directorio se ve comprometida (imagina que por error se borran todas las imágenes o se les cambia el nombre), entonces la integridad de la información de tu BD se vería también comprometida, pues las referencias pasarían a ser simplemente un montón de basura.

Finalmente también tienes la opción de manejar un sistema híbrido, es decir, donde utilices ambas formas de almacenamiento...

En conclusión y como siempre he dicho en estos casos, no podemos decirte qué es lo mejor para ti, tú mismo eres el que debe decidir qué opción se adecua más a tus necesidades.

Saludos
Leo.
  #5 (permalink)  
Antiguo 05/08/2013, 12:14
 
Fecha de Ingreso: enero-2013
Mensajes: 32
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Imagenes en bd o en directorio?

Entiendo. Entonces creo que voy a optar por tener una base liviana ya que me parece que uno siempre tiene que aplicar a una aplicacion que escale (si es que asi se dice) y tal vez el e-commerce que haga hoy mañana lo pueden estar viendo muchas personas y no seria eficiente una bd con 1000 imagenes.

Tambien teniendo en cuenta que el acceso a esas imagenes (que seria publico) no me modifica nada. En cambio si fuera algo que tendria que tener seguridad realmente, entonces entiendo que hay que almacenarlos en la bd.

Ahora entonces por ejemplo en mi bd tendria mi tabla ImagenesProductos con los siguientes campos:

id_producto
imagen

Y en imagen tendria que pasarle unicamente el nombre de la imagen, por ejemplo "imagen.jpg" de tipo VARCHAR ya que la ruta donde se encuentran las imagenes es siempre la misma (suponer "Tienda/Productos/Imagenes)

Es correcto esto ultimo que digo?

gracias!

Última edición por Shirag; 05/08/2013 a las 12:16 Razón: para agradecer :P

Etiquetas: bd, imagenes, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:26.