Recientemente, nuestro equipo estaba buscando a FILESTREAM para ampliar las capacidades de nuestra aplicación propietaria. El objetivo principal de esta aplicación es administrar los diversos archivos PDF, imágenes y documentos en todas las piezas que fabricamos. Nuestra aplicación ASP utiliza algunas herramientas de terceros para permitir la visualización de estos archivos. Actualmente tenemos 980 GB de datos en el Fileserver. Tenemos alrededor de 200 GB de datos binarios en SQL Server que nos gustaría extraer, ya que no está funcionando bien, por lo tanto, FILESTREAM parece ser un buen compromiso para los dos principales problemas de almacenamiento/acceso a los datos.FILESTREAM/FILETABLE Aclaraciones para la implementación
Algunas cosas no son exactamente claro para nosotros:
FILESTREAM pueden o no pueden almacenar sus datos en una unidad que no está conectado localmente. Ya tenemos un servidor de archivos con un RAID 10 (unidades de 1.5TB). Este servidor almacena todos los documentos en este momento, ¿tendríamos que mover estas unidades al servidor SQL para FILESTREAM? Eso sería un problema difícil de solucionar ya que el servidor también se está duplicando como servidor de aplicaciones (dos máquinas virtuales en un servidor físico).
FILETABLE almacena los metadatos comunes sobre los archivos, pero ¿dónde está almacenada la parte de texto completo para permitir la búsqueda de archivos como doc/docx? ¿Esto está separado? ¿Puede agregar criterios libremente a esto para buscar? Si es así, cualquier enlace para aclarar sería apreciado.
¿Se puede hacer referencia a FILETABLE en otra tabla con una clave externa?
Gracias de antemano
EDIT: Para los que tienen estas preguntas este vídeo en la web lo cubría todo y más en términos de explicar filestream 2008-2012 y las cavets a tener en cuenta (lo haría en serio lo rep si Podría): http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2270
En conclusión, no usaremos FILESTREAM, ya que sería una gran subida para acomodar la inversión.
EDIT 2:
Update para # 1 - Después de una cuidadosa evaluación de FileTable además de FILESTREAM que tiene una combinación ganadora. Tuvimos que mover los archivos al nuevo servidor (no fue tan doloroso ya que estaban en la misma máquina virtual). Honestamente, se tomó más tiempo para escribir una herramienta de extracción para volcar los datos binarios dentro de SQL al sistema de archivos.
Update para # 2 - Este fue separado pero de nuevo Bob tenido un excelente seminario para explicar esto: http://channel9.msdn.com/Events/TechEd/Europe/2012/DBI411
Update para # 3 - El uso de TFT herencia reciclamos la tabla Docs teníamos (menos los enormes blob binario), que requirieron muy pocos cambios en nuestras aplicaciones heredadas. Este fue un gran resultado para el equipo desarrollador.
Spot on. Nos encontramos con un pequeño inconveniente ya que usamos el marco de la entidad. Recurrimos a usar una tecla programable (como en ninguna restricción FK) para el stream_id. El diseñador EF ignora por completo los FileTables. Acabamos de crear un pequeño proyecto ADO.Net en nuestro proyecto principal para realizar la carga/descarga de documentos. – jjhayter