@renya555

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

Подскажите знающие! Задумался о том как хранить фото в базе на сервере стоит Mysql.

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

usersDATA
-------users1
-----------photobase
-----------comments
-------users2
-----------photobase
-----------comments


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

UPD:
похоже не так поняли или я не так объяснил. у каждого пользователя может быть хоть 100 фоток. у каждой фотки лайки и комментарии к ней.

так же у каждого юзера будут свои новости где мы берем выборочно юзеров получаем их новости сортируем по дате.
  • Вопрос задан
  • 4484 просмотра
Пригласить эксперта
Ответы на вопрос 5
gds1
@gds1
Пыха - это наше всё)))
не надо хранить фото в базе
Ответ написан
Комментировать
Сохраните путь к фото в Б.Д. а не сам фото.
Логично для каждого usera создать своя таблица в котором есть ячейка фото, и выводит оттуда а не каждом коментарии сохранить фото.
Ответ написан
@Fixid
Не храните фото в базе, храните в папке на диске по uuid, а базе храните уникальный URL. Это нормальная практика.
Не изобретайте велосипед, вы получите оверхед в 5-7 раз как минимум, а как только у будет база в 2-3 гб, тормозить начнет все.
В идеале вам надо получить очень маленькую базу из двух простых таблиц и структуру папок где можно хранить сколько угодно фоток с отдачей через веб сервер
Ответ написан
Комментировать
vesper-bot
@vesper-bot
Любитель файрволлов
Надо вынести фото в отдельную таблицу типа (id, blob) в блобе хранить бинарные данные, либо если так ломает, то путь на фактическое место хранения, а id использовать в остальных местах, где нужно ссылаться на фотки. Комменты - тоже в отдельную таблицу, лайки - ещё в одну.
Ответ написан
sim3x
@sim3x
User:
  name
  ...

UserPhoto
  owner = ForeignKey(User)
  path_to_photo_on_disk
  likes = ManyToMany(User)

Comment
  user = ForeignKey(User)
  photo = ForeignKey(UserPhoto)
  text
  datetime
Ответ написан
Ваш ответ на вопрос

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

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