Django дизайн соответствия пользователя - вести таблицу перекрестных оценок или рассчитывать на лету? - PullRequest
0 голосов
/ 19 января 2020

Я пытаюсь предоставить конечную точку для сопоставления пула пользователей между собой на основе их индивидуальных критериев. Таблица crit_ranking - это FK, связанный с таблицей пользователей. Пользователи регулярно / время от времени обновляют свои значения критериев_ранкинга, но, скорее всего, будут вызывать список рейтинга чаще. Я думаю о двух разных подходах.

  1. Создание таблицы перекрестного ранжирования NxN, которая обновляется каждый раз, когда пользователь изменяет критерий критериев. Таблица растет исключительно большой с увеличением N. Может ли сервер sh потенциально взломать, если одновременно обновляются многие пользователи?

  2. Расчет рейтинга на лету каждый раз, когда пользователь запрашивает список совпадений с наивысшим рейтингом (обычно с некоторыми дополнительными фильтрами). сузить сравниваемые ряды). Возможность многократных повторяющихся вычислений, но также облегчает хранение?

В идеале я хотел бы запустить алгоритм Гейла-Шепли для ранжирования после их вычисления.

Что бы вы сделали? Спасибо, если вы дадите мне знать, если я смотрю на это неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...