Pregunta

¿Es una buena idea para almacenar archivos de vídeo en una base de datos como objetos BLOB o almacenarlos en un disco físico.

Esto es para un sitio similar a YouTube, donde los usuarios pueden subir su video y verlas

base de datos MySQL sería

¿Qué opción es mejor y por qué

Gracias

¿Fue útil?

Solución

Pro MySQL: - El BLOB puede estar sujeto a las claves externas y mantener así la base de datos redundantes en lugar de guardar en el sistema de archivos. En este caso hay que programar el borrado del archivo. -. Grano fino permisos de usuario

En contra: - MySQL no se ejecuta de forma gratuita, se trata con una sobrecarga en comparación con la porción del sistema de ficheros. - servidores web no se puede servir directamente BLOB de la base de datos. Esto significa PHP tendrá que mediar en el proceso. Cuando el BLOB se carga de MySQL con PHP, el uso de la memoria será al menos tan grande como el BLOB. Así que en su caso en el que los archivos puedan estar en funcionamiento en los cientos de MB de esto pondría una enorme presión en el servidor web.

En toda la realidad MySQL no es ment ser utilizado para guardar archivos. BLOB se utilizan sobre todo para salvar ammounts Lare de datos serializados como cachés.

Otros consejos

Estoy usando NFS para almacenar contenido multimedia desde alrededor de 5 años, sin problemas en perspectiva de almacenamiento. La manipulación, la codificación y el ahorro son gestionados a través de ffmpeg, scripts PHP y cron puestos de trabajo. metadatos de vídeo se almacenan en una base de datos MySQL y la entrega web se proporciona a través de Nginx (a través de una lectura única de montaje NFS). Los archivos de vídeo tamaño de hasta 2 GB en este entorno. Es probable que pueda ir más rápido en otro motor de base pero, los residuos en tiempo real se debe al proceso de codificación y no para guardar archivos.

Cuando estoy ahorrando miles de pequeñas imágenes (como avatares) que jamás usan MySQL sólo para almacenar archivos de metadatos (ruta de la imagen y otras propiedades) y no guardar archivo en un campo BLOB que puede ralentizar el db demasiado en consultas pesadas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top