Foros del Web » Programando para Internet » PHP »

Porque subir una img a una DB??

Estas en el tema de Porque subir una img a una DB?? en el foro de PHP en Foros del Web. Hola gente: Como siempre tengo miles de dudas y una de ellas es la siguiente: ¿Para que subir una imagen a una Base de Datos? ...
  #1 (permalink)  
Antiguo 28/01/2005, 14:14
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Porque subir una img a una DB??

Hola gente:

Como siempre tengo miles de dudas y una de ellas es la siguiente:

¿Para que subir una imagen a una Base de Datos?

He visto que muchos usuarios de hache lo hacen y me pregunto:

¿que beneficio tiene con respecto a guardarla en un directorio y en la base de datos guardar solo el nombre de la imagen (para luego en la consulta recurrir a ella)?

De poner imágenes en la base de datos, aumenta significativamente el tamaño de esta? (de la DB)

En fin, tengo muchas otras preguntas respecto a este tema pero no quiero bombardearlos.

Saludos.
__________________
I Love Programming...
  #2 (permalink)  
Antiguo 28/01/2005, 14:43
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 407
Antigüedad: 14 años, 4 meses
Puntos: 1
Hola,

A ver si animo a la gente a que participen del debate, pues me parece interesante y yo también esperaba una respuesta a esta pregunta.

Yo personalmente siempre he almacenado el archivo en directorio y la referencia a éste en la BBDD. Pienso que como mínimo será igual de rápido acceder al archivo que devolverlo de la BBDD, y si además tenemos en cuenta que aumenta mucho el tamaño de las tablas = empeora el rendimiento... casi mejor optar por almacenar en directorios.

Salvo quizás algunas excepciones....supongo

Un saludo.
  #3 (permalink)  
Antiguo 28/01/2005, 15:39
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 4 meses
Puntos: 0
Yo prefiero subirlas a un directorio y guardar la ruta en un campo varchar en la base de datos, es mejor así ya que si se guardan todos los archivos en la base de datos y esta se corrompe se corre el riesgo de perder mucho datos y liarse un buen rato con eso.

Creo que también es mejor tener los archivo clasificados en carpetas en el sistema de archivos que usa el servidor donde se está guardando eso.
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #4 (permalink)  
Antiguo 28/01/2005, 15:51
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
Cita:
que aumenta mucho el tamaño de las tablas = empeora el rendimiento... casi mejor optar por almacenar en directorios.

CREO QUE ESTE COMENTARIO HAY QUE CONSIDERARLO, TREMENDAMENTE!
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #5 (permalink)  
Antiguo 28/01/2005, 16:08
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Bueno, por el momento todo los post fueron justo de usuarios que usan "mi mismo sistema", subir una imagen y guardar la uri de la misma en una DB...

Aun no se cuales son los beneficios del otro metodo, aunque ya dijeron 2 contras "groseras": empeoraria el rendimiento de mi base de datos (que dicho sea de paso, al ser novato es bastante malo) y si se borra la DB perderia demaciada información (es mas facil que una DB se borre a que lo haya un directorio completo, creo yo).

No creo que se genere un gran debate ya que, en un rato a parece Cluster o Josemi (entre otros) y nos dejan en claro todo, o eso espero ;)
__________________
I Love Programming...
  #6 (permalink)  
Antiguo 28/01/2005, 16:12
 
Fecha de Ingreso: noviembre-2003
Mensajes: 444
Antigüedad: 14 años
Puntos: 0
el punto a favor podria ser en los paquetes de hosting pequeños... en los que las BD tienen capacidad igual a la del host

ej 100MB mysql ... 100MB web space

quizá ahi si convenga pues pones la mayor parte de las imagenes para ocupar gran parte del MySQL y tus htmls en tu espacio web y listo... ahorras espacio!...

yo asi lo haria en caso de estar reducido... o de tener un pequeño sitio...

saludos
  #7 (permalink)  
Antiguo 28/01/2005, 16:32
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
jeje

tambien podrian almacenar los html en la base de tdatos?

para mi es mejor guardar el enlace de la imagen en la bd y las imagenes en carpetas
__________________
SEO en Medellin
  #8 (permalink)  
Antiguo 28/01/2005, 16:33
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 13 años, 9 meses
Puntos: 0
El tema del espacio es muy relativo, es decir, no hace a la decision de guardar o no las imagenes en la base de datos. Puede resultar en el caso que mencionas, favorable, pero es un caso muy particular.

La ventaja de guardarlas en la DB es el control (al acceso) de las mismas. Si quiero que tal usuario pueda ver la imagen y que cualquier otro no, simplemente hago una consulta refiriendome a los permisos. De otro modo, el usuario podria acceder al path libremente (ej: myhost.com/img/2310.jpg)

Con respecto a:
Cita:
si se borra la DB perderia demaciada información (es mas facil que una DB se borre a que lo haya un directorio completo, creo yo).
me parece totalmente absurdo.

Saludos
  #9 (permalink)  
Antiguo 28/01/2005, 16:58
Avatar de Durgeoble  
Fecha de Ingreso: marzo-2003
Mensajes: 462
Antigüedad: 14 años, 8 meses
Puntos: 2
pero esa ventaja no se pierde si se niega el acceso directo a los archivos y solo se le permite ver las imagenes a traves de gd o similar haciendo "una copia sobre la marcha" ¿?
__________________
Todas mis respuestas funcionaran correctamente en aquellos navegadores que respeten los estandares.
  #10 (permalink)  
Antiguo 28/01/2005, 18:22
 
Fecha de Ingreso: enero-2004
Mensajes: 431
Antigüedad: 13 años, 10 meses
Puntos: 6
En cuanto a la perdida de datos, se recomienda hacer un Backup de todos los datos cada 15 dias, bueno eso es lo que yo hago para prevenir cualquier desastre.
__________________
El que teme preguntar, se averguenza de aprender.
  #11 (permalink)  
Antiguo 29/01/2005, 10:18
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 407
Antigüedad: 14 años, 4 meses
Puntos: 1
Bueno, parece muy amena la discusión. Es cierto que en el caso de querer ofrecer imágenes a según que usuarios, la opción de almacenar en la BBDD puede ser la mejor decisión.

Por otra parte, el almacenar HTML (que comentaba 'mafima') en un campo de una tabla puede ser una cuestión diferente:
En situaciones donde para mostrar una página se necesitan procesos que requieren de mucho tiempo, así como numerosos accesos a la BBDD a lo mejor es conveniente realizar un sistema de 'caché' que procese una vez las páginas y las almacene en la BBDD, el resto de las veces se servirían desde ésta, con una productividad mucho mayor. Yo una vez tuve que hacer un sistema así por los motivos que comento. Pero creo que este es un caso diferente al que comentamos de las imágenes.

Espero haber ayudado un poquito más con lo poco que sé :)
Saludos
  #12 (permalink)  
Antiguo 29/01/2005, 16:58
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
claro que tienes razon

sip, es obvio lo que dices... seri tonot guardar los html en una base de datos

creo que la unica diferencia que se presenta es en lo de la accesibilidad... sin embargo creo que tener una imagen en una base de datos representa limitantes... no mucho pero quizas para ekl trato de imagenes, por ejemplo con libreria GD... crear una marca de agua no seria posible si no se tiene la imagen en la carpeta...¿ o si? creo que no!!

__________________
SEO en Medellin
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 19:01.