Создание галереи пользователя

250
10 декабря 2016, 10:14

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

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

В первом случае: Все фото хранятся в общей директории, ссылки на картинки помещаем в БД.

Во втором: каждому пользователю создаем свою директорию в которую загружаются картинки и при извлечении фото просто сканируем ее и выводим все у чего есть подходящее разрешение. Параллельно есть БД с названием файлов - для удаления.

Answer 1

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

Например галереи могут опубликовывать как публичные. Кроме того что произойдет когда пользователя удалят? Должна ли сохраняться галерея?

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

Для большой гибкости можно применить такое решение. В файловой системе галерея будет выглядеть так albums/ album_ID/images.

База данных может быть организованна вот так

  • отдельная таблица albums в которой будет весь список альбомов.

  • И еще одна таблица user_albums в которой будет пара ключей user_ID,album_ID.

READ ALSO
POST ничего не передает [закрыто]

POST ничего не передает [закрыто]

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

187
Вместо 404 переходит на главную

Вместо 404 переходит на главную

При вводе неправильной ссылки, переходит на главную страницу, а должна на 404Нашел проблему, в htaccess убираю данную строку RewriteRule ^(

255
Как прочесть массив значений из строки MySQL

Как прочесть массив значений из строки MySQL

Добрый деньЕсть строка в БД которая содержит числовые значения (массив)

205
Помогите добиться правды RBAC Super Simple with Admin and User

Помогите добиться правды RBAC Super Simple with Admin and User

Наткнулся на простой пост с реализацией простой админкиyii2 установлен advanced

235