Как организовать систему рейтинга пользователя в node+sql?
Всем привет! Хочу разобраться как делать систему рейтинга по 5 бальной шкале
План такой:
- Создать таблицу с рейтингов ratings с свойствами: user_id, value, created_at, updated_at
- При чтение определенного юзера брать все строки с таблицы ratings и выводить среднее число
Вопрос:
Правильная ли структура? Боюсь за оптимизацию в дальнейшем, когда таблицы достаточно вырастит
Если у вас есть опыт или более лучшие идеи, то буду очень благодарен!
Нормальная схема, а если будут проблемы с производительностью, то сделайте кэш в таблице пользователя или в внешнем кэше.
Т.е. грубо говоря, если вам не нужен онлайн рейтинг пользователя, то сделайте его полем в его таблице, и по крону обновляйте раз в 60*x минут.