Utilizo gridfs en el trabajo en uno de nuestros servidores, que es parte de un sitio web de comparación de precios con estadísticas de tráfico honorables (alrededor de 25.000 visitantes por día). El servidor no tiene mucha memoria RAM, 2gigs, e incluso la CPU no es realmente rápida (Core 2 duo 1.8Ghz) pero el servidor tiene mucho espacio de almacenamiento: 10Tb (sata) en configuración raid 0. El trabajo que está haciendo el servidor es muy simple:
Cada producto en nuestro comparador de precios tiene una imagen (hay alrededor de 10 millones de productos según nuestro producto db), y el trabajo de los servidores es descargar la imagen, cambiar su tamaño, almacenarla en gridfs y entregarla al navegador de los visitantes. .. si no está presente en la cuadrícula ... o ... envíelo al navegador de los visitantes si ya está almacenado en la cuadrícula. Por lo tanto, esto podría denominarse como un "esquema cdn tradicional".
Hemos almacenado y procesado 4 millones de imágenes en este servidor desde que está en funcionamiento. El cambio de tamaño y almacenamiento se realiza mediante un simple script php ... pero seguro, un script de Python o algo como Java podría ser más rápido.
Tamaño de datos actual: 11,23g
Tamaño de almacenamiento actual: 12,5 g
Índices: 5
Tamaño del índice: 849,65 m
Acerca de la confiabilidad: esto es muy confiable. El servidor no se carga, el tamaño del índice está bien, las consultas son rápidas
Acerca de la velocidad: seguro, ¿no es rápido como almacenamiento de archivos local, quizás un 10% más lento, pero lo suficientemente rápido como para usarse en tiempo real incluso cuando la imagen necesita ser procesada, que en nuestro caso depende mucho de php? Los tiempos de mantenimiento y desarrollo también se han reducido: se volvió tan simple eliminar una o varias imágenes: simplemente consulte la base de datos con un simple comando de eliminación. Otra cosa interesante: cuando reiniciamos nuestro servidor anterior, con almacenamiento de archivos local (millones de archivos en miles de carpetas), a veces se cuelga durante horas porque el sistema estaba realizando una verificación de integridad de archivos (esto realmente tomó horas ...). Ya no tenemos este problema con gridfs, nuestras imágenes ahora se almacenan en grandes trozos de mongodb (archivos de 2gb)
Entonces ... en mi mente ... Sí, gridfs es lo suficientemente rápido y confiable como para usarse en producción.