Хранение и распределение изображений. Naming strategy

WMix

герр M:)ller
Партнер клуба
если файлы правильно распределять, то какой смысл удалять папки (они все заняты)? наоборот нужно один раз создать/примаунтить при деплое
 

fixxxer

К.О.
Партнер клуба
Имеется ввиду что cephfs еще сырая чтобы ее ставить?
Сырая - да. Но проблема не в том. Это типичный костыль, когда изначально не проектировалось сетевого взаимодействия, и надо "подпихнуть" сеть так, чтобы приложение думало, что работает с диском. Но семантика POSIX вообще плохо ложится на сеть, это типичная протекающая абстракция. Проблемы будут всегда, как и с nfs.

Лучше использовать специально разработанные для этого API.
 

Breeze

goshogun
Команда форума
Партнер клуба
я написал чистилку, которая проверяет по цепочке папки и удаляет если пустые
это да, я это больше к тому написал, что надо стратегию с разумным количеством выбрать :)
/999/999/999 , если утрировать, съест все inodes :) и будет занимать терабайты в итоге ^_^
 

German Malinovsky

Новичок
это да, я это больше к тому написал, что надо стратегию с разумным количеством выбрать :)
/999/999/999 , если утрировать, съест все inodes :) и будет занимать терабайты в итоге ^_^
Теоретически в ext4 может быть 4 миллиарда inodes?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Теоретически, отдавать терабайты с одного места все равно неразумно, и эта проблема настанет куда раньше, чем кончатся иноды.
 

Активист

Активист
Команда форума
Теоретически в ext4 может быть 4 миллиарда inodes?
в ext4 увеличить количество inodes не сложно. А вообще есть и другие производительные файловые системы, а также заточенные под всякую мелкую хрень в больших количествах (но к сожалению основного разработчика ФС отправили в длительный отпуск забанили, проект пытался поддерживать наш соотечественник, некто Шишикин, но не смог). Есть и кластерные ФС, сотни их , но без специфического оборудования применять не стоит. Хотя можно и не замарачиваться созданием кластера, а просто приобрести готовое решение.
 

Василий М.

Новичок
Для равномерного распределения - md5($name). Дальше str_split (по 2 символам вполне разумно) и столько уровней вложенности, сколько разумно для данного проекта. Обычно 2-3 достаточно.
это ты про храние в виде images/b/b/3/e/bb3e4912d9174537fe5857e7826fef86/640x424.jpg ?

А для чего нужно это разбиение на директории?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Чтобы не хранить все в одной папке, иначе можно получить очень сильный баттхерт
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
В товем случае хватит. Вряд ли ты пишешь фейсбук ;)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
И с ext4 и т.п. Просто есть люди, которые пытаются на таких проектах туда залезать через sftp и т.д =D
 

Василий М.

Новичок
а вот тут пишут что надо отдельный сервер юзать. а как на отдельный сервер фотки грузить, расскажите кто делал!!1
 

Breeze

goshogun
Команда форума
Партнер клуба
Сверху