Форум: "Прочее";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];
ВнизИзибражения в БД. За и против. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.006 c