Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-03-2012
RRenault RRenault is offline
Miembro
 
Registrado: may 2003
Posts: 10
Poder: 0
RRenault Va por buen camino
Guardar varias Imagenes JPG en un archivo encriptado o en Base de Datos

Hola a todos, estoy tratando de hacer un modulo de Digitalizacion de Documentos.
Se que se ha tratado en varios hilos si guardarlo en base de datos on un directorio, pero aun tengo la duda por el tamaño de la Base de Datos.
Pero si alguien tiene experiencia en guardarla en base de datos, me pudieran dar algunas pautas esenciales a tomar en cuenta.
Como tamaño de la imagen, formato, osea alguna idea sobre la experiencia adquirida.

Si es en directorio, podria Guardar varios jpg en un solo archivo, por ejemplo:
Una Compra a un proveedor poder escanear: 1.-La Factura, 2.- El Cheque de Pago, 3.- El Conduce.
Guardarlo en un solo Archivo encriptado, para que sea solo leido desde el programa en delphi. O descomponerlo en dos Archivos X y Y para luego unirlos.

Seria de gran ayuda, cualquier sugerencia tomando en cuenta la idea expresada anteriormente.
Responder Con Cita
  #2  
Antiguo 17-03-2012
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Hola.

Ese tema se debatió en este hilo ampliamente. De una forma o de otra, si tienes requerimientos altos de seguridad yo casi optaría por meterlos dentro de la base de datos en lugar de andar encriptando/desencriptando archivos.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 17-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por newtron Ver Mensaje
Hola.
Ese tema se debatió en este hilo ampliamente. De una forma o de otra, si tienes requerimientos altos de seguridad yo casi optaría por meterlos dentro de la base de datos en lugar de andar encriptando/desencriptando archivos.
Saludos
Totalmente de acuerdo, dentro de la BD es "una ristra" de caracteres sin sentido, alguien externo no puede saber si es una imagen, sonido, video, documento, etc.
Lo de unirlos y separarlos me parece innecesario, simplemente se guardan en la BD por separado sencillamente.
En cuanto al tamaño, creo que no has dicho qué BD vas a usar, yo tengo la experiencia con firebird y la mayor BD que tiene uno de mis clientes pasa los 30 GB, aunque hay compañeros que tienen BDs bastante mayores.
Responder Con Cita
  #4  
Antiguo 22-03-2012
RRenault RRenault is offline
Miembro
 
Registrado: may 2003
Posts: 10
Poder: 0
RRenault Va por buen camino
Gracias a Newtron y Casimiro, me ha servido de mucho este hilo.
Responder Con Cita
  #5  
Antiguo 22-03-2012
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Me quedo con esto:

Cita:
Un profesor nos decía "¿Puedes hacer una query a un campo binario que te devuelta todos los registros donde hay imágenes de morenas con ojos verdes? ¡¡¡NO!!! Entonces... ¿Porqué guardas la fotografía en la base de datos si no puedes saber que hay en ese campo?"
Ahora hablando en serio: Nunca guardaría ese tipo de información (imágenes, audio) en una base de datos.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #6  
Antiguo 22-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues como estén fuera de la BD entonces sí que no podrás acceder a ellas con una sql
Además, para el caso que nos ocupa, le viene perfecto, quedan "encriptados" y si alguien consigue la BD no puede verlas, ya que son datos binarios en una BD, le viene perfecto.
Responder Con Cita
  #7  
Antiguo 22-03-2012
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por rretamar Ver Mensaje
Nunca guardaría ese tipo de información (imágenes, audio) en una base de datos.
¿Nos argumentas esa afirmación?
__________________
Be water my friend.
Responder Con Cita
  #8  
Antiguo 22-03-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Así como la base en sí (el o los archivos físicos) deben estar bien protegidos por el S.O contra ojos extraños, lo mismo sucede con las imágenes. No veo porqué eso sería un argumento para guardarlas en la base en lugar de archivos sueltos.

Por otro lado, hasta hace no mucho yo era de la idea de guardar los archivos binarios en la base pues, a fin de cuentas, si existen los campos BLOB por algo será ¿no es así? Quizá. Pero lo cierto es que hasta hace muy poco fue que me vi en la necesidad real de guardar imágenes y lo hice siguiendo el principio de los BLOB. Duró un rato y ahora tengo todas las imágenes en archivos separados.

Una de las razones es que, al menos con MySQL, el manejo es espantoso. Muy posiblemente otros gestores lo hagan mejor pero MySQL no y tan sólo añadir una columna nueva a la tabla se convirtió en una pesadilla. Es decir, cualquier alteración a la estructura de la tabla, incluída la adición de índices, se hizo muy, muy lenta.

Por otra parte, los respaldos se hacen inevitablemente más tardados y en mi caso, no valía la pena la demora ya que no se trataba de datos con muchos cambios.

En fin que, según que gestor será la recomendación, pero con MySQL, yo díría: imágenes en la base NO.

// Saludos
Responder Con Cita
  #9  
Antiguo 23-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
En fin que, según que gestor será la recomendación, pero con MySQL, yo díría: imágenes en la base NO.
Puedo confirmar después de años de usarlos, que con Firebird no hay ningún problema de los que has comentado, así que yo diría: imágenes en la base SI
Responder Con Cita
  #10  
Antiguo 23-03-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Yo utilizo SQL SERVER 2005 Express, en los campos varbinary(MAX) donde se guardan de todo, PDF, JPG, DOC, XLS, etc.., no hay ningún problema de guardar ni de recuperar, tanto local como por Internet, en este caso un poco mas lento, pero muy satisfecho, nose a que velocidad recupera una imagen o un pdf en firebird, en sql server es muy aceptable por internet, a nivel local impresionante, aún no he probado SQL SERVER 2008 Express, como lo hará, pero si 2005 funciona bien el 2008 tiene que ir mejor, si MySQL es tan malo, porque no cambiar de DB y pasarse a Firebird o SQL SERVER Express, son DB gratuitas, de momento SQL SERVER Express.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.

Última edición por olbeup fecha: 23-03-2012 a las 08:59:08.
Responder Con Cita
  #11  
Antiguo 23-03-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por olbeup Ver Mensaje
si MySQL es tan malo, porque no cambiar de DB y pasarse a Firebird o SQL SERVER Express, son DB gratuitas, de momento SQL SERVER Express.
Bueno, yo mencioné que en cuestión de blobs, MySQL es muy malo. Tú ya lo generalizaste. También puedo decir que los procedimientos almacenados en MySQL son muy lentos. Aún así, en muchas cosas MySQL se comporta muy bien.

Si cambiara de BD, creo que optaría por PostgreSQL. De hecho está en mi panorama. Podría ser Firebird, pero en mi ambiente Firebird es un gran desconocido.

// Saludos
Responder Con Cita
  #12  
Antiguo 26-03-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Yo no digo que MySQL sea malo, de hecho casi todas las página WEB se basan en MySQL, lo que se está hablando es de los BLOB no del motor ni el rendimiento de MySQL, si lo que más utilizas es algo que no funciona bien como los BLOB, que es tu principal, cambia de motor y pásate a otro que cumpla o cubra tus necesidades como son los BLOB.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar imagenes en una base de datos eudy.net Conexión con bases de datos 15 28-03-2011 13:19:56
guardar y mastrar imagenes en una base de datos cahosoft JAVA 2 24-06-2006 20:48:12
Guardar varias imagenes en una sola maravert Gráficos 2 28-02-2005 17:19:29
Guardar una archivo de imagen (bmp,jpg..etc), en la base de datos cahosoft Firebird e Interbase 4 31-07-2004 16:53:56
Guardar imagenes en una base de datos PTW Varios 1 09-04-2004 14:50:16


La franja horaria es GMT +2. Ahora son las 16:32:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi