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

#11 Maxi [MVP SQL Server]
20/10/2005 - 04:11 | Informe spam
Gux, no estoy cerrado ni mucho menos!!! solo te comento los problemas q
siempre he tenido :(. Ya sabemos q este tema es bastante calentito porque no
habra 2 opiniones iguales ni formas de pensar, acepto tu planteo, pero por
experiencia sigo guardando las imagenes en la bdd, aunque no lo creas es
mucho mas eficiente que en los filesystem cuando tenes muchas de estas.
Antes lo hacia como vos indicas ;-)


[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:
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
#12 Carlos Sacristán
20/10/2005 - 08:18 | Informe spam
¿Más eficiente? Pues ahí permite que lo dude, no creo que sea más rápido
leer el registro de la base de datos, transformarlo y luego mostrarlo con la
aplicación que sea que simplemente abrir el archivo en cuestión directamente
de la ruta indicada...

Bueno, era más que nada por seguir discutiendo, que es divertido ;-)

Yo estoy más del lado de Gustavo...


Un saludo

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

"Maxi [MVP SQL Server]" escribió en el
mensaje news:#
Gux, no estoy cerrado ni mucho menos!!! solo te comento los problemas q
siempre he tenido :(. Ya sabemos q este tema es bastante calentito porque


no
habra 2 opiniones iguales ni formas de pensar, acepto tu planteo, pero por
experiencia sigo guardando las imagenes en la bdd, aunque no lo creas es
mucho mas eficiente que en los filesystem cuando tenes muchas de estas.
Antes lo hacia como vos indicas ;-)


[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:
> 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
#13 Maxi
20/10/2005 - 13:31 | Informe spam
jaja, como te gusta discutir ;-), es mas eficiente aunque no lo creas (yo
jamas lo habia creido hasta que lo probe), si tienes muchos archivos el
engine de SQL es muy rapido comparado con el filesystem :-)

Ademas, ustedes que defienden la otra postura ;-), cuales son las ventajas
enormes que le ven ??


Salu2
Maxi [MVP SQL SERVER]


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:%
¿Más eficiente? Pues ahí permite que lo dude, no creo que sea más
rápido
leer el registro de la base de datos, transformarlo y luego mostrarlo con
la
aplicación que sea que simplemente abrir el archivo en cuestión
directamente
de la ruta indicada...

Bueno, era más que nada por seguir discutiendo, que es divertido ;-)

Yo estoy más del lado de Gustavo...


Un saludo

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

"Maxi [MVP SQL Server]" escribió en el
mensaje news:#
Gux, no estoy cerrado ni mucho menos!!! solo te comento los problemas q
siempre he tenido :(. Ya sabemos q este tema es bastante calentito porque


no
habra 2 opiniones iguales ni formas de pensar, acepto tu planteo, pero
por
experiencia sigo guardando las imagenes en la bdd, aunque no lo creas es
mucho mas eficiente que en los filesystem cuando tenes muchas de estas.
Antes lo hacia como vos indicas ;-)


[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:
> 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
#14 Carlos Sacristán
20/10/2005 - 14:01 | Informe spam
¿Más rápido? No sé, me cuesta creerlo, aunque no dudo de tu palabra...

Las ventajas que le veo yo son, indudablemente, de manejo de los datos y
de simplicidad del sistema: la aplicación no se tiene que encargar de
enviar/recibir y transformar todos los bytes que conforman el archivo cada
vez que se manipule porque dicho archivo ya existe. De este modo me evito
tener que hacer una operación incuestionablemente (aunque para tí sea más
sencillo porque estás acostumbrado a su manejo) más costosa que presentar el
archivo que se encuentra en la ruta que la base de datos proporciona.

Si cambia la ubicación del archivo no tengo problemas porque yo sólo
almaceno el nombre del mismo, y el resto de la ruta me la proporciona otro
parámetro (leído de una tabla, de una función, etc)

Windows tiene su propia seguridad que puedo implementar como necesite
(el ejemplo que le puso Gustavo es perfecto)

Las copias de seguridad también me las proporciona Windows.

En fin, que de momento no he necesitado almacenar archivos en la base de
datos y sin embargo, como a tí, me ha ido muy bien...


Un saludo

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

"Maxi" escribió en el mensaje
news:uVuH#
jaja, como te gusta discutir ;-), es mas eficiente aunque no lo creas (yo
jamas lo habia creido hasta que lo probe), si tienes muchos archivos el
engine de SQL es muy rapido comparado con el filesystem :-)

Ademas, ustedes que defienden la otra postura ;-), cuales son las ventajas
enormes que le ven ??


Salu2
Maxi [MVP SQL SERVER]


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:%
> ¿Más eficiente? Pues ahí permite que lo dude, no creo que sea más
> rápido
> leer el registro de la base de datos, transformarlo y luego mostrarlo


con
> la
> aplicación que sea que simplemente abrir el archivo en cuestión
> directamente
> de la ruta indicada...
>
> Bueno, era más que nada por seguir discutiendo, que es divertido ;-)
>
> Yo estoy más del lado de Gustavo...
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Maxi [MVP SQL Server]" escribió en el
> mensaje news:#
>> Gux, no estoy cerrado ni mucho menos!!! solo te comento los problemas q
>> siempre he tenido :(. Ya sabemos q este tema es bastante calentito


porque
> no
>> habra 2 opiniones iguales ni formas de pensar, acepto tu planteo, pero
>> por
>> experiencia sigo guardando las imagenes en la bdd, aunque no lo creas


es
>> mucho mas eficiente que en los filesystem cuando tenes muchas de estas.
>> Antes lo hacia como vos indicas ;-)
>>
>>
>> [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:
>> > 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
#15 Maxi
20/10/2005 - 14:09 | Informe spam
Carlos, y como haces cuando debes por ej pasar la base de un lugar a otro,
donde ese otro es por ej una notebook que necesita esta offline? me imagino
que empezas con backup y restore de bdd y ademas haces un backup de imagenes
y ademas debes cambiar ese ini de ubicacion verdad?

Como has resuelto el tema de reportes donde es necesario imprimir la imagen
? por ej un Cristal Report

Y con respecto a la performance (PROBALO) ;-)


Salu2
Maxi [MVP SQL SERVER]


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:%
¿Más rápido? No sé, me cuesta creerlo, aunque no dudo de tu palabra...

Las ventajas que le veo yo son, indudablemente, de manejo de los datos
y
de simplicidad del sistema: la aplicación no se tiene que encargar de
enviar/recibir y transformar todos los bytes que conforman el archivo cada
vez que se manipule porque dicho archivo ya existe. De este modo me evito
tener que hacer una operación incuestionablemente (aunque para tí sea más
sencillo porque estás acostumbrado a su manejo) más costosa que presentar
el
archivo que se encuentra en la ruta que la base de datos proporciona.

Si cambia la ubicación del archivo no tengo problemas porque yo sólo
almaceno el nombre del mismo, y el resto de la ruta me la proporciona otro
parámetro (leído de una tabla, de una función, etc)

Windows tiene su propia seguridad que puedo implementar como necesite
(el ejemplo que le puso Gustavo es perfecto)

Las copias de seguridad también me las proporciona Windows.

En fin, que de momento no he necesitado almacenar archivos en la base
de
datos y sin embargo, como a tí, me ha ido muy bien...


Un saludo

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

"Maxi" escribió en el mensaje
news:uVuH#
jaja, como te gusta discutir ;-), es mas eficiente aunque no lo creas (yo
jamas lo habia creido hasta que lo probe), si tienes muchos archivos el
engine de SQL es muy rapido comparado con el filesystem :-)

Ademas, ustedes que defienden la otra postura ;-), cuales son las
ventajas
enormes que le ven ??


Salu2
Maxi [MVP SQL SERVER]


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:%
> ¿Más eficiente? Pues ahí permite que lo dude, no creo que sea más
> rápido
> leer el registro de la base de datos, transformarlo y luego mostrarlo


con
> la
> aplicación que sea que simplemente abrir el archivo en cuestión
> directamente
> de la ruta indicada...
>
> Bueno, era más que nada por seguir discutiendo, que es divertido
> ;-)
>
> Yo estoy más del lado de Gustavo...
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Maxi [MVP SQL Server]" escribió en el
> mensaje news:#
>> Gux, no estoy cerrado ni mucho menos!!! solo te comento los problemas
>> q
>> siempre he tenido :(. Ya sabemos q este tema es bastante calentito


porque
> no
>> habra 2 opiniones iguales ni formas de pensar, acepto tu planteo, pero
>> por
>> experiencia sigo guardando las imagenes en la bdd, aunque no lo creas


es
>> mucho mas eficiente que en los filesystem cuando tenes muchas de
>> estas.
>> Antes lo hacia como vos indicas ;-)
>>
>>
>> [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:
>> > 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