@vdserg90

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

Проект для группы блоггеров с узкой тематикой, около 50 блоггеров которые постят по 2-3 поста в день. К каждому посту привязывается множество разнотипных данных, например: теги, категории, локации, цвета, и т.п. до 10 типов.

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

вопрос: при реализации проекта на php (laravel) как лучше спроектировать базу и как с ней работать? использовать только sql базу или в совокупности с nosql? использовать ли шардирование? как и что лучше кешировать?

спасибо!
  • Вопрос задан
  • 454 просмотра
Пригласить эксперта
Ответы на вопрос 1
Lobotomist
@Lobotomist
Software Developer
Раз никто не отвечает напишу кратко свое мнение, хотя оно затрагивает не все вопросы.
Думаю, что вполне можно попробовать mongodb. Теги, категории и т.п. хранить в самих постах в массивах. Для лент использовать отдельные коллекции, обновлять их в случае изменения пользователем настроек ленты.
Насчет домашней страницы - я не совсем понял что там можно изменять, так что ничего не скажу.
Несколько шардов можно сделать, если база будет не справляться. Тут надо будет смотреть узкие места и тогда решать, что именно и как разносить.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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