Хорошо известно, что в Windows каталог со слишком большим количеством файлов будет иметь ужасную производительность при попытке открыть один из них. У меня есть программа, которая должна выполняться только в Linux (в настоящее время она находится на Debian-Lenny, но я не хочу быть конкретным в этом дистрибутиве) и записывает много файлов в тот же каталог (который действует как репозиторий). Под "многими" я имею в виду десятки каждый день, а это значит, что через год я ожидаю иметь что-то вроде 5000-10000 файлов. Они должны храниться (как только файл создается, он никогда не удаляется), и предполагается, что жесткий диск имеет требуемую емкость (если нет, он должен быть обновлен). Эти файлы имеют широкий диапазон размеров: от нескольких килобайт до десятков МБ (но не намного больше). Имена всегда являются числовыми значениями, сгенерированными поэтапно. Я беспокоюсь о долговременной деградации производительности, поэтому я бы спросил:
- Можно ли написать все в один каталог? Или я должен думать о создании набора подкаталогов для каждого файла X?
- Должен ли я использовать определенную файловую систему для такого каталога?
- Какая была бы более надежная альтернатива? Специализированная файловая система? Что?
- Любые другие соображения/рекомендации?