Estoy escribiendo una función de carga en .NET para la presentación de las imágenes en los perfiles de usuario. Estoy de elegir entre dos diferentes formas de hacerlo, y quisiera pedir consejos y opiniones en cuanto a los pros y los contras.

  1. Almacenar las imágenes directamente en el archivo de sistema

  2. Almacenar las imágenes en la base de datos

Hasta ahora he sido, en su mayoría pro la primera opción de nomenclatura de las imágenes después de los nombres de usuario, ya que cada usuario sólo puede tener una imagen de presentación. Luego hacer una verificación en la zona de la ruta de acceso si el usuario tiene una imagen, si no mostrar un defecto «no imagen»imagen.

Otra cosa que me gusta de esto es que se ahorra espacio en la base de datos – la base de datos va a ser bastante pesado sin el extra de carga binaria.

Estoy seguro de que hay otros aspectos que no he pensado, así que me gustaría escuchar sus opiniones sobre esto. Si alguien tiene una manera radicalmente diferente de la solución al problema, por favor comparte así!

InformationsquelleAutor Marcus L | 2009-02-25

6 Comentarios

  1. 2

    En general, es mejor almacenar los archivos del sistema de archivos. Los sistemas de archivos ya están en sintonía para el almacenamiento de archivos. Sin embargo, esto tiene sus inconvenientes, especialmente en términos de gestión, de copia de seguridad, restaurar y es algo de un endeble empate entre un tipo de datos varchar campo ruta del archivo en la base de datos y un archivo en el sistema de archivos. ¿Qué sistema de base de datos está utilizando? Creo que si usted está utilizando SQL Server 2008, que el nuevo tipo FileStream da un muy buen método para el almacenamiento de archivos en la base de datos.

    Edit: se Nota que realmente estoy hablando más en general sobre el almacenamiento de archivos en la base de datos. Hay algo más de complejidad involucrado en el intento de almacenar imágenes que desea mostrar en las páginas HTML en la base de datos.

  2. 0

    Sistema de archivos es buena, pero no es práctico, con más de 3000 imágenes por carpeta.
    Es mejor escribir automático de creación de carpetas para cada 3000 bloques de imágenes.

    • Sí, de alguna manera entendí mal el poco acerca de las imágenes. Os dejo mi post como la mayoría de los archivos en db vs sistema de archivos de las discusiones en LO general no hablar de FileStream. Creo que para las imágenes que significa visualizar, guardar como archivos.
    • Pero ¿por qué no es práctico para 3000+ archivos? Búsqueda/tiempos de acceso?
    • Sí, el tiempo de acceso a los archivos explota por encima de 1000 por carpeta. Se podría decir que no te importa. Pero, de hecho, su administrador de atención sobre el ayuno de copia de seguridad/restaurar. La solución eficiente es hacer carpetas
  3. 0

    de datos redundancia e inconsistencia de
    dificultad en el acceso de datos
    el aislamiento de los datos
    restricciones de integridad
    la atomicidad problema
    acceso simultáneo y anomalías (updation
    problema de seguridad

  4. 0

    Para fijo (no cambia) contenidos tales como fotos, videos, etc. los sistemas de ficheros no será capaz de escala, especialmente si usted tiene un montón de archivos en un directorio y el rendimiento de sufrir realmente. Una mejor opción es el uso de objetos de la tecnología de almacenamiento que almacena la imagen como un objeto y pone los metadatos asociados en la base de datos automáticamente.

  5. -1

    Acerca de cómo almacenar doc, pdf, xls, jpg?
    Que uno recomienda?

    Voy a trabajar en un sistema de gestión de documentos que se pueden almacenar 10000 archivos, pero el problema es que yo soy muy preocuparse de los virus que se propaga si utilizamos el sistema de archivos de la técnica.

Dejar respuesta

Please enter your comment!
Please enter your name here