ravlio
Всё зависит от проекта, смотря за что можно зацепиться. Если есть user_id, как в соц. сетях, то хранят так:
http://server.com/user_id/контент/ Если нет user_id, а есть id объектов (фоток, видео), то делай шардирование — дели ид на N-ное количество сегментов, каждый из которых будет каталогом:
photo 12345 =
http://server.com/photos/1/2/345/ или
http://server.com/photos/12/345/
При чём заметь, что указатель идёт не на конечную фотографию, а на папку. В папке может быть несколько фоток, к примеру, разных размеров:
http://server.com/photos/1/2/345/320x200.jpg
или это может быть видко:
http://server.com/videos/5/6/789/
в папке можно хранить как сам видео-файл (или несколько видео разных разрешений:
http://server.com/videos/5/6/789/720p.mpg), так и тумбы к ним:
http://server.com/videos/5/6/789/320x200_1.jpg
Если делать по-серьёзному, то нужно брать БД типа Riak CS и на ней уже делать с горизонтальным шардированием, репликацей и прочем. А так — пощёлкой по img src на разных сиджах и соц. сетях. Узнаешь, у кого какие структуры.
А кол-во файлов в каталоге желательно не делать больше 10к
support.od.ua
Ailk писал:
Возник такой вопрос. Как лучше организовать хранение контента на сервере? Имеется в виду структура папок для видео и для галерей с картинками, а также тумбы для них.
Имейте ввиду, у многих линуксовых файловых систем проблемы с отображением файлов/директорий при приближении к лимиту 64K.
Да, и про количество свободных inode не забывайте.
Рекомендую к использованию Ext4 и ZFS + их тюнинг под конкретные задачи.
karbonv
Делаю так:
img/smal/user_id/
img/medium/user_id/
img/другие папки для превью, кэш и т д (по необходимости)/user_id/
Img/original/user_id/
Другие структуры даже не рассматриваю т к в этой схеме удобство пакетной обработки и контроль количества файлов в папках, а так же простое закрытие и открытие только нужных папок Disalow/allow для индексации
frec
karbonv писал:
Делаю так:
img/smal/user_id/
img/medium/user_id/
img/другие папки для превью, кэш и т д (по необходимости)/user_id/
Img/original/user_id/
Другие структуры даже не рассматриваю т к в этой схеме удобство пакетной обработки и контроль количества файлов в папках, а так же простое закрытие и открытие только нужных папок Disalow/allow для индексации
делаю так же и проблем не бывает