Re: Solicitud de comentario sobre almacenamiento de imágenes en Postgres vs. directorios

From: Juan Martínez <jeugenio(at)umcervantes(dot)cl>
To: Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Solicitud de comentario sobre almacenamiento de imágenes en Postgres vs. directorios
Date: 2006-03-22 18:10:55
Message-ID: 1143051055.31819.16.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El mié, 22-03-2006 a las 08:55 -0400, Yessica Brinkmann escribió:
> Buenos días.
> En la empresa en la que trabajo necesitamos implementar una aplicación
> web en la que se prevee un almacenamiento masivo de imágenes.

Has pensado en que la aplicacion probablemente ya existe?

Quizas gallery te sirva...

> Yo pensé en guardar las imágenes en la base de datos como datos tipo
> bytea, pero me dieron como sugerencia almacenarlas en directorios!

Mmm. A pesar de las disidencias, para mi las Bases de datos son para
guardar Datos, y los sistemas de archivos son para guardar archivos...
pero este juicio esta condicionado a la connotacion que tenga ese
archivo.

Sin ir mas lejos, el banco donde tengo cuenta, en el sitio web puedo ver
los cheques girados por mi que ya fueron cobrados, o sea, veo la imagen
del cheque (escaneado) por ambos lados. Lo mas probable es que como en
ese ejemplo, la imagen deja de ser un simple archivo binario y se
transforma en un dato (binario igual y naturalmente)...

> y guardar solamente el path de los archivos de imágenes en la base de
> datos, cosa que a mí no se me había ocurrido.
> ¿Ustedes creen que esto de los directorios sea más eficiente desde el
> punto de vista del tiempo de ejecución de la aplicación

Si.

> y teniendo en cuenta también el tiempo que se tardaría haciendo el
> upload de los archivos para almacenarlos en la base de datos vía la
> aplicación web?

Mmm...la aplicacion web estará en el mismo tarro que la BD? Aun asi,
creo que el tiempo de subida de la imagen esta asociado mas que nada al
ancho de banda.

> ¿Qué ventajas y desventajas creen que tendrían cada uno de los
> métodos: guardar las imágenes en la base de datos vs. guardarlas en
> directorios y almacenar en la base de datos solamente el path del
> archivo teniendo en cuenta que deberá hacerse upload y download de los
> archivos de imágenes a través de una aplicación web?

Guardar en BD
Ventajas:
- Administrabilidad (seguro que esta palabra no existe, pero Uds. me
entienden): las reglas de integridad se cumplen. Cuando borrar el
registro donde esta el binario de la imagen, la imagen se va tambien.

Desventajas:
- Respaldos diferenciales no son posibles.

Guardar en FS:
Ventajas:
- Respaldos diferenciales posibles!
- Eventualmente mayor rapidez.

Desventajas:
- Inadministrabilidad. Tendrias que crear triggers para que cuando se
borre el registro que hace referencia a la imagen, se borre la imagen.
El directorio de las imagenes solo el usuario de la BD tiene acceso para
evitar problemas de integridad en la bd (que alguien sin querer le
cambie el nombre a la imagen, y luego el registro que la referenciaba
apunta a cualquier cosa..

Atte.
Juan Martinez
Obrero Informatico
Depto. Inf.
UMC

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel 2006-03-22 18:20:26 Re: order by random?
Previous Message Jose Antonio Zacarias Rios 2006-03-22 18:04:43 RE: Instalacion en Solaris