Gerencio um aplicativo que contém um armazenamento de arquivos no qual todos os arquivos são armazenados com os nomes de arquivos iguais às somas md5. Todos os arquivos são armazenados em um diretório. Atualmente, existem milhares, mas em breve devem haver milhões de arquivos no servidor. O servidor atual está executando o Ubuntu 11.10 em um sistema de arquivos ext4.
Alguém me disse que não é aconselhável colocar muitos arquivos em um diretório, pois isso criará um aumento significativo no tempo e na confiabilidade da pesquisa (ele tinha uma história sobre o máximo de arquivos que um único diretório poderia apontar, resultando em uma grande lista vinculada). Em vez disso, ele sugeriu criar subdiretórios com, por exemplo, substrings do nome do arquivo. No entanto, isso tornará algumas coisas no meu aplicativo muito mais complicadas.
Isso ainda é verdade ou os sistemas de arquivos modernos (por exemplo, ext4) têm maneiras mais eficientes de lidar com isso e escalar naturalmente? A Wikipedia tem alguns detalhes sobre os sistemas de arquivos, mas na verdade não diz nada sobre o máximo de arquivos por diretório ou tempos de pesquisa.