Ребята, кто разруливал такую ситуацию, данных много(2-3 млн) в таблице, сделана страница куда выводятся резуьтаты статистики, сейчас все работает на связке постгресс+монго, тормозит все адово, клиент не хочет уступать в сторону кеширования части данных, просит реалтайм вывод.
Я вижу схему так, берем таблицы, которые хранят данные для расчетов, создаем одну таблицу, в которой будут колонки с параметрами для графиков(проценты, разница и т.п) пишем импорт данных с применением их написанных считалок этого всего добра, расчитываем все в бекграунде и заносит потихоньку в эту одну таблицу.
Так же пишем обработку новых данных, где на бекграунде будет пересчитывать поля(процентные, разница) и +=1 для счетчиков(int) каждый раз, когда поступает процесс создания.
Входные:
Давит не сильно, 50-70rpm на новые данные
Не совсем прикольно запускать джобы на каждый сейв, но запихывать перерасчет в сервер где происходят сейв повлечет увеличение респонза, поэтому скорее всего по вебхуку будет прилетать на сервер с расчетом статистики и джобами обрабатывать.
Кто разруливал реалтайм статистику с кучей процентов и вывода разниц, когда требовали - здесь и сейчас(новый сейв - покажи нам его прямо сейчас) ?
Я обычно стараюсь засунуть такие вычисления в кеш текучего стейта. В твоём случае я бы сначала разобрался в том, что тормозит, что бы придумать как это пофиксить