Je gère une application qui contient un magasin de fichiers dans lequel tous les fichiers sont stockés avec des noms de fichiers égaux à leurs sommes md5. Tous les fichiers sont stockés dans un répertoire. Actuellement, il y en a des milliers, mais bientôt il devrait y avoir des millions de fichiers sur le serveur. Le serveur actuel exécute Ubuntu 11.10 sur un système de fichiers ext4.
Quelqu'un m'a dit qu'il n'était pas judicieux de mettre de nombreux fichiers dans un répertoire, car cela entraînerait une augmentation significative du temps de recherche et de la fiabilité (il avait une histoire sur le nombre maximal de fichiers sur lesquels un seul répertoire pourrait pointer, résultant en une grande liste chaînée). Au lieu de cela, il a suggéré de créer des sous-répertoires avec par exemple des sous-chaînes du nom de fichier. Cependant, cela rendra certaines choses dans ma demande beaucoup plus lourdes.
Est-ce toujours vrai, ou les systèmes de fichiers modernes (par exemple, ext4) ont-ils des moyens plus efficaces pour gérer cela et évoluer naturellement? Wikipedia a quelques détails sur les systèmes de fichiers, mais il ne dit rien sur le nombre maximum de fichiers par répertoire, ni sur les temps de recherche.