@vhjrtyo

Где и как хранить сообщения чата?

Стоит задача написать телеграм бота который модерирует телеграм чаты. Бот должен считать сообщения каждого пользователя и "на лету" выводить статистику сообщений в чате.
Думал хранить все сообщения в таблице postgresql, но адекватен ли будет этот подход, когда сообщений будет очень много?
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
yesbro
@yesbro
Думаю, помогаю думать
Если бот будет не только считать статистику, но и модерировать, то хранить сообщения нужно. Его постоянно придется дообучать, вводить новые правила модерации. Истории сообщений очень поможет это новое тестировать.

Советую использовать ту базу с которой больше работал. Postgresql - подойдет. Отдельно таблица сообщений, отдельно таблица агрегированных счетчиков что бы каждый раз тебе не делать тяжелые агрегирующие запросы к базе с count. Максимум у тебя должно быть что-то суммирующее. По дням/чатам/пользователям внутри чата.

Если прочувствуешь, что упираешь в какой-либо потолок, то только тогда стоит задуматься о миграции на что-то более узкоспециализированное.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Everything_is_bad
В задачи нет ничего про то что надо как-то эти сообщения в последствии обрабатывать, поэтому достаточно хранить просто счетчики сообщений.
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Не уверен, что для этой задачи РСУБД - подходящий инструмент. Я бы хранил счётчики в чём-нибудь типа битфилда Redis, а в Постгрес, если нужна какая-то статистика, складывал данные периодически.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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