Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > база картинок


Автор: mrgloom 22.6.2012, 12:15
сейчас у меня есть набор папок(десятки тысяч) в каждой папке есть некоторое разное кол-во картинок произвольного размера, задумался насчет организации базы данных.

будет ли выигрыш какой либо по скорости при доступе к картинкам? 

впринципе есть, еще вариант хранить картинки в бинарном виде как сырые пиксели, что увеличит размер, но зато не надо декодировать при открытии.
+ еще с картинкой надо хранить информацию которая построена на основе картинки+ разная мета информация. 

наверно неплохо было бы если бы грузить сразу всю папку с картинками и данными в память.

пока выбрал python+sqllite(возможно вариант не оптимальный)


Автор: LSD 22.6.2012, 14:15
Цитата(mrgloom @  22.6.2012,  13:15 Найти цитируемый пост)
будет ли выигрыш какой либо по скорости при доступе к картинкам?

Нет.


Цитата(mrgloom @  22.6.2012,  13:15 Найти цитируемый пост)
впринципе есть, еще вариант хранить картинки в бинарном виде как сырые пиксели, что увеличит размер, но зато не надо декодировать при открытии.

Что подразумевается под "открытием"? Отображение на экране? 

И кстати насчет "немного" ты "немного" ошибся, там разница будет в разы.


Цитата(mrgloom @  22.6.2012,  13:15 Найти цитируемый пост)
пока выбрал python+sqllite(возможно вариант не оптимальный)

sqllite точно не оптимальный вариант.

Автор: mrgloom 22.6.2012, 14:29
http://research.microsoft.com/apps/pubs/default.aspx?id=64525
http://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay

вроде пишут, что база данных и не нужна.

Цитата(LSD @  22.6.2012,  14:15 Найти цитируемый пост)
Что подразумевается под "открытием"? Отображение на экране? 

запись в память для обработки.


просто я думал, если мне нужны все картинки из папки и вся информация, то из базы данных я смогу загрузить всё это одним куском.



Автор: LSD 22.6.2012, 15:23
Цитата(mrgloom @  22.6.2012,  15:29 Найти цитируемый пост)
запись в память для обработки

Ты же работаешь не с массивом байт, а с неким объектом который представляет собой картинку. Поэтому тут вопрос в том, как быстро сериализовывать этот объект на диск и сколько он там будет занимать.


Цитата(mrgloom @  22.6.2012,  15:29 Найти цитируемый пост)
просто я думал, если мне нужны все картинки из папки и вся информация, то из базы данных я смогу загрузить всё это одним куском.

Если файлы маленикие, то какой-то смысл объединить их в один архив еще есть. Если файлы большие, то прирост скорости будет незначительный.

Автор: Sanchezzz 16.8.2012, 14:29
толку совсем не будет в БД хранить картинки даже в оперативе , дампить такую БД просто нереально а жить без дампа страшно другое дело хранить информацию о картинке в базе а картинку в разном структурном каталоге на hd и отдавать через никс как статику.

почему оператива и бд не вариант вы  тратите процессорные ресурсы на генерацию = получаем велик.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)