Antecedentes:Ubicación recomendada para el almacenamiento de documentos, en la base de datos o en otro lugar?
Tenemos un sistema interno de almacenamiento de documentos que se implementó hace mucho tiempo. Por el motivo que sea, se eligió usar la base de datos como mecanismo de almacenamiento para los documentos.
Mi pregunta es la siguiente:
¿Cuál es la mejor práctica para el almacenamiento de documentos? ¿Cuáles son las alternativas? ¿Cuáles son los pros y los contras? Las respuestas no tienen que ser específicas de la tecnología o la plataforma, sino más bien una pregunta general sobre las mejores prácticas.
Mis Pensamientos:
bases de datos no son para el almacenamiento de documentos. File Systems o sistemas de gestión de documentos de terceros pueden ser de mejor uso. El almacenamiento de documentos en bases de datos es costoso. Las operaciones son lentas ¿Son estas suposiciones lógicas? Tal vez esto sea lo mejor, pero en mi opinión, tenemos mejores alternativas. ¿Podría Oracle BFILE (enlaces a documentos en NAS o SAN) ser mejor que BLOB/CLOB?
Detalles:
- Documentos varios tipos (pdf, word, xml)
- El código de etapa intermedia está escrito en .NET 2.0/C#
- documentos se almacenan en un Oracle 10g base de datos en BLOB con compresión (Almacenamiento NAS)
- Tamaño de archivo rabia
- El número de documentos está creciendo drásticamente y no tiene signos de desaceleración
- Inserciones es normalmente se encuentra en los hunderds por hora durante el pico
- retreival está típicamente en los miles por hora durante el pico
- de almacenamiento NAS y SAN de almacenamiento está disponible
ACTUALIZACIÓN (a partir de las siguientes preguntas):
- mi fuerte es el desarrollo
- se asocia meta-datos sobre los archivos almacenados junto a los archivos de la base de datos
¿Necesita versiones, auditoría o estructuras de seguridad complicadas? ¿Necesita asociar metadatos con cada archivo? – Bravax
Es posible que desee consultar http://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay, esa pregunta se refiere a las imágenes en una base de datos, pero algunas respuestas pueden ser aplicables. –