Хранение фотографий

kika

Всем привет!Подскажите где можно почитать о хранении изображений в БД?
16 ответов

kika

Почитать можно в BOL. А хранить - в полях типа image.


kika

Вот что тут пишут: http://www.tsyapa.ru/tuningADO/tuningADO-03.htmКаким спасобом лучше хранить фотографии?


kika

То, что пишет Игорь Цяпа о перерасходе памяти, неверно. По крайней мере для MS SQL 7 и MS SQL. Вот что пишет "Inside Microsoft SQL Server 2000" (подобную информацию можно найти и в BOL):


kika

А какие минусы в том, если хранить только ссылки на картинки?


kika

Также интересно в каких случаях оправдано хранить картинки в бинаре в самой БД?


kika

Например в случаях когда не хочется хранить их в файловой системе. С целью того же ограничения доступа.Или когда нужно будет не только хранить БЛОБы но и оперировать ими на TSQL.


kika

Оперировать, например уменьшать размер фотки?


kika

Хм. Ну можно конечно и размер уменьшать и из позитива делать негатив. Все равно таких инструментов на TSQL нет и вам придется их создавать самому.А вот репликация например есть. И я сомневаюсь что стандартную репликацию можно заставить работать с данными в виде внешних файлов.


kika

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


kika

Если мне необходимо оперитьвать и картинкой. Например, уменьшить ее размер не только визуально, но и физически.А какими средствами/программи/тулзами вы собираетесь это проделывать ?


kika

Картинка будет закачиваться в бинаре через Access, скрипт обработки картинки на ASP.


kika

На мой взгляд лучше хранить в базе.У меня крутится несколько довольно больших баз с графикой,и приходилось не только менять размер файлов но и перегонять в другой формат, что не составило большого труда.Правда пришлось писать свой обработчик на делфях.


kika

Картинка будет закачиваться в бинаре через Access, скрипт обработки картинки на ASP.Если ваш ASP будет работать на той же машине где будут храниться BLOB-ы, то наверняка их обработка в виде файлов будет быстрее. Правда придется следить за такими вещами как актуальность ссылок в базе и содержимого каталогов. А также за наверное огранизовать какую никакую иерархию этих каталогов(не валитье же все файлы в один ?)Если же ASP и файлы будут находится на разных машинах, то большой разницы в хранении файлов как файлов и как BLOB-ов я лично не вижу. Ведь все равно придется передавать содержимое этих файлов через сеть. Конечно есть компонеты для быстрой передачи файлов. Но суть от этого не меняется.Есть конечно вариант создать сервис, который будет запущен на удаленной машине с файлами. А ASP будет только обращаться к этому сервису. Но ото уже получается своеобразная система клиент-сервер.И наконец немаловожная особенность - целостность данных. За целостностью данных в таблице будут следить сама СУБД. Для этого у нее есть механизм транзакций.А вот кто поручится за то что процесс обновления содержимого файла да еще через сеть завершился корректно - тут надо будет придумывать какой никакой механизм защиты. И стало быть больше программировать. Например, никогда не обновлять содержимое файла сразу, а создавать сначала новую версию оного и после проверки удалять старую версию. т.е. по большому счету строить собственный механизм "транзакций".Так что думайте, взвешивайте - каждый подход имеет свои плюсы и минусы.


kika

Мне тоже очень нравится идея хранения картинок в БД, но тут под боком Веб-программеры у меня тусуются и они шепнули на ушко, что картинки, хранящиеся в БД, и подставляющиеся в ASP-странички на лету, не будут кэшироваться ни "по дороге" ни на клиенте.Это правда?


kika

Скорее всего да, кэшироваться не будут.Ну и фиг с ним. Мы сделали хранение в БД, да я сам всегда так делал со всеми документами. Скоро запустим сервис печати фото по цифре - нет проблем оперировать фотографиями. А на файлах - если куда перенести, следить за соответствием путей.. Да на фиг это надо-- Tygra's --


kika

Режим кэширования определяется в заголовке ответа сервера.Опять приложеные файлы