День добрый!
Как для будущего сайта организовать возможность хранения большого количества фото и изображений? Подскажите, пожалуйста, каков уровень вложенности для хранения оптимален?
Мне пришло в голову самый очевидный способ - присваивать изображению id и хранить по id, создать каталоги 1, 2, 3 ... И в них хранить фото с id 0001-1000 в каталоге 1, 1001-2000 в 2 и т. д...
- 04.01.2014 03:38Новичок


- Регистрация: 16.05.2012
- Сообщений: 25
- Репутация: 0
- 04.01.2014 03:44
Да тут дело удобства. Или, скорее, того, будете ли вы что-то в дальнейшем делать с этими картинками, или загрузили и просто навсегда забыли. В таком случае вообще не важно, как по мне :) По 1000 или 10000 в папке и можно хранить :)
- 04.01.2014 05:29
я делаю так
имя файла - рандомный хэш. отрезаем первые 4 символа и делаем вложенность.
например
в бд так 78b39c84f35e3becc00e08a5e36afa08.jpg
физически так 7/8/b/3/9c84f35e3becc00e08a5e36afa08.jpg
16 * 16 * 16 * 16 - 16 * 16 * 16 = 61440 директорий с файлами
файлы распределяются равномерно, среднее количество зависит от общего объема диска. чтобы распределить файлы размером 1 мб в количестве 1000 файлов на директорию (рекомендуемое число файлов для быстрого доступа), вам понадобится ~58.5 терабайт. вложенность естественно можете сделать меньше или больше.
так как у меня загрузка через балансировщик, к имени файла в бд клею и номер сервера 1.78b39c84f35e3becc00e08a5e36afa08.jpgСпасибо сказали:
Alibi(09.01.2014), - 04.01.2014 05:46
Вот мое мнение: категория - подкатегория - дата загрузки - имя файла.
- 05.01.2014 01:34
Согласна с asdixer, сама делаю так у себя на сайтах.
Аргументы:
- ничего не теряется
- все понятно :) - 08.01.2014 20:56Дипломник

- Регистрация: 17.11.2013
- Сообщений: 171
- Репутация: 31
На мой взгляд, лучше присваивать латинское имя. Для яндекс бота по картинкам будет плюс. Читал, что такие фотки будут ранжироваться лючьше. Мое мнение...сделать транслитирацию файла на понятном языке. Если Вам пофиг на картиночный трафик, то и так пойдет.
- 08.01.2014 21:09
А какой объем предполагается?
- 09.01.2014 08:29
Согласен с этой цифрой.
Исходя из этого и считается число уровней папок. Можно "про запас" добавить +1 уровень, чтобы потом не пришлось переделывать.
Я храню так:
пример названия: 10003461_Darya_Doncova_Ulybka_45_go_kalibra.jpg
находится в папке 1, подпапка 0 (первые цифры названия)
и так далее - 09.01.2014 13:40
Попробуй как это делается в ДЛЕ делать т.е вид такой папок /2013/01/05/dasflafdsjkafds.jpg т.е идет год, месяц, число и название картинки
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Домены .com/.net/.org - где хранить? | Прочее | 0 | 14.03.2013 14:30 |
Как хранить пароли? | Оффтоп и свободные темы | 50 | 09.12.2012 00:36 |
Яндекс.Картинки не индексируют изображения на сайте | Вопросы от новичков | 16 | 07.12.2012 14:15 |
Битые изображения на сайте (портале) | Web программирование | 3 | 12.07.2012 13:19 |
Где хранить файлы? | Прочее | 8 | 06.09.2011 11:17 |











