Задать вопрос
junk1114
@junk1114
Web-программист

Целесообразно ли хранить картинки в БД?

Использую MySQL, PHP.
Делаю систему постинга, картинки каждого поста нужно куда-то сохранять.
Целесообразно ли хранить картинки в БД? Или лучше реализовать хранение в папках файлами?
  • Вопрос задан
  • 3170 просмотров
Подписаться 3 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 6
kumaxim
@kumaxim
Web-программист
Картинки в БД хранить плохо и вот почему.

Если картинка лежит в БД, то для того чтобы ее вытащить нужен php-скрипт, который отправит запрос на ее извлечение. Будет формироваться диначеское содержимое, работает Apache.

Если картинка лежит в папке, то для ее отображения достаточно просто обратится к ней по УРЛу. Здесь можно обойтись без скрипта, следовательно может работать только nginx.

В чем суть - nginx кушает НАМНОГО меньше ресурсов, по сравнению с apache. Статистику можете погуглить.

Единственное ограничение при использовании хранилища в папках - для *nix папка не может содержать более 42 с чем-то тысяч файлов(с цифрой могу ошибаться, но не суть), поэтому учтите этот аспект.
Ответ написан
@Nc_Soft
Нецелесообразно
Ответ написан
Комментировать
@raiboon
В MySQL хранить картинки ужасно, да и использовать MySQL, когда есть Postgres.
А вообще в бд, то в теории можно, в том же риаке или монге - без проблем.
Ответ написан
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
Оба методы имеют свои достоинства и недостатки, но всё же хранение в виде простых файлов более органично. Это статика, которую нужно отдавать пользователю без участия скриптов.
Ответ написан
Комментировать
саму картинку в папке, доп инфу в бд
Ответ написан
Комментировать
@zedxxx
Целесообразно ли хранить картинки в БД?

Зависит от количества картинок. Картинки можно хранить и в файловой системе или даже в той же БД, где и данные, но это, имхо, крайний случай, если картинок не очень много. НО если вы пишите свой инстаграм, то для картинок однозначно нужна своя БД. Заметьте - БД именно для картинок, а не для данных + картинок. Т.е. эти вещи нужно разносить по разным базам. И если данные лучше хранить в SQL, то картинки можно сложить и в NoSQL.

Это на самом деле очень сложный вопрос - как оптимально хранить бинарные данные.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы