Назад | Перейти на главную страницу

Каталог против файлов для эффективного поиска и извлечения файлов

Я работаю над веб-сайтом, на котором пользователи могут хранить все виды мультимедиа на сервере, и количество пользователей может быть любым.

Я думал, что буду хранить все медиа, загружаемые пользователями, вот так:

MediaRootDIR / UserRootDIR / file.xyz (UserRootDIR уникален для каждого пользователя)

Есть еще один способ сохранить это:

MediaRootDIR / file.xyz

Я не беспокоюсь об организации, потому что у меня все равно есть путь к файлам, хранящимся в БД.

Мой вопрос:

Какой способ быстрее? (Поиск, получение и запись для файловой системы - на данный момент используется файловая система EXT4).

Ускоряет ли использование подкаталогов поиск, поскольку меньше нет. файлов нужно загружать на каждом уровне дерева каталогов?

Целесообразно ли использовать подкаталоги, так как я слышал, что существует ограничение на количество подпапок, которые может иметь папка в EXT4, около 64000

Есть ли лучшая альтернатива такому хранению медиа?

заранее спасибо

РЕДАКТИРОВАТЬ: Конфликты имен не будут для меня проблемой, так как каждый загруженный файл имеет уникальное имя

EXT4 (и даже недавний EXT3 с dirindex опция монтирования) и XFS без проблем хранят миллионы файлов в каталоге. Однако я настоятельно рекомендую вам использовать первый подход (с UserRootDir промежуточный каталог), так как он намного более управляем. Например, подумайте о выпуске простого ls внутри каталога с 1 миллионом файлов против 10.000: первый будет извлекать в 100 раз больше данных, чем второй.