В каком формате лучше всего хранить изображения в базе данных?

Каков наилучший формат для хранения изображений в базе данных, например двоичный, base64... и т. д., для оптимальной скорости/размера.


person teh_noob    schedule 07.02.2009    source источник


Ответы (7)


Бинарный.

Помимо этого, использование изображений (качество, сжатие и т. д.) зависит от того, выберете ли вы PNG, GIF, JPEG, TIFF и т. д.

Вариант использования будет (должен) управлять форматом больше, чем базой данных.

person Will Hartung    schedule 07.02.2009

Совет Microsoft для SQL Server раньше заключался в том, чтобы для скорости и размера хранить изображения в файловой системе со ссылками в базе данных. Я думаю, что они немного смягчили свои предпочтения, но я все же считаю, что это лучшая идея, конечно, по размеру, поскольку она не займет места в базе данных.

person dkretz    schedule 07.02.2009
comment
Я согласен с этим мнением. Я не знаю никаких преимуществ добавления изображений непосредственно в базу данных, и тогда мне приходится иметь дело с базой данных размером 10 гигабайт вместо 2 гигабайт. Ик. - person Spencer Ruport; 07.02.2009
comment
Разве в SQL Server 2008 не была добавлена ​​поддержка файлового потока, позволяющая получать доступ к файлам через SQL-сервер? Делает управление намного проще, поскольку вам не нужно синхронизировать базу данных и файловую систему друг с другом. - person fabspro; 06.08.2012

Блоб - это ответ на ваш вопрос.

Вместо того, чтобы хранить изображение в базе данных напрямую, вы можете сохранить изображение на жестком диске и сохранить имя файла в базе данных. Я думаю, что этот способ подходит. С точки зрения производительности это хорошо.

person DonX    schedule 07.02.2009
comment
С точки зрения производительности вы думаете, что это хорошо? Каков ваш вариант использования? - person fabspro; 06.08.2012

Большинство баз данных могут каким-то образом хранить двоичные данные:

Что касается формата файла изображения, это отдельная тема. Не уверен, что вы имели в виду эту проблему. Если бы вы были, обычно не имеет значения между PNG, GIF и JPG, за исключением того, что JPG является форматом с потерями (два других - lsosless), что нормально для фотографий и тому подобного, но не, скажем, для значков или текста.

person cletus    schedule 07.02.2009

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

person dicroce    schedule 07.02.2009

Используйте hdf5.

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

Почему hdf5?

person Farshid Ashouri    schedule 13.05.2012

Это во многом зависит от того, для чего используются изображения.

  • Аватары можно просто сжать в JPEGS
  • Изображения, которые будут обрабатываться с помощью программного обеспечения для обработки изображений, будут в формате TIFF.
  • Изображения на фотосайте будут в формате JPEG для просмотра и TIFF для скачивания.

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

person Gregor Brandt    schedule 07.02.2009