Ver Mensaje Individual
  #19  
Antiguo 04-05-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Hay otra alternativa que combina lo mejor de los dos mundos (qué bien me ha quedado ).
Y lo peor también...

Cita:
Empezado por Casimiro Notevi Ver Mensaje
En ciertos proyectos he usado 2 bases de datos, una para los datos y otra para las imágenes. A ver... pros y contras
Partiendo de la Base de que no hay solución genérica para todos los casos. Porque la solución tiene mucho que ver con determinados aspectos que cambian en cada caso concreto.
* Tamaño total y/o número de ficheros. Cambia todos los planteamientos tener una Base de Datos de 5 GB o tener una de varios TB.
* Uso que se hace de ellos y las operaciones que necesites.
* Requerimientos de seguridad (lo han comentado Julián y pacopenin).

Volviendo a lo comentado por Casimiro se me ocurre:

PROS:
* Las operaciones con las imágenes no perjudican el resto de accesos a la Base de Datos. Bueno si hay muchas operaciones que no implican a las imágenes, porque eso mantiene la BD "sin imágenes" más pequeña, más manejable, más ágil...
* Mejora sustancial de las copias de seguridad (respecto a 1 Base de Datos). Seguramente la copia de la BD-Datos será más habitual, mientras que la BD-Imagenes se puede hacer con una cadencia más pequeña. El movimiento de datos en la 1ª seguramente será mucho más alto que en la segunda, de forma que podemos adecuar la periodicidad de las copias a esa relación.


CONTRA:

* Las consultas se me antojan más complejas incluso se deberán realizar más consulta para obtener lo mismo que si estubiera todo junto.
* (sólo para casos de gran volumen) Los SGBD's no están pensados para obtener máxima eficiencia en este escenario (2 Bases de datos o 2 servidores); Es más, se me antoja que las consultas con esta estructura serán poco eficientes.
* Un borrado o una actualización implica doble de operaciones.
* Dudas sobre la "integridad de los datos" si están en BD diferentes. Claves foráneas?¿?¿?


Cita:
Empezado por pacopenin Ver Mensaje
Si los archivos están "fuera" son accesibles por lo usuarios sin pasar por el filtro de la base datos. Pueden ser vistos, modificados y eliminados desde fuera de la aplicación. Si esto es un factor importante también debe ser tenido en cuenta. Mi experiencia me inclina hacia la solución de guardarlo en la base de datos y si el número de archivos se estima realmente alto, guardarlo en varias BBDD como comenta Casimiro, incluso por años, o por tipos de archivo (imagenes, pdf, doc) etc.
Es algo que hay que tener en cuenta, pero no quiere decir que deba ser así. En ese caso se trata de que los ficheros no sean accesibles para todo el mundo. Una opción, por ejemplo es crear un "servidor de ficheros".
Básicamente es un programita al que le pides (utilizando tu autentificación) el fichero que necesitas, de forma que el único que tiene acceso a los ficheros es el servidor y lo que hace es recibir peticiones y "servir" ficheros.

Esto implica una sobrecarga de programación y volvemos a lo de siempre. Depende de cómo sea el proyecto tendrá sentido asumirla o no.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita