Выполнять расчеты по данным в бэкэнде в ожидании запроса API - PullRequest
0 голосов
/ 12 марта 2020

Прежде всего, я не ищу какой-либо код, а только руководство, связанное с рабочим процессом и технологиями, которые можно использовать для решения нашей конкретной проблемы c.

У нас есть система, в которой мы предоставляем визуальный интерфейс для построения запросов. У нас есть множество данных, к которым пользователь может применить этот запрос. Таким образом, запрос может быть чем-то вроде all rows where x > 5 and y <2.5.

. Хотя это довольно легко достичь, проблема, с которой мы сталкиваемся, состоит в том, что поля x и y не являются предварительно вычисленными полями, и эти отношения могут быть определены с помощью Пользователь. Например, пользователь может определить отношение типа x = (a+b)-c^2, а затем применить фильтр к x.

Поскольку значение x необходимо рассчитать динамически, построителю запросов потребуется значительное количество времени для возврата Результаты. Поэтому мне было интересно, можем ли мы реализовать какую-то предварительную выборку и предварительную обработку, чтобы в тот момент, когда пользователь выбирает поле x, мы вычисляем все значения для x во внутреннем интерфейсе. Поскольку пользователю может потребоваться несколько секунд для определения всего запроса, к моменту выполнения пользователем будет выполнено хотя бы часть вычислений.

Я провел некоторое исследование и не смог найти информацию, указанную c к такому виду предварительной обработки. Я нашел много информации о кешировании веб-страниц. Я также читал немного о Redis, но, похоже, это не касается конкретно такого рода проблем.

Что мы можем использовать для предварительной обработки данных таким образом?

Наши внутренние API написаны в Django, а данные хранятся в MongoDb. Внешний интерфейс использует React и Redux.

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