Есть ли способ отложенно обновлять записи в БД?

Есть некие данные, которые обновляются в режиме реального времени. На основании их идет калькуляция значений, которые вносятся в БД из расчета что каждому пользователю соответствует свой набор результирующих значений.

Здравый смысл подсказывает, что делать UPDATE'ы для всех пользователей и пересчитывать значения в реальном времени нерационально, т.к данные отображаются только залогиненным (а это совсем малая часть от общего числа пользователей).

Как в таких случаях поступают "по науке", чтобы в первую очередь актуальные данные были у тех, кто онлайн, а для всех остальных данные пересчитывались с более низким приоритетом?
P.S: БД планируется использовать MySQL, но с удовольствием послушаю про другие, если они помогут решить проблему.
  • Вопрос задан
  • 2965 просмотров
Решения вопроса 1
Вам нужна очередь (queue). Из скрипта данные кладутся (push) в очередь, а затем кроном из нее достаются (pull) и обрабатываются. Там работает практически весь популярный функционал большинства highload-проектов (например, мессенджер).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Steely
Нафига такие сложности? Просто обновлять записи не судьба? Сколько у вас в час будет update'ов?

А вообще очередь решит вашу проблему?
Ответ написан
Ваш ответ на вопрос

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

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