@evgeniy2024

Как хранить изображение в бд?

Всем привет, ни как не могу понять как правильно хранить изображение в бд.
В процессе разработки хранил их в папке static, теперь мне необходимо выложить сайт в открытый доступ. Для хранения я выбрал yandex cloud storage, окей я могу загрузить туда любую фотографию, но я не могу понять как и где мне теперь хранить информацию об этом в бд?
  • Вопрос задан
  • 131 просмотр
Решения вопроса 2
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Имя файла внутри хранилища - хранить в базе.
Путь к хранилищу конфигурации проекта.
Сами файлы в хранилище.
Ответ написан
@rPman
Все зависит от проекта
Есть ситуации, когда ссылки на изображения не хранятся в базе данных а размещены только в шаблонах и html файлах, которые так же являются файлами (т.е. полностью вне базы данных)... не всегда такой подход удобен (особенно при обслуживании базы, например поиск файлов на которые никто не ссылается) но он самый оптимальный, ведь нет оверхеда по работе с базой данных.

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

Просто помните - файловая система это тоже база данных, современные файловые системы очень эффективно обрабатывают запросы, с индексацией по части ключа (путь к файлу - каталоги в нем)... а некоторые, типа btrfs/zfs/xfs через снапшоты предлагают встроенный аналог транзакций как многие sql базы данных (только пользоваться нужно с умом этим).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы