Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хранение изображений в БД. Разумно ли? 
V
    Опции темы
WolfAlone
Дата 7.1.2010, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



Здравствуйте! Возник такой вопрос:
Есть некий мелкий сайт, работающий на связке MySQL + PHP 5. В оригинальном варианте на сайте есть папка с изображениями, а в БД таблица с их идентификаторами. Изображения существуют 2х видов - 200х200 и (уменьшеный вариант) 100х100.

Хотелось бы знать, на сколько разумнее будет хранить изображения непосредственно в БД? Средний размер картинки 200х200 = 8Кб, 100х100=4Кб.

Так же хотелось бы выяснить такой вопрос: в данный момент картинки реализованы в виде 2х файлов (200х200 и 100х100), т.е. "оригинал" и его уменьшенная копия. На сайте выводятся и те и другие (по мере необходимости). Насколько большую нагрузку на сервер дает конвертирование изображений на лету? Т.е. уменьшение изображения с 200х200 до 100х100 и выдача его в браузер?

Благодарю за внимание!



--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
Ипатьев
Дата 7.1.2010, 19:46 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



перед тем, как собираться сделать что-то, надо сначала ответить на вопрос - зачем.

Добавлено через 6 минут и 34 секунды
если говорить о данном конкретном случае, то я не вижу ни малейшего смысла хранить два микроскопических варианта. 
одного будет вполне достаточно. 
хранить только 200, когда надо будет показать 100, то просто задать этот размер в теге.
PM MAIL   Вверх
Kesh
Дата 7.1.2010, 20:16 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 5
Всего: 54



Цитата(Ипатьев @  7.1.2010,  19:46 Найти цитируемый пост)
хранить только 200, когда надо будет показать 100, то просто задать этот размер в теге. 


И заставить пользователя грузить вчетверо больший объем данных?

Добавлено через 7 минут и 28 секунд
Храня изображения в базе данных, вы скорее всего проиграете в производительности. Т.к. для каждого изображения необходимо будет тянуть данные сначала с BD на WebServer, а потом отдавать пользователю.
Конвертировать ли изображения на лету или хранить preview зависит от загрузки сервера. Если прогнозируется большое количество пользователей и вывод большого числа картинок одновременно, то я бы посоветовал хранить оба изображения.

С другой стороны, если вы работаете в режиме высокой степени защиты данных и не хотите давать прямой доступ к информации (просмотр изображений по ссылке), то вам все равно необходимо будет иметь обертку, которая будет возвращать картинки, беря их с файловой системы или из BD (попутно можно уже уменьшать, добавлять watermark и т.п.). 


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Ипатьев
Дата 7.1.2010, 20:42 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Цитата(Kesh @  7.1.2010,  20:16 Найти цитируемый пост)
И заставить пользователя грузить вчетверо больший объем данных?

с какого перепугу там будет в четверо? 100 на сто - это 10кб, а 200 - 15.
не надо крохоборничать. учитесь мыслить шире

Цитата(Kesh @  7.1.2010,  20:16 Найти цитируемый пост)
попутно можно уже уменьшать, добавлять watermark 

...и потерять в производительности гораздо больше.

Цитата(Kesh @  7.1.2010,  20:16 Найти цитируемый пост)
вам все равно необходимо будет иметь обертку

функцию которой давно уже выполняет веб-сервер.
PM MAIL   Вверх
WolfAlone
Дата 7.1.2010, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



Огромное спасибо всем за комментарии и ответы.

Уважаемый Ипатьев, Вы не могли бы подсказать, что Вы имеете в виду под фразой: 
Цитата(Ипатьев @  7.1.2010,  20:42 Найти цитируемый пост)
функцию которой давно уже выполняет веб-сервер.
 ?



--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
Ипатьев
Дата 7.1.2010, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Можно погуглить про x-accel-redirect

PM MAIL   Вверх
segrey
Дата 7.1.2010, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 26.12.2006

Репутация: нет
Всего: нет



Цитата(Ипатьев @  7.1.2010,  17:46 Найти цитируемый пост)
хранить только 200, когда надо будет показать 100, то просто задать этот размер в теге. 

браузеры херово картинки масштабируют
PM MAIL   Вверх
Ипатьев
Дата 7.1.2010, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



так то картинки, а то иконки. че там масштабировать? и так и так без лупы ничего не видно
я не предлагаю масштабировать 5 мегапикселей браузером. неужели это так сложно понять?
PM MAIL   Вверх
segrey
Дата 7.1.2010, 22:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 26.12.2006

Репутация: нет
Всего: нет



Мне самому фиолетово, но у нас дизайнеры скулят, когда я предлагаю подобные решения  smile . Лично я не вижу никаких проблем держать на сервере в файлах 2 варианта картинок. Может это и не "по-пацански", зато наиболее оптимальное решение на мой взгляд.
PM MAIL   Вверх
Ипатьев
Дата 7.1.2010, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



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


Это сообщение отредактировал(а) Ипатьев - 7.1.2010, 22:44
PM MAIL   Вверх
WolfAlone
Дата 7.1.2010, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



Спасибо огромное! Вопрос снят. В виду отсутствия необходимости как либо "защищать" от пользователя изображения - было принято решение оставить всё как есть. Т.е. 2 картинки = 2 файла.

Тема закрыта.


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.