¿Habría algún problema conmigo guardando los resultados potenciales de alrededor de 10 millones en archivos separados en un directorio?
Si. Probablemente haya más razones, pero estas puedo publicarlas en la parte superior de mi cabeza:
tune2fs
tiene una opción llamada dir_index
que tiende a encenderse de manera predeterminada (en Ubuntu lo es) que le permite almacenar aproximadamente 100k archivos en un directorio antes de ver un impacto en el rendimiento. Eso ni siquiera está cerca de los 10 millones de archivos en los que está pensando.
ext
Los sistemas de archivos tienen un número máximo fijo de inodes. Cada archivo y directorio usa 1 inodo. Úselo df -i
para una vista de sus particiones e inodos libres. Cuando te quedas sin inodos no puedes crear nuevos archivos o carpetas.
comandos como rm
y ls
cuando se usan comodines expanden el comando y terminarán con una "lista de argumentos demasiado larga". Tendrá que usar find
para eliminar o enumerar archivos. Y find
tiende a ser lento.
¿O es aconsejable dividirlos en carpetas?
Si. Definitivamente. Básicamente, ni siquiera puede almacenar archivos de 10 m en 1 directorio.
Yo usaría la base de datos. Si desea almacenarlo en caché para un sitio web, eche un vistazo a " solr " ("proporcionar indexación distribuida, replicación y consulta de carga equilibrada").