Estoy usando la base de Mongo database , PHP , Nodes.js y tengo un problema para guardar archivos.
ya que: el tamaño de los archivos puede ser superior a 1 PB (1000 TB).
En mi mente hay dos formas de hacerlo:
¿La bruja es mejor?
Si tiene otra solución, hágamelo saber.
Para el almacenamiento de datos de gran tamaño, por lo general no desea almacenar los archivos de datos gigantes (como imágenes, archivos de música, archivos de video) en una base de datos.
En su lugar, almacene los archivos grandes en el sistema de archivos (probablemente en varias unidades/servidores) y puede almacenar una referencia de nombre de archivo/volumen en la base de datos junto con cualquier otro metadato relevante.
Esto también le permitirá transmitir estos archivos directamente desde el sistema de archivos al usuario (a pedido del navegador) de manera más eficiente en lugar de tener que traducirlos del formato de la base de datos a lo que le enviaría al usuario.
Y, si va a tener un montón de almacenamiento, probablemente debería diseñar su sistema desde el principio para poder usar fácilmente servicios de almacenamiento en la nube como AWS. Conozco a algunas de las personas detrás de un popular servicio para compartir fotos y cambiaron a usar AWS para el almacenamiento de imágenes, ahorraron mucho dinero y obtuvieron un mejor rendimiento y una redundancia más sencilla. Si aún no está planeando comenzar con un servicio de alojamiento, debería pensar en cómo trasladaría al menos parte de su servicio a uno con el tiempo.