imagenes en una BD de SQLServer

30/11/2006 - 20:57 por SergioT | Informe spam
Hola
en la aplicacion que estoy desarrollando necesito guardar imaganes que son
fotos y firmas de los clientes, para verificaciones visuales en caja, pero
la base de datos que tengo ya es bastante grande, estaba pensando crear una
BD nueva y en ella tener una tabla que tenga los siguientes campos
"CodCliente,Foto1,Foto2,Firma", esto implicara qiue si quiero ver la foto
de un cliente deberé hacer algo así

select *
from Cliente C
inner join BDFotos.dbo.ClienteImagenes F
ON C.CodCli=F.codcli

la pregunta es:

es buena idea separar la base de datos de imagenes de la de datos? por el
peso sobre todo,
influye en el desempeño de la consulta el hecho de tener imagenes
almacenadas en la BD y en otra BD

Que me sugieren para manejar las imagenes de la forma mas eficiente y segura
posible

Espero sus comentario, gracias de antemano
Salu2
Sergio T.

Preguntas similare

Leer las respuestas

#16 Miguel egea
04/12/2006 - 22:32 | Informe spam
jejeje :), en españa eso se dice sostenella y no enmendalla, :)
Así es la vida :)

Saludos

"Maxi" wrote in message
news:
Hola Miguel, entendido, mi concepto estaba totalmente equivocado, de hecho
me lo han enseñado en la universidad asi por años :(, yo entonces lo que
queria apuntar en mi post es a Adaptabilidad de la aplicacion, en el
sentido de facilidad.
Gracias por el hilo, me han desterrado un concepto erroneo :), de todas
maneras me gusta poner las imagenes en la bdd ;-)

"Miguel egea" escribió en el mensaje
de noticias:
Maxi, no te sientas ofendido, escalabilidad no es eso, no hay más
conceptos que los que ha descrito gustavo.

Saludos
Miguel Egea

"Maxi" wrote in message
news:%
Bueno, quizas tengamos conceptos distintos de escalabilidad :), tambien
es la posibilidad de tener un server p4 y subir a un x64 tocando lo
menos posible la aplicacion, o bien si tengo una FASTI y quiero migrar a
otra FASTI que pueda escalar de HW sin cambiar casi nada en la
aplicacion, si las imagenes las tengo apuntadas a un filesystem de
seguro tendre que cambiar esa ruta si quiero cambiar el entorno del HW.
Pero bueno son maneras de ver las cosas o hasta conceptos errados :(
Tambien en temas de mantenimiento es mejor para mi la imagen dentro, en
modelos de disaster recovery puede ayudar mucho y con mirror en 2005 ni
la aplicacion tocas :) (con cluster es cierto q tampoco pero es mas
cotoso claro ;)


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Miguel egea" wrote in message
news:%
Maxi, con todos mis respetos, eso que dices no es escalabilidad, vamos
por partes.

Separar en filegroups puede mejorar el rendimiento para tu situación,
pero como hemos discutido muchas veces, por la arquitectura de SQL las
imágenes se grabarán 2 veces una en el log y otra en los archivos de
datos, por tanto es al menos el doble de coste de disco (es más
incluso).

Escalar implica que se admitan más conexiones, y metiendo las imágenes
en la base de datos jamás jamás jamás hará que sea más escalable.

¿escalar hacia arriba? Te refieres a ¿ escalabilidad vertical?
confundes el concepto, eso solo quiere decir que se puede poner una
máquina más grande.

Tenerlo en el filesystem implica quizá una pequeña sobrecarga en el
control de permisos y todo esto es cierto, pero consumirá casi seguro
menos recuros

Lo demás que dices puede afectar a la disponibilidad (nunca a la
escalabilidad) pero aún así es mucho más que discutible.

En resumen, creo que simplemente tienes un error de conceptos, eso que
describes puede ser muchas cosas ,pero nunca nunca es escalabilidad.

En cualquier caso yo no estoy ni de acuerdo ni en desacuerdo con meter
imágenes y o documentos en la BBDD. Solo que me sorprendío muchísimo
que dijeses que es más escalable. No lo es, te equivocas, has
confundido el concepto, pero :-) no pasa nada..

Saludos
Miguel Egea


"Maxi" wrote in message
news:%
Hola, claro que me ha solucionado problemas de escalabilidad, por ej
de cambiar de un server a otro y lo unico que cambie en las
aplicaciones fue la cadena de conexion, tambien me ha permitido en
casos donde queria tener mas fino el tunig separar en filegroups.
En otras palabras pude escalar hacia arriba en los servers sin mucho
esfuerzo desde el lado de las aplicaciones, me ha pasado tambien en
planes de contingencia que me ha ayudado bastante ya que hice un
restore en otro server y tenia todo funcionando de inmediado. O sea, a
nivel administrativo para mi es una ventaja y tambien me ha pasado en
varios clientes que algunos auditores me han cuestionado de tener los
documentos sin control , o sea: como se entaraba la aplicacion que en
el filesystem habia un cambio, se que es un tema muy discutido de
hecho yo antes lo ponia fuera, pero cuando espece a despejar algunas
cuestiones como que decian q era lento, etc, etc, eso jamas me ha
pasado y pude ver que SQLServer esta bien preparado para trabajar con
este tipo de datos dentro, de hecho ahora en 2005 se puede hacer lo
mismo con el CLR, XML, etc, estos reciden dentro y no hace referencia
el motor a partes externas :)


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Miguel egea" wrote in message
news:%
¿eso te ha solucionado problemas de escalabilidad? De veras no
imagino como, meter esos objetos tiene ventajs e inconvenientes que
hemos discutido demasiadas veces, pero desde luego no mejoran en
absoluto la escalabilidad de un sistema., al menos yo no logro ver
como


Saludos
Miguel Egea

"Maxi" wrote in message
news:
jjaa, sigo opinando y ejecutando lo mismo, objetos dentro de la bdd
y las imagenes tambien :) esto me ha solucionado problemas de
escalabilidad y tambien pude en algunos casos asegurar la operacion
ya que algunos audiores ISO me han traido dolores de cabeza con el
otro metodo ;)


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Gustavo Larriera (MVP)" wrote in message
news:
SergioT wrote:


es buena idea separar la base de datos de imagenes de la de datos?
por el peso sobre todo,
influye en el desempeño de la consulta el hecho de tener imagenes
almacenadas en la BD y en otra BD

Que me sugieren para manejar las imagenes de la forma mas
eficiente y segura posible



Busca en este mismo foro, hemos discutido varias veces ese tema.
Las opiniones son diversas y todas válidas.

Personalmente, prefiero tener las imágenes almacenadas en el file
system y no en tablas de la base de datos.

El amigo Maxi opina lo contrario, si es que aún no se ha convencido
de algo mejor :-) :-) :-)


Gustavo Larriera, MVP
Solid Quality
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna
clase / This message is provided "AS IS" with no warranties
expressed or implied, and confers no rights.



























Respuesta Responder a este mensaje
#17 Maxi
05/12/2006 - 13:09 | Informe spam
:-)


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Miguel egea" escribió en el mensaje
news:%232v21I$
jejeje :), en españa eso se dice sostenella y no enmendalla, :)
Así es la vida :)

Saludos

"Maxi" wrote in message
news:
Hola Miguel, entendido, mi concepto estaba totalmente equivocado, de
hecho me lo han enseñado en la universidad asi por años :(, yo entonces
lo que queria apuntar en mi post es a Adaptabilidad de la aplicacion, en
el sentido de facilidad.
Gracias por el hilo, me han desterrado un concepto erroneo :), de todas
maneras me gusta poner las imagenes en la bdd ;-)

"Miguel egea" escribió en el mensaje
de noticias:
Maxi, no te sientas ofendido, escalabilidad no es eso, no hay más
conceptos que los que ha descrito gustavo.

Saludos
Miguel Egea

"Maxi" wrote in message
news:%
Bueno, quizas tengamos conceptos distintos de escalabilidad :), tambien
es la posibilidad de tener un server p4 y subir a un x64 tocando lo
menos posible la aplicacion, o bien si tengo una FASTI y quiero migrar
a otra FASTI que pueda escalar de HW sin cambiar casi nada en la
aplicacion, si las imagenes las tengo apuntadas a un filesystem de
seguro tendre que cambiar esa ruta si quiero cambiar el entorno del HW.
Pero bueno son maneras de ver las cosas o hasta conceptos errados :(
Tambien en temas de mantenimiento es mejor para mi la imagen dentro, en
modelos de disaster recovery puede ayudar mucho y con mirror en 2005 ni
la aplicacion tocas :) (con cluster es cierto q tampoco pero es mas
cotoso claro ;)


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Miguel egea" wrote in message
news:%
Maxi, con todos mis respetos, eso que dices no es escalabilidad,
vamos por partes.

Separar en filegroups puede mejorar el rendimiento para tu situación,
pero como hemos discutido muchas veces, por la arquitectura de SQL las
imágenes se grabarán 2 veces una en el log y otra en los archivos de
datos, por tanto es al menos el doble de coste de disco (es más
incluso).

Escalar implica que se admitan más conexiones, y metiendo las imágenes
en la base de datos jamás jamás jamás hará que sea más escalable.

¿escalar hacia arriba? Te refieres a ¿ escalabilidad vertical?
confundes el concepto, eso solo quiere decir que se puede poner una
máquina más grande.

Tenerlo en el filesystem implica quizá una pequeña sobrecarga en el
control de permisos y todo esto es cierto, pero consumirá casi seguro
menos recuros

Lo demás que dices puede afectar a la disponibilidad (nunca a la
escalabilidad) pero aún así es mucho más que discutible.

En resumen, creo que simplemente tienes un error de conceptos, eso que
describes puede ser muchas cosas ,pero nunca nunca es escalabilidad.

En cualquier caso yo no estoy ni de acuerdo ni en desacuerdo con meter
imágenes y o documentos en la BBDD. Solo que me sorprendío muchísimo
que dijeses que es más escalable. No lo es, te equivocas, has
confundido el concepto, pero :-) no pasa nada..

Saludos
Miguel Egea


"Maxi" wrote in message
news:%
Hola, claro que me ha solucionado problemas de escalabilidad, por ej
de cambiar de un server a otro y lo unico que cambie en las
aplicaciones fue la cadena de conexion, tambien me ha permitido en
casos donde queria tener mas fino el tunig separar en filegroups.
En otras palabras pude escalar hacia arriba en los servers sin mucho
esfuerzo desde el lado de las aplicaciones, me ha pasado tambien en
planes de contingencia que me ha ayudado bastante ya que hice un
restore en otro server y tenia todo funcionando de inmediado. O sea,
a nivel administrativo para mi es una ventaja y tambien me ha pasado
en varios clientes que algunos auditores me han cuestionado de tener
los documentos sin control , o sea: como se entaraba la aplicacion
que en el filesystem habia un cambio, se que es un tema muy discutido
de hecho yo antes lo ponia fuera, pero cuando espece a despejar
algunas cuestiones como que decian q era lento, etc, etc, eso jamas
me ha pasado y pude ver que SQLServer esta bien preparado para
trabajar con este tipo de datos dentro, de hecho ahora en 2005 se
puede hacer lo mismo con el CLR, XML, etc, estos reciden dentro y no
hace referencia el motor a partes externas :)


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Miguel egea" wrote in message
news:%
¿eso te ha solucionado problemas de escalabilidad? De veras no
imagino como, meter esos objetos tiene ventajs e inconvenientes que
hemos discutido demasiadas veces, pero desde luego no mejoran en
absoluto la escalabilidad de un sistema., al menos yo no logro ver
como


Saludos
Miguel Egea

"Maxi" wrote in message
news:
jjaa, sigo opinando y ejecutando lo mismo, objetos dentro de la bdd
y las imagenes tambien :) esto me ha solucionado problemas de
escalabilidad y tambien pude en algunos casos asegurar la operacion
ya que algunos audiores ISO me han traido dolores de cabeza con el
otro metodo ;)


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Gustavo Larriera (MVP)" wrote in
message news:
SergioT wrote:


es buena idea separar la base de datos de imagenes de la de
datos? por el peso sobre todo,
influye en el desempeño de la consulta el hecho de tener imagenes
almacenadas en la BD y en otra BD

Que me sugieren para manejar las imagenes de la forma mas
eficiente y segura posible



Busca en este mismo foro, hemos discutido varias veces ese tema.
Las opiniones son diversas y todas válidas.

Personalmente, prefiero tener las imágenes almacenadas en el file
system y no en tablas de la base de datos.

El amigo Maxi opina lo contrario, si es que aún no se ha
convencido de algo mejor :-) :-) :-)


Gustavo Larriera, MVP
Solid Quality
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna
clase / This message is provided "AS IS" with no warranties
expressed or implied, and confers no rights.































email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida