Administro una aplicación que contiene un almacén de archivos en el que todos los archivos se almacenan con los nombres de archivo iguales a sus sumas md5. Todos los archivos se almacenan en un directorio. Actualmente hay miles, pero pronto deberían haber millones de archivos en el servidor. El servidor actual ejecuta Ubuntu 11.10 en un sistema de archivos ext4.
Alguien me dijo que no es aconsejable poner muchos archivos en un directorio, ya que esto creará un aumento significativo en el tiempo de búsqueda y la confiabilidad (tenía una historia sobre los archivos máximos que un único directorio podría señalar, lo que resulta en una gran lista vinculada). En su lugar, sugirió crear subdirectorios con, por ejemplo, subcadenas del nombre del archivo. Sin embargo, esto hará que algunas cosas en mi aplicación sean mucho más engorrosas.
¿Sigue siendo cierto o los sistemas de archivos modernos (por ejemplo, ext4) tienen formas más eficientes de lidiar con esto y escalar naturalmente? Wikipedia tiene algunos detalles sobre los sistemas de archivos, pero en realidad no dice nada sobre los archivos máximos por directorio, o los tiempos de búsqueda.