Simplemente use Amazon S3 y deje que otro equipo maneje las preocupaciones de escalabilidad y rendimiento.
Si eso no está en su presupuesto por cualquier razón, lo más probable es que una ruta de archivo sea lo que desea. Es el camino simple. Las bases de datos no fueron diseñadas para archivos grandes. Puede hacer que funcione con BLOBs y Mongo dice que funciona muy bien (Blog de la comunidad MongoDB.org) … aunque podrían ser un poco sesgados 😉 Si sigue ese camino, es posible que tenga que lidiar con restricciones de tamaño BLOB, problemas de memoria , y leer y escribir puede ser más lento. Si está almacenando otros datos no binarios en la misma base de datos, también puede afectar negativamente el rendimiento. Los sistemas de archivos tienen inconvenientes, pueden comenzar a funcionar mal cuando comienzas a ingresar en cientos de miles de archivos, pero puedes usar un servidor de archivos estático muy simple con apache o nginx para servirlos, lo que reduce una gran cantidad de sobrecarga. Ambas opciones también se verán afectadas por su hardware, como si tiene un SSD, cuánta memoria, etc. Cualquier solución simple se complica cuando desea escalar. Una opción de base de datos no es necesariamente incorrecta y muchas grandes empresas siguen esa ruta para los BLOB. Hay pros y contras, pero fuera de la caja, un sistema de archivos es lo más probable con lo que desea ir. Usar MongoDB o un sistema de archivos debería ser muy fácil de comenzar, es la optimización la que te comerá las noches y los fines de semana. Mi mejor recomendación sería intentar hacer algunas pruebas con sus casos de uso exactos y hardware exacto, aprenderá mucho más sobre lo que es mejor para sus circunstancias que cualquier otra cosa.
- Mi código funciona según lo previsto en el Editor HTML en línea, pero no exactamente en las páginas de github o jsfiddle. ¿Que puedo hacer?
- Estoy creando un sitio web donde los usuarios pueden subir videos. ¿Cómo puedo evitar que los usuarios carguen desnudos? ¿Hay algún algoritmo para eso o alguna solución?
- Cómo obtener un servicio de alojamiento compartido SSD con un buen soporte
- Estoy diseñando un menú de navegación. ¿Algún consejo o truco que lo haga increíble? ¡Gracias!
- Si alojo un sitio HTML simple, sencillo, de una página y codificado a mano en un servidor en casa que no requiere que los usuarios inicien sesión, ¿es probable que mi sitio web pueda ser pirateado?