Skip site navigation (1) Skip section navigation (2)

Re: almacenar en bd o no?

From: "Mauro A(dot) Morales M(dot)" <mmorales(at)opencorp(dot)cl>
To: "Crispin T(dot)" <cris(dot)emis(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: almacenar en bd o no?
Date: 2008-05-26 22:25:22
Message-ID: 1211840723.3507.19.camel@sherlock (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
El lun, 26-05-2008 a las 02:29 -0400, Crispin T. escribió:
> hola 

Hola ...

> tengo un problema resulta que tengo un sistema en java con bd postgres
> 8.2 y todo me va de maravilla pero empieza a preocuparme un asunto,
> resulta que por performance y por no cargar demasiado la bd no
> almacene las fotos de unos inmuebles en al bd pero me resulta
> complicado al momento de hacer backups ya que las imagenes las agarro
> como archivos y pues copiar varios archivos y restaurar varios
> archivos ademas de los datos de la bd se me hace mucho trabajo y mucho
> tiempo pero no me anime a almacenarlos en un tipo oid porque por cada
> inmueble se manejan alrededor de 30 fotos png de 600x500

Uhm! Si no quieres almacenar las fotos, lo que te recomiendo es que
tengas un sistema web estático (por estático me refiero a html-pure) y
que este sistemita tenga el despliegue de las fotos, y lo que debes
guardar en la BD es el nombre de la pagina principal que muestra las
fotos.
Ya sea que sean las mismas fotos siempre o cambien, solo debe
preocuparte que se almacene correctamente la página de inicio de las
fotos. (Quizás tener un administrador de las páginas HTML es más
trabajo).

Una herramienta que te puede ayudar a construir el HTML y el XML del
sitio de las fotos es PICASA (buscalo en google).

>  aproximadamente, ademas que antes el sistema hera monolitoco (corria
                                                ^^^^
                                                era
>  en una unica pc) pero ahora el negocio crecio y se necesita que corra
> en una lan y bueno nose como hacer que una aplicación java cargue
> archivos que estan en otra pc (no veo seguro compartir la carpeta de
> los archivos) y me estoy animando a guardar las imagenes en la bd

La verdad es que la mantención de la consistencia, entre referencia del
nombre de la foto en la bd y la imagen existente en el sistema de
archivos es una tarea compleja, pero para implementar el almacenaje de
las fotos en la bd, debes preocuparte de varios aspectos:

- Si son páginas muy consultadas, el tamaño de la imagen almacenada es
muy importante, dado que si es una imagen que debe desplegarse
necesariamente, entonces debes consultar la BD, traer la foto, armar el
HTML y desplegar la foto ... que es un tiempo bastante largo.

- Puedes almacenar el XML de despliegue de las fotos, en vez de la foto.

- Puedes almacenar el HTML de despliegue.

- Si almacenas la foto, preocupate de tener un filesystem que te ayude
en esa tarea (ext3 es muy lento, quizás debas usar xfs u otro).

- El tamaño de la BD crecerá bastante, preocupate de cumplir con los
requerimientos que eso implica.

- Tu modelo de datos permite la inclusión de las fotos ?. Tendrás que
modificar el modelo ?. Si el cambio es muy profundo, piensalo muy bien,
a veces ignoramos el impacto en otros sistemas dependientes.

> dados los casos ¿que harian ustedes en este caso?

Lo que te mencionaba más arriba.

> en el caso de sugerirme que guarde las imagenes en la bd ¿hay forma de
> sacar backup's de solo algunas tablas?

Pero por supuesto. Estudia pg_dump.

> en caso de no guardar en la bd las imagenes ¿que solucion me sugieren
> para cargar imagenes desde otra pc(sin compartir la carpeta)?

Uhm! La compartición de carpetas es muy lenta si la red no es apta para
ello. Piensa en una conexión directa entre el server y la máquina que
dispondrá de las imágenes.

Saludos,

-- Mauro


In response to

pgsql-es-ayuda by date

Next:From: Miguel Rodríguez PenabadDate: 2008-05-26 22:30:49
Subject: Re: Concatenar registro y regresar solo uno
Previous:From: Martin MarquesDate: 2008-05-26 21:34:10
Subject: Re: tablas grandes

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group