Структура хостинга картинок

G
На сайте с 31.03.2010
Offline
74
1116

Погуглил, ничего подходящего не нашел. Подкиньте направление или урл, где можно почитать, что-то вроде инструкции или там рекомендаций касаемо структуры каталогов для хостинга изображений, как оптимально и идеально эту структуру делать.

Пересмотрел кучу разных хостингов изображений, где-то на поддоменах все картинки, где-то нет. В общем, может, советы какие будут, как лучше продумать саму структуру хранения картинок при условии их большого кол-ва.

Как создать хостинг картинок меня не совсем интересует, мне интересны моменты именно по структуре на сервере, бд и т.д.

Если кто уделит пару минут своего драгоценного времени и напишет, хотя бы пару слов, дабы задать направление, буду признателен.

Ragnarok
На сайте с 25.06.2010
Offline
239
#1
goaaa:
Погуглил, ничего подходящего не нашел. Подкиньте направление или урл, где можно почитать, что-то вроде инструкции или там рекомендаций касаемо структуры каталогов для хостинга изображений, как оптимально и идеально эту структуру делать.

Пересмотрел кучу разных хостингов изображений, где-то на поддоменах все картинки, где-то нет. В общем, может, советы какие будут, как лучше продумать саму структуру хранения картинок при условии их большого кол-ва.

Как создать хостинг картинок меня не совсем интересует, мне интересны моменты именно по структуре на сервере, бд и т.д.

Если кто уделит пару минут своего драгоценного времени и напишет, хотя бы пару слов, дабы задать направление, буду признателен.

структура каталогов по датам, либо по пользователям, либо вкупе.

по датам:

2011/05/13/ -> папка для картинок за 13 мая 2011

по юзерам:

login/ -> папка для картинок пользователя с логином login

общее:

2011/05/13/login/ -> папка для картинок пользователя с логином login за 13 мая 2011

у всех 3 вариантов есть достоинства и недостатки

//TODO: перестать откладывать на потом
Jake Foley
На сайте с 16.08.2008
Offline
151
#2

пишу с транслит.ру так что буду краток:

Сам долго выбирал как лучше сделать, раньше в корне папки upload было 500 000 файлов :)

Смотри как я реализовал на: xmages.net

CD
На сайте с 21.10.2004
Offline
82
#3
Jake Foley:
Смотри как я реализовал на: xmages.net

ниче не понял

зато хоть на телочек поглядел :D

2ТС, да что тут думать? Лучше на поддомене (или даже нескольких). Это всегда поможет раскидать нагрузку без потерь ресурсов на саму раскидку.

Я бы в этом плане делал так: под картинки идет свой ВПС / дедик, именуем его а.сайт.ру, когда нагрузка на нем становится серьезной, добавляем еще один - б.сайт.ру и т.д. Может, не очень элегантно, зато практично и железно.

По каталогам так же лучше раскидывать, по 10 - 50к фоток в каталог. Как именно - по датам или просто последовательно создавать директории как на xmages, не суть важно. Но второй вариант мне ближе, т.к. тут куда проще контролировать загруженность директорий. Так будет и бэкапы проще делать (чтоб каждый раз не лопатить десятки - сотни Гб уже забэкапенного ранее), да и ненужных проблем с листингом директорий можно будет избежать.

Отличная конвертация женского трафика. (http://tinyurl.com/394ayz3) Второй месяц - в подарок! Core2Duo E6600 2x2.4ГГц / 4ГБ / 2x250ГБ => $68/мес. (http://tinyurl.com/E6600)
[Удален]
#4

никто не скзал что зависит многое от файловой системы используемой на сервере, я бы посоветовал http://en.wikipedia.org/wiki/ReiserFS

она получше держит большое количество МЕЛКИХ файлов в одной папке.

Лучше - да, сразу раскидывать на несколько серверов если хочется большой и расширяемый хостинг. ну и пути - я бы хранил по например есть файлик $hash_orig_name.$ext, так бил бы аля $hash{0}/$hash{1}/$hash{2}/$hash{3}/$file

размажет нагрузку по всей файловой более или менее гладко.

ну и отдавать естетсвенно с nginx :-)

с file_cache включенным выставленным в большое число

CD
На сайте с 21.10.2004
Offline
82
#5
phpdude2:
никто не скзал что зависит многое от файловой системы используемой на сервере

Боюсь, не те масштабы. Для какого-нибудь Фейсбука, без вопросов. Но в рамках этой темы, уверен, пальба по комарам.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий