Campo Image Vs Imágen independiente

19/10/2005 - 16:59 por Aventurero | Informe spam
Pido disculpas por insistir en el tema. Pero no me ha quedado claro lo dicho
en el anterior post.
Recordando: Necesito tomar una decisión en la forma de almacenar imágenes
digitalizadas (que puede ser .jpg u otra extensión que sea lo más pequeña
posible).
El dilema está en si incrustar la imágen en la base de datos como campo
Image o simplemente registrar la imágen y ubicación de la carpeta donde se
encuentra.
1. ¿Qué es más conveniente?
2. ¿El tamaño de las imágenes tiene mucho que ver en la decisión a tomar?
La cantidad de imágenes que van a incluir a la base de datos es de unas
22000 mensuales.
Gracias por su comprensión y ayuda.
Atentamente,



Aventurero

Preguntas similare

Leer las respuestas

#6 Maxi
19/10/2005 - 19:04 | Informe spam
No se que es Documentum


Salu2
Maxi [MVP SQL SERVER]


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
¿Tienes experiencia con Documentum? Lo digo porque como la respuesta
sea
afirmativa, te voy a "freír" a preguntas, así que ten cuidado con lo que
me
digas... ;-)


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Maxi" escribió en el mensaje
news:
jeje, como me conoces ;-), lo que pasa es q trabajo con bases
documentales


y
ademas he sufrido varias de estas cosas :(


Salu2
Maxi [MVP SQL SERVER]


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:%
> Con esa cantidad, yo personalmente escogería almacenar en SQL Server
> únicamente el archivo, que una función o procedimiento te devolviera el
> resto de la ruta y luego montar la ruta completa dinámicamente (ruta +
> archivo). El tamaño de las imágenes tiene que ver porque cuanto más
> grandes
> sean, más pesados serán de tratar (almacenar, visualizar...)
>
> Habrá gente que opine de forma contraria por diferentes motivos
> (seguramente Maxi, verdad? ;-) ), pero bueno, mi opinión es esa
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Aventurero" escribió en el mensaje
> news:u5u$
>> Pido disculpas por insistir en el tema. Pero no me ha quedado claro lo
> dicho
>> en el anterior post.
>> Recordando: Necesito tomar una decisión en la forma de almacenar


imágenes
>> digitalizadas (que puede ser .jpg u otra extensión que sea lo más


pequeña
>> posible).
>> El dilema está en si incrustar la imágen en la base de datos como
>> campo
>> Image o simplemente registrar la imágen y ubicación de la carpeta
>> donde
>> se
>> encuentra.
>> 1. ¿Qué es más conveniente?
>> 2. ¿El tamaño de las imágenes tiene mucho que ver en la decisión a


tomar?
>> La cantidad de imágenes que van a incluir a la base de datos es de
>> unas
>> 22000 mensuales.
>> Gracias por su comprensión y ayuda.
>> Atentamente,
>>
>>
>>
>> Aventurero
>>
>>
>
>






Respuesta Responder a este mensaje
#7 Maxi
19/10/2005 - 19:04 | Informe spam
Hola, por nada!! mira, www.mug.org.ar, administra todos los documentos en la
bdd


Salu2
Maxi [MVP SQL SERVER]


"Aventurero" escribió en el mensaje
news:
Gracias Maxi y Carlos.
Esta vez me han dado un sólido conocimiento al respecto y esto es lo que
en
este momento necesisto.
Y me estoy inclinando por "incrustar" las imágenes en la base de datos,
teniendo en cuenta las razones de Maxi.

Atentamente,


Aventurero


Respuesta Responder a este mensaje
#8 Gustavo Larriera [MVP]
20/10/2005 - 00:25 | Informe spam
Quisiera dar soluciones a las desventajas :-)

"Maxi" wrote in message
news:%235Wpy$
1) No crece tanto la bdd
2) Tengo un ambiente separado que podria estar en un servidor no windows
por ej.

Desventajas

1) No hay seguridad de integracion, alguien modifica o borra una imagen y
la base esta desconectado de eso



Para ellos existen los permisos a nivel del file system. Poner las imágenes
en una carpeta en la que solamente puede acceder la cuenta de dominio bajo
la cual corre SQL Server.

2) La escalabilidad es costosa, si el servidor de file hay q cambiarlo
habria q ir a la bdd y cambiar las ubicaciones



No almacenar el camino absoluto de la imagen. Definir un camino relativo a
partir de una carpeta raíz configurable en un dato almacenado. Eso permite
modificar el lugar donde está la raíz de las imágenes.

Mucho mejor aún: usar un file share \\maquina\imagenes y hacerlo variable,
alamcenando en una tabla de configuración cuál es el file share.

3) Si el sistema es distribuido podrias tener problemas, dependiendo de
como este desarrollado



No entendí :-)

Saludos
~gux
Respuesta Responder a este mensaje
#9 Maxi [MVP SQL Server]
20/10/2005 - 02:09 | Informe spam
Gux, hay algo que no podes solucionar y es la integridad entre imagen y bdd,
por mas que pongas los permisos que quieras, si alguien cambia algo en el
filesystem la bdd no se entera :(, en sistemas documentales esto es una
falta mas que grave :(

El punto 3 hacia referencia no solo a sistemas distribuidos sino mas a
sistemas donde se ejecuta el sql desde la aplicacion. Si ejecutas el select
desde la aplicacion vas a buscar la ruta y el archivo y con eso el servicio
debera tener acceso a la ubicacion para poder leer dicha imagen, el motor no
sabe nada de la imagen por lo cual la aplicacion se debe hacer cargo, tanto
en seguridad como en el resto. Ahora si usas 100% Sp's la cosa cambia, pero
no es en todos los casos asi :(


[Microsoft MVP SQL SERVER]
Culminis SQL-Server Speakers (http://latam.culminis.com)

Maxi - Buenos Aires - Argentina
Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Gustavo Larriera [MVP]" escribió en el mensaje
news:
Quisiera dar soluciones a las desventajas :-)

"Maxi" wrote in message
news:%235Wpy$
1) No crece tanto la bdd
2) Tengo un ambiente separado que podria estar en un servidor no windows
por ej.

Desventajas

1) No hay seguridad de integracion, alguien modifica o borra una imagen y
la base esta desconectado de eso



Para ellos existen los permisos a nivel del file system. Poner las
imágenes en una carpeta en la que solamente puede acceder la cuenta de
dominio bajo la cual corre SQL Server.

2) La escalabilidad es costosa, si el servidor de file hay q cambiarlo
habria q ir a la bdd y cambiar las ubicaciones



No almacenar el camino absoluto de la imagen. Definir un camino relativo a
partir de una carpeta raíz configurable en un dato almacenado. Eso permite
modificar el lugar donde está la raíz de las imágenes.

Mucho mejor aún: usar un file share \\maquina\imagenes y hacerlo variable,
alamcenando en una tabla de configuración cuál es el file share.

3) Si el sistema es distribuido podrias tener problemas, dependiendo de
como este desarrollado



No entendí :-)

Saludos
~gux


Respuesta Responder a este mensaje
#10 Gustavo Larriera [MVP]
20/10/2005 - 03:50 | Informe spam
Veo que estás cerrado a tu solución y no ves otra posibilidad... permitime
insistir un poco más :-)

"Maxi [MVP SQL Server]" wrote in message
news:
Gux, hay algo que no podes solucionar y es la integridad entre imagen y
bdd, por mas que pongas los permisos que quieras, si alguien cambia algo
en el filesystem la bdd no se entera :(, en sistemas documentales esto es
una falta mas que grave :(



Capaz que no entendiste mi solución:

?Cómo habría alguien de cambiar algo en el filesystem si cierro los permisos
para que únicamente la cuenta de dominion del servicio SQL Server acceda a
la carpeta de imágenes?

Y además confío plenamente en la persona que es el Administrador del sistema
que no va a andar jugando con los permisos y rompiendo las carpetas de las
aplicaciones.

Así como tú deberás confiar en tu DBA para que no haga destrozos con las
imágenes almacenadas en la propia base d edatos según propones, cierto?


El punto 3 hacia referencia no solo a sistemas distribuidos sino mas a
sistemas donde se ejecuta el sql desde la aplicacion. Si ejecutas el
select desde la aplicacion vas a buscar la ruta y el archivo y con eso el
servicio debera tener acceso a la ubicacion para poder leer dicha imagen,
el motor no sabe nada de la imagen por lo cual la aplicacion se debe hacer
cargo, tanto en seguridad como en el resto. Ahora si usas 100% Sp's la
cosa cambia, pero no es en todos los casos asi :(



Para solucionar eso es que existen los shared folders que mencioné.

Saludos
~gux
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida