powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранить картинки в базе или вне?
8 сообщений из 108, страница 5 из 5
Хранить картинки в базе или вне?
    #33210779
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да хоть по третьему :)
То, что там предложено - это то же кэширование по сути дела, о котором я сообщением выше написал. Только сделанное через ж... Зачем эти картинки вообще выбирать из базы при каждом запросе к странице, чтобы они закэшировались и отдались при другом запросе, если они могут быть закэшированы всего один раз при записи этой картинки в таблицу?
...
Рейтинг: 0 / 0
Хранить картинки в базе или вне?
    #33210839
Фотография mcwhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladiChАргументы?

Простейшее соображение. Если на сайте знакомств зарегестрировано 1 млн. пользователей и у каждого в реднем, положим, по 4 фотографии (а у кого-то может быть и по 15-20), то всего получается 4 млн. картинок. Впечатляет?

Вы для каждой такй фотки будете имя назначать? А по какому принципу будете эти картинку по папкам раскидывать? Гораздо логичнее хранить их в базе в отдельной таблице, связав её внешним ключом с таблицей пользователей. Или я не прав?
...
Рейтинг: 0 / 0
Хранить картинки в базе или вне?
    #33210921
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это логичнее, но здесь соображения производительности...
Они уже сто раз были описаны, можете ветку выше почитать.
Варианта здесь два:
1. Хранить только на файловой системе
2. Хранить в базе, но кэшировать на файловой системе и при http-запросе отдавай статический файл.
Что выбирать, решайте сами.
В первом варианте имеем имя картинки = ID пользователя + признак, по которому мы их будем отличать друг от друга (например номер картинки). Во фтором варианте - ID картинки. Или же на каждого пользователя создавать свой каталог.

Каталоги пользователей можно также запихивать в родительские каталоги, которые можно именовать по первой цифре id, или первым двум, или трем и т.п. Это для того, чтобы вручную с ними работать было удобнее. Если это не требуется - можно их все и в один каталог засунуть - NTFS прекрасно с этим справится, т.к. имена файлов индексируются. Можете подробнее почитать об этом например здесь - первое попавшееся на эту тему.
...
Рейтинг: 0 / 0
Хранить картинки в базе или вне?
    #33210930
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladiChДа хоть по третьему :) если они могут быть закэшированы всего один раз при записи этой картинки в таблицу?
А перезапуск сервера?
А если 300.000 картинок?
- Ну и где ваш кеш, Сэр???
...
Рейтинг: 0 / 0
Хранить картинки в базе или вне?
    #33211016
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читайте внимательнее - речь шла о кэшировании на файловой системе.
Да хоть 300.000.000.000 картинок. Разве здесь что-то говорилось про ограничения на дисковое пространство?
...
Рейтинг: 0 / 0
Хранить картинки в базе или вне?
    #33211029
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladiChЧитайте внимательнее - речь шла о кэшировании на файловой системе.
Извините. И вправду исходил только из поста.
И... попал в BLOB.
...
Рейтинг: 0 / 0
Хранить картинки в базе или вне?
    #33212646
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcwhiteВы для каждой такй фотки будете имя назначать?Мы сделали так.

mcwhiteА по какому принципу будете эти картинку по папкам раскидывать?Если идентифицировать файлы не только полем md5, но и внутренним автоинкрементом ordr, то можно раскидывать по папкам так:
Код: plaintext
## PERL\nsub path_by_id\n{\n    my $id  = shift;\n    my $ext = shift;\n\n    if ( ((length $id)% 2 ) ) {\n        $id = \'0\'.$id;\n    }\n\n    my @path = ($id =~ /(.{ 2 })/g);\n\n    pop @path;\n\n    return join("/",@path,$id).".$ext";\n}
При этом в каждой плоддиректории хранилища будет содержаться не более 200 инодов.
...
Рейтинг: 0 / 0
Хранить картинки в базе или вне?
    #33265140
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GordenА если в BLOBах хранить десятки или даже сотни тысяч звуковых файлов, в среднем каждый по 40MB? :-) И если доступ к ним осуществляется только после (например) оплаты, т.е. не такой уж супер частый доступ. Как насчет производительности?

все большие потоковые видио и аудио сервера изначально делаются на Оракле и все хранится в базе. технология PixStream купленная CISCO
...
Рейтинг: 0 / 0
8 сообщений из 108, страница 5 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранить картинки в базе или вне?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]