Django: данные отслеживания просмотров с десятками тысяч просмотров в день

У меня есть приложение Django с бэкендом Postgres. Пользователи могут создавать посты и просматривать их.

"Просмотры" составляют от нескольких десятков тысяч до 100К+ в день. Мы хотим отслеживать просмотры, чтобы отфильтровать посты, которые пользователи уже видели на своей домашней временной шкале. В будущем это также будет использоваться для алгоритмического улучшения всплытия контента для пользователей.

Моя первоначальная мысль была хранить эти представления как строки в базе данных в виде другой таблицы:

class PostView(models.Model):
    post = models.ForeignKey(Post)
    user = models.ForeignKey(User)
    count = models.IntegerField(default=1)

Однако это быстро перегрузит базу данных сотнями тысяч (или миллионами) дополнительных строк за несколько недель, (что, как я полагаю, перегрузит базу данных? Будет или замедлит ее?

).

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

Вернуться на верх