php - sistemas - Almacenamiento de archivos en la base de datos Vs sistema de archivos
que es almacenamiento en informatica (3)
uno de mis clientes solicita un sistema de gestión de documentos para miles de documentos en diferentes formatos, por ejemplo, pdf, doc, docx, etc. Mi pregunta es ¿cuál es la mejor manera de almacenar este archivo en la base de datos o en el sistema de archivos? ¿Qué tan fácil es asegurar un documento entre los dos enfoques?
La recuperación rápida de los archivos es el requisito clave.
Estoy usando mysql si eso ayuda
Saludos.
Es posible que desee almacenarlo directamente en el sistema de archivos.
Cuando se utiliza el sistema de archivos cuidado con:
- Confidencialidad: coloque documentos fuera de su raíz de documentos de Apache. Entonces un controlador PHP tuyo producirá documentos.
- Ruta fragmentada: no almacene miles de documentos en el mismo directorio, cree diferentes directorios. Puedes compartir con un hash en el nombre de archivo, por ejemplo. Tales como /documents/A/F/B/AFB43677267ABCEF5786692/myfile.pdf.
- Número de inodo : puede quedarse sin inodos si almacena una gran cantidad de archivos pequeños (puede que no sea su caso si almacena principalmente documentos PDF y de Office).
Si necesita buscar estos documentos (fecha / título / etc ...) es posible que desee almacenar metadatos en una base de datos para obtener mejores resultados.
Para su información, en esta pregunta, MS SQL Server tiene el tipo de columna FILESYSTEM (como un híbrido), pero en este momento MySQL no tiene una alternativa .
Utilizar el acceso al sistema de archivos para grandes bloques de datos significa, en general, un acceso más rápido y menos sobrecarga que almacenarlos en una base de datos mysql.
Una publicación interesante y posiblemente relacionada: Almacenamiento de imágenes en DB: ¿Sí o no?
para obtener un alto rendimiento, debe usar el sistema de archivos, usar la función php glob y la interfaz JS. Terminé el proyecto como este en marzo.