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

Imagenes en bbdd. Compromiso tamaño/optimización

Estas en el tema de Imagenes en bbdd. Compromiso tamaño/optimización en el foro de Bases de Datos General en Foros del Web. Hola a todos, Mi duda es sobre los límites del almacenamiento de imágenes en la bbdd. Lo más interesante que he encontrado es la sugerencia ...
  #1 (permalink)  
Antiguo 25/05/2011, 12:28
 
Fecha de Ingreso: diciembre-2003
Mensajes: 49
Antigüedad: 20 años, 4 meses
Puntos: 0
Imagenes en bbdd. Compromiso tamaño/optimización

Hola a todos,

Mi duda es sobre los límites del almacenamiento de imágenes en la bbdd. Lo más interesante que he encontrado es la sugerencia de Cluster de tener en cuenta el uso de esas imágenes para decidir su subirlas a la bbdd o almacenarlas en el sistema de archivos. Hasta aquí bien...

Las características de mi sistema serían que cualquier usuario pueda subir imágenes digamos que de hasta 5Mb. Sobre estas imágenes, yo debería crear una versión para visualizar en la Web, digamos que de unos 200Kb y una miniatura para las presentaciones. Y en principio me gustaría planificar todo para una cantidad considerable de imágenes. Pongamos 5k.

Pensando en el compromiso entre tamaños/optimización de bbdd/optimización de scripts no encuentro cual puede ser la mejor solución.

Primero, tiene algún sentido almacenar imágenes de 5Mb en la bbdd?

Tiene algún sentido procesar sólo una vez la imagen original para construir la que se visualizará en la Web (200k) y guardar la primera en disco y la segunda en bbdd junto a la miniatura?

En cualquier caso, la imagen más grande sería lógicamente para descarga y no renderizado en la pantalla, y no serían descargas masivas.

En fin, tengo un dilema con esto, os agradecería algún consejo sobre la planificación..

Y disculpad si me dejo algún detalle crítico.

Espero que alguien pueda echar una mano... gracias a todos
  #2 (permalink)  
Antiguo 27/05/2011, 06:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Imagenes en bbdd. Compromiso tamaño/optimización

Primero, tiene algún sentido almacenar imágenes de 5Mb en la bbdd? NO

Tiene algún sentido procesar sólo una vez la imagen original para construir la que se visualizará en la Web (200k) y guardar la primera en disco y la segunda en bbdd junto a la miniatura? SI y NO

En la bbdd solo debes guardar el nombre de la imagen y luego en el sistema de archivos debes tener dos carpetas una para las imagenes originales y otra para las miniaturas, que se llamaran igual, el script del web debe ser capaz de ir a buscar la que toque en cada caso... para mostrar en una carpeta y para descargar en la otra... o mas simple si agregas un prefijo al nombre de la miniatura no hacen falta ni las dos carpetas.... el script lee el nombre de la bbdd y agrega o no el prefijo segun el caso.

Asi minimizas lo que guardas en la bbdd y en princio no tendrias ninguna limitacion para la resolucion de las imagenes... incluso podrias llegar a no guardar nada mas que las caracteristicas de la imagen en la bbdd si el nombre del archivo se construye con el identificador del registro.

Ejemplo de nombres

idUsuario_idFoto.jpg <--- original
m_idUsuario_idFoto.jpg <--- miniatura


Otra solución más sofisticada es generar la miniatura "al vuelo", es decir cuando se necesita la miniatura, y solo guardar la imagen original en el sistema de archivos... eso seria generarla muchas veces no se si compensa.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 27/05/2011 a las 07:07
  #3 (permalink)  
Antiguo 27/05/2011, 16:13
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Imagenes en bbdd. Compromiso tamaño/optimización

Como siempre, hay ventajas y desventajas en almacenar imágenes dentro de la base de datos, en cualquier caso, si hablamos de un sitio Web, el tamaño de la imagen no es un problema, ya que las bases de datos están preparadas para almacenar ficheros de gran tamaño, en general 4gb, que es mucho más de lo que se necesita para un sitio Web.

Por el tema de la visualización de una imagen en miniatura, la mayoría de los lenguajes tienen soporte para crear Thumbnail a partir de la imagen real, esto puede simplificar mucho la tarea.

Saludos
  #4 (permalink)  
Antiguo 01/06/2011, 22:30
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Respuesta: Imagenes en bbdd. Compromiso tamaño/optimización

Sube la imagen no a la base de datos, sino a una carpeta mediante un componente de upload, en la base de datos almacenas unicamente la ruta, las imagenes van en el original de tamanio maximo que les permitas.

Luego al desplegar mediante un programa creas los "resizes" del tamanio que requieras, eso lo puedes hacer con php o con .net. y no se trata unicamente de establecer tamaño width dentro del html, sino de literalmente se genera un "thumbnail" "al vuelo" que es de mejor tamaño y que es lo que viaja del servidor hacia el navegador.
  #5 (permalink)  
Antiguo 06/06/2011, 01:49
 
Fecha de Ingreso: diciembre-2003
Mensajes: 49
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Imagenes en bbdd. Compromiso tamaño/optimización

Hola gentes,

comprendo todas vuestras respuestas. En todos los sitios que he realizado, siempre he recurrido al método clásico,... tener un sistema de ficheros con las imágenes y guardar la ruta en la bbdd... lo evidente, vamos. Pero a raíz de esta lectura, quería pedir consejo y aclarar un poco mis dudas...

gracias por vuestras respuestas!

Etiquetas: bbdd, imagenes, bases-de-datos
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 16:20.