dzheka3d
@dzheka3d

Как хранить действия пользователей по примеру соц сетей?

Всем привет! Практически во всех соц сетях есть система уведомлений с сообщениями типа: На ваш комментарий ответили, вашу фотку лайкнули, ваш комментарий понравился и т.д.
Как хранятся эти данные? В отдельной таблице "события"? Вроде если кто-то сделал действие туда это действие записывается, а дальше его видят другие пользователи, которым это видеть разрешено? Либо это сбор данных по всем таблицам (комментарии, лайки, ответы), грубо говоря, с помощью UNION?
  • Вопрос задан
  • 343 просмотра
Пригласить эксперта
Ответы на вопрос 2
В соц. сетях ещё используют графовые СУБД.
OrientDB, ArangoDB, и другие
Ответ написан
Комментировать
vit1251
@vit1251
Software Engineer
Смотрите слово UNION подсказывает, что Вы собрались использовать SQL, а так же будете испытывать накладные расходы СУБД на обеспечение транзакций и реляционной модели, но большая часть ваших операций это выборка данных с фильтрами и добавление в конец.

Обеспечивать транзакции в целом не нужно и отношение к другим таблицам очень сомнительна. Вполне вероятно, что лучше всего смотреть в стоорону NoSQL с поддержкой MapReduce.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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