+1

________________________________
From: pgsql-es-ayuda-ow...@postgresql.org <pgsql-es-ayuda-ow...@postgresql.org> 
on behalf of Victor Hugo Roumieu <vhr...@gmail.com>
Sent: Friday, February 12, 2016 7:46 PM
To: POSTGRES
Subject: [pgsql-es-ayuda] [pgsql-es-ayuda] [OFFTOPIC] - Espacio en disco de 
tablas con imágenes.

Hola perdón por meterme en el hilo y mas teniendo en cuenta mi ignorancia, pero 
es posible que pudiera ser de utilidad para alguien.
Respecto a dejar los datos dentro o fuera de la base, muchos me recomendaron 
hacerlo en un directorio aparte, pero jamas encontré un argumento que me 
convenciera ante las dificultades que ello conlleva. Todos los datos dentro de 
la base implica una enorme cantidad de ventajas que son las que originalmente 
nos hacen trabajar con base de datos relacionales (integridad, seguridad solo 
por nombrar algunos).

Ahora yo al guardar datos graficos tengo algunas precauciones.
1) Validar todo lo que se pueda desde la aplicación. Por ejemplo el tamaño 
máximo que permito ingresar, tipo de dato, etc.
2) Armar otra tabla con el dato Bytea con únicamente este dato, incluso en una 
relación uno a uno. Esta tabla solo tendra el dato gráfico y el id de la tupla 
a la que corresponde.
Esto para mi fue de mucha ayuda tanto en postgres mysql como en oracle. ya que 
me permite almacenar ese dato en otro datafile (segun el motor), tambien me 
protege de las consecuencias de que algun distraido hiciera "select * from 
tabla". Si pongo un trigger de auditoria o de lo que fuera el mismo puede 
trabajar sobre una de las tablas pero no sobre el dato gráfico. Las capas del 
medio de la aplicación (JPA) con muy poco esfuerzo levantan los datos que se 
requieren en cada caso y toman los graficos solo cuando son requeridos.

Es muy posible que mi enfoque fuera anticuado pero a mi me da resultado.

Les mando un fuerte abrazo.
VHR

Responder a