Django: данные отслеживания просмотров с десятками тысяч просмотров в день
У меня есть приложение Django с бэкендом Postgres. Пользователи могут создавать посты и просматривать их.
"Просмотры" составляют от нескольких десятков тысяч до 100К+ в день. Мы хотим отслеживать просмотры, чтобы отфильтровать посты, которые пользователи уже видели на своей домашней временной шкале. В будущем это также будет использоваться для алгоритмического улучшения всплытия контента для пользователей.
Моя первоначальная мысль была хранить эти представления как строки в базе данных в виде другой таблицы:
class PostView(models.Model):
post = models.ForeignKey(Post)
user = models.ForeignKey(User)
count = models.IntegerField(default=1)
Однако это быстро перегрузит базу данных сотнями тысяч (или миллионами) дополнительных строк за несколько недель, (что, как я полагаю, перегрузит базу данных? Будет или замедлит ее?
).Возможно, есть другой способ, которым люди обычно хранят такого рода данные представления? Или мой подход действительно хорош?