- Можно ли записывать все в один каталог? Или мне стоит подумать о создании набора подкаталогов для каждого X-файла?
По моему опыту, единственное замедление работы каталога с большим количеством файлов - это если вы делаете такие вещи, как получение списка с помощью ls. Но в основном это вина ls, есть более быстрые способы составления списка содержимого каталога с использованием таких инструментов, как echo и find (см. Ниже).
- Должен ли я требовать использование определенной файловой системы для такого каталога?
Я так не думаю относительно количества файлов в одном каталоге. Я уверен, что некоторые файловые системы работают лучше с большим количеством маленьких файлов в одном каталоге, в то время как другие лучше справляются с большими файлами. Это также вопрос личного вкуса, сродни vi против emacs. Я предпочитаю использовать файловую систему XFS, так что это мой совет. : -)
- Что было бы более надежной альтернативой? Специализированная файловая система? Что?
XFS определенно надежна и быстра, я использую ее во многих местах, в качестве загрузочного раздела, табличных пространств оракула, пространства для управления исходным кодом, как вы его называете. Ему немного не хватает производительности удаления, но в остальном это безопасная ставка. Кроме того, он поддерживает увеличение размера, пока он еще установлен (на самом деле это требование). То есть вы просто удаляете раздел, воссоздаете его в том же начальном блоке и любом другом конечном блоке, который больше исходного раздела, а затем запускаете xfs_growfs на нем с подключенной файловой системой.
- Какие-либо другие соображения / рекомендации?
см. Выше. С добавлением, что наличие 5000-10000 файлов в одном каталоге не должно быть проблемой. На практике это не произвольно замедляет файловую систему, насколько я знаю, за исключением таких утилит, как "ls" и "rm". Но вы могли бы сделать:
find * | xargs echo
find * | xargs rm
Преимущество того, что дерево каталогов с файлами, например, каталог «a» для имен файлов, начинающихся с «a» и т. Д., Даст вам внешний вид, выглядит более организованным. Но тогда у вас меньше обзора ... Так что то, что вы пытаетесь сделать, должно быть хорошо. : -)
Я забыл сказать, что вы могли бы рассмотреть возможность использования чего-то, называемого "разреженными файлами" http://en.wikipedia.org/wiki/Sparse_file