Задать вопрос
turbinikarpus
@turbinikarpus

Какая идеальная структура каталога для картинок и почему?

Почитал статьи в интернетах. Но, все равно интересуют ответы от тех, кто на реальных проектах делал замеры структуры каталога и поиска по нему определенного файла из большого количества ( 1к+ или 10к+ и больше) имеющихся файлов.
В моем случаи это картинки (фотографии).

Я читал, что если в одной папке содержатся все картинки (10к файлов), то поиск нужной одной или трех картинок увеличивается по времени. А если разделять каталог на субкаталоги, где идет ограничение к примеру по 100 картинок, то поиск происходит быстрее.

Соответствует это действительности на практике?
Я считаю, что по логике да, но в реальности у меня еще нету такого объема, но он намечается в скором будущем.

p.s. поправьте пожалуйста теги, если я не правильно расставил, спасибо.
  • Вопрос задан
  • 206 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
DevMan
@DevMan
Функция glob() в PHP? - тест 8-летней давности на выборку файлов по маске с директории в 200 000 файлов.

файловой системе фиолетово один файл в директории или 100500, на скорости прямого доступа к файлам это не отразиться.
а дальше все зависит от того, каким образом вы собрались организовывать поиск.
Ответ написан
@stratosmi
Во первых есть ограничения файловой системы на количество. См. inode

Во вторых для большого количества используется вообще внефайловое хранение. См. https://habr.com/company/yandex/blog/228389/ например.
Зачастую хостеры предлагают уже готовые развернутые на их серверах варианты cloud strorage. Например, Amazon S3 (у разных хостеров, не только у Amazon), OpenStack Swift (у разных хостеров), Google Cloud Storage.
Самому развернуть и поэкспериментировать можно например с minio https://github.com/minio/minio
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
neatsoft
@neatsoft
Life is too short for bad software
В качестве имён файлов можно использовать хэш содержимого, файлы распределять по подкаталогам, имена которых образованы первыми символами имен файлов. Пример:
/34c/82a/416/34c82a416fca4cf3a1215ad5e8f2d782.jpg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы