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.
- ¿Cómo se construye una API?
- Ayer descargué una nueva versión de Bootstrap. Hice cambios de CSS Bootstrap en una nueva hoja de estilo CSS. Pero cuando ejecuto el localhost en el navegador, no hay cambios. Antes de descargar una nueva versión de Bootstrap, los cambios aparecen cuando se ejecuta en localhost. ¿Hay alguna solución?
- Estoy desarrollando un sitio web para una gran escuela donde el 76% son espectadores móviles y estoy preocupado por la seguridad. ¿Debo usar AJAX o seguir con PHP?
- Quiero crear una pila completa de desarrolladores de sitios web, ¿cómo puedo elegirlos y qué debemos hacer primero para ser profesionales algún día?
- He descubierto que soy aficionado al desarrollo web. ¿Es este cambio de carrera responsable por ahora y lucrativo para el futuro?