Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.17;
Скачать: CL | DM;

Вниз

Изибражения в БД. За и против.   Найти похожие ветки 

 
Magedon   (2009-11-19 13:19) [0]

Пишеться приложение А для получения некоторой инфы, в том числе и изображения, и приложения Б для просмотра этой инфы и построения отчетности.
Оба приложения на Делфи. Никаких браузеров, ПХП и т.д...
База данных mysql. Удаленная. Делеко удаленная. Сервер линукс или винда сейчас решается.

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

А что скажут прикладные программисты по этому поводу?


 
Сергей М. ©   (2009-11-19 13:27) [1]


> противники - вебпрограммисты


Ну дык всякий суслик - агроном на своем поле)


 
Sergey13 ©   (2009-11-19 13:28) [2]

Ну так если хранить только пути до картинки, то, как я понимаю, придется расшаривать эти пути для клиентов на "далеко удаленном сервере".
А оно надо?
Плюс (вернее минус) никакой гарантии целостности информации.


 
Sergey13 ©   (2009-11-19 13:30) [3]

А вообще тема для "потрепаться" больше, ИМХО.


 
Kerk ©   (2009-11-19 14:07) [4]


> Magedon   (19.11.09 13:19) 
> Но все кто против, высказывали аргументы, что хранение в
> БД делает кеширование и отображение на странице картинок
> проблематичным.

Нифига не делает. Браузеру без разницы где сервер хранит картинки. Все дело в правильных http-заголовках.


 
Kerk ©   (2009-11-19 14:30) [5]

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


 
Anatoly Podgoretsky ©   (2009-11-19 14:34) [6]

> Kerk  (19.11.2009 14:07:04)  [4]

Я вообще то тоже не заметил каких либо проблем с отображением и возможно с кешированием. Механизм то кеширования тут причем.


 
TUser ©   (2009-11-19 14:37) [7]

Картинка в БД займет лишнее место и даст лишнюю нагрузку серверу. А индексировать изображения, вроде, не надо. Так что в БД хранить путь и чексумму, имхо.


 
clickmaker ©   (2009-11-19 14:41) [8]

> что хранение в БД делает кеширование и отображение на странице
> картинок проблематичным

хэндлер писать надо. Лишний трафик между sql и web серверами.
Кэширование - не проблема, хэндлер тоже можно по-разному настроить.


 
Sergey Masloff   (2009-11-19 14:42) [9]

TUser ©   (19.11.09 14:37) [7]
А на диске она его не займет.

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


 
Anatoly Podgoretsky ©   (2009-11-19 14:42) [10]

> Kerk  (19.11.2009 14:30:05)  [5]

Проще? На внешнем закрытом сервере, откуда информацию можно получить только по запросу?


 
Magedon   (2009-11-19 14:45) [11]


> Зачем плодить лишнюю нагрузку?


Т.е. Если брать файлы через фтп или еще что-то (т.к. сервер воможен на линухе), то сервак вооще грузиться не будет?
Т.е. ФС больше не грузит сервак?


 
Anatoly Podgoretsky ©   (2009-11-19 14:45) [12]

> TUser  (19.11.2009 14:37:07)  [7]

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


 
clickmaker ©   (2009-11-19 14:49) [13]

> что скажут прикладные программисты по этому поводу?

для клиент-сервера я бы в базе хранил.


 
Kerk ©   (2009-11-19 14:57) [14]


> Anatoly Podgoretsky ©   (19.11.09 14:42) [10]
> > Kerk  (19.11.2009 14:30:05)  [5]
>
> Проще? На внешнем закрытом сервере, откуда информацию можно
> получить только по запросу?

А, ну да. Просто я по привычке воспринимаю его как веб-сервер


 
Anatoly Podgoretsky ©   (2009-11-19 15:03) [15]

> Kerk  (19.11.2009 14:57:14)  [14]

А тут непонятно пока к чему тут Веб сервер. Вроде бы две разные сущности. И неконятно причем тут картинка, как она поступает в сервер, и как далее клиенту.


 
Виталий Панасенко   (2009-11-19 15:10) [16]

ели НЕ для веб, то лучше в БД.. а если наоборот, то на ФС.. я как-то писал небольшой сайтик.. при этом 20-30 фоток решил хранить в БД.. все прекрасно работало на Денвере, локально.. но как только перенес на хостиг - фиг там...не отображались фотографии...пришлось переделывать на: картинки на ФС, в БД путь...


 
clickmaker ©   (2009-11-19 15:15) [17]

а какая, собственно, альтернатива для К-С?
Либо шара, что не подходит, если "База данных mysql. Удаленная. Делеко удаленная"
Либо интернет-сервер, опять же


 
DVM ©   (2009-11-19 15:16) [18]


> А что скажут прикладные программисты по этому поводу?

храни в БД.


 
Anatoly Podgoretsky ©   (2009-11-19 15:21) [19]

> Виталий Панасенко  (19.11.2009 15:10:16)  [16]

ТО есть вместо того, чтобы разобраться с ошибко, решил сделать частный обходной хак.


 
Anatoly Podgoretsky ©   (2009-11-19 15:32) [20]

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


 
Anatoly Podgoretsky ©   (2009-11-19 15:37) [21]

> DVM  (19.11.2009 15:16:18)  [18]

Нет никаких серьезных оснований делать иначе, кроме детских СУБД


 
sniknik ©   (2009-11-19 16:02) [22]

на 2008 mssql есть тип ссылка на картинку(файл)... т.е. физически файлы хранятся вне базы, но получать их можно как обычное блоб поле. (это навеяло аналогией с веб сервером, и такими уж ли различными(?) сущностями. но к теме естественно это отношения не имеет т.к. mysql)


 
Palladin ©   (2009-11-19 16:14) [23]

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


 
Виталий Панасенко   (2009-11-19 16:59) [24]


> Anatoly Podgoretsky ©   (19.11.09 15:21) [19]

нет, там что-то провайдеры мудрили по этому поводу.. взападло стало с ними разбираться.. и какая м.б. ошибка, если специально не указываю
<?php
   header("Content-type: image/jpeg");
на страницу идут бинарные данные, их видно.. включаю хидер - изображения нет.
но не суть.. может и ошибка


 
b z   (2009-11-19 17:29) [25]

Кэшируют не только браузеры.
Сами тоже стараемся в базе хранить, конечно если это не "статик".



Страницы: 1 вся ветка

Текущий архив: 2010.01.17;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.014 c
2-1257762982
Zalm
2009-11-09 13:36
2010.01.17
ПРоблема с формой в длл


15-1257802926
DVM
2009-11-10 00:42
2010.01.17
Забавный ролик с Гейтсом и Балмером


2-1259233489
Evger
2009-11-26 14:04
2010.01.17
Треды


2-1259050457
-=Le][=-
2009-11-24 11:14
2010.01.17
Как узнать ошыбки загрузки страницы в WebBrowser?


15-1258019493
Виталий
2009-11-12 12:51
2010.01.17
Задачка на размышление