Que te interese guardarlos en BD o sistema de ficheros depende de muchas cosas... pero casi siempre es mejor hacerlo en BD.
Asumo que "guardar en filesystem" significa tener una tabla de la BD con un path que apunta al fichero, estando este guardado en disco, ya que guardar ficheros "a lo bruto" rara vez sirve para nada.
Ventajas de guardarlos en BD:
- La BD te gestiona la seguridad de forma coherente con el resto de la información, en el filesystem tendrías tu que preocuparte de mantener coherentes las ACL con la seguridad que hayan introducido en BD.
- El acceso es transaccional: si a mita de escritura se va todo al garete, rollback y aquí no ha pasado nada. En filesystem... no he visto nunca a NADIE implementar el acceso como dios manda, en caso de error el fichero queda corrupto y no hay forma de volver atrás. Pero es que hacerlo bien es un suplicio.
- Los backups son más sencillos.
- Puedes usar sistemas de replicación para tener tolerancia a fallos manteniendo la coherencia entre la BD y los ficheros. Si los ficheros van por libre, normalmente ni tolerancia a fallos ni nada.
- Te despreocupas de gestionar los path (¿qué pasa si necesitas más espacio y quieres guardar más ficheros en otro disco?)
Desventajas de guardarlos en BD:
- Si los ficheros son para que los use una aplicación externa (por ejemplo, documentos de word), tendrás que copiarlos a un fichero temporal local antes de abrirlos, y eso consume tiempo (ej: ficheros de video).
- A veces los ficheros no tienen significado aislados, sino que forman una estructura (por ejemplo, los ficheros .IFO y .VOB de un DVD). Hay que guardar esa estructura en la BD, y ahí empiezan los líos.
Resumiendo: como primer intento, guardalos en BD. Si tienes problemas, entonces te comes el tarro para guardarlos en filesystem, pero para hacerlo bien... agarrate que vienen curvas.
Depende, pero normalmente en BD
(Puntos:1)Que te interese guardarlos en BD o sistema de ficheros depende de muchas cosas... pero casi siempre es mejor hacerlo en BD.
Asumo que "guardar en filesystem" significa tener una tabla de la BD con un path que apunta al fichero, estando este guardado en disco, ya que guardar ficheros "a lo bruto" rara vez sirve para nada.
Ventajas de guardarlos en BD:
- La BD te gestiona la seguridad de forma coherente con el resto de la información, en el filesystem tendrías tu que preocuparte de mantener coherentes las ACL con la seguridad que hayan introducido en BD.
- El acceso es transaccional: si a mita de escritura se va todo al garete, rollback y aquí no ha pasado nada. En filesystem... no he visto nunca a NADIE implementar el acceso como dios manda, en caso de error el fichero queda corrupto y no hay forma de volver atrás. Pero es que hacerlo bien es un suplicio.
- Los backups son más sencillos.
- Puedes usar sistemas de replicación para tener tolerancia a fallos manteniendo la coherencia entre la BD y los ficheros. Si los ficheros van por libre, normalmente ni tolerancia a fallos ni nada.
- Te despreocupas de gestionar los path (¿qué pasa si necesitas más espacio y quieres guardar más ficheros en otro disco?)
Desventajas de guardarlos en BD:
- Si los ficheros son para que los use una aplicación externa (por ejemplo, documentos de word), tendrás que copiarlos a un fichero temporal local antes de abrirlos, y eso consume tiempo (ej: ficheros de video).
- A veces los ficheros no tienen significado aislados, sino que forman una estructura (por ejemplo, los ficheros .IFO y .VOB de un DVD). Hay que guardar esa estructura en la BD, y ahí empiezan los líos.
Resumiendo: como primer intento, guardalos en BD. Si tienes problemas, entonces te comes el tarro para guardarlos en filesystem, pero para hacerlo bien... agarrate que vienen curvas.