У меня есть FTP, который должен обрабатывать около 1 миллиона файлов, если не больше. размеры файлов варьируются от 1 МБ до 100 МБ, но в среднем составляют 30 МБ. У нас около 1000 ресурсов и сотни тысяч пользователей сайтов, о которых мы ведем учет. Поэтому я подумал, что такое дерево файлов - это хорошо.
res1 -> user1 user2 . . user(m) . . . res1000-> user1 user2 . . user(n)
Другой подход - поместить все файлы в один каталог. Я хочу знать, какой подход более эффективен с точки зрения скорости.
Огромное количество записей в каталоге - плохая идея, даже с такой быстрой файловой системой, как btrfs.
Достаточно сложный вопрос, какое будет оптимальное сочетание глубины и ширины. Но если вопрос просто «1000 x 100 000» против «1 x 100 000 000», то ответ очевиден. Используйте двухуровневый подход.
Но вам следует подумать о дополнительном шаге иерархии и ограничении записей в папке от 1000 до 10000.