Я знаю, что есть вопросы, связанные с SO, но я не уверен, что условия, над которыми мне приходится работать, вызывают какие-либо изменения в ответе, поэтому я задаю его здесь.
Я создаю простое веб-приложение на Angular, которое импортирует данные электронной таблицы от пользователя и отправляет данные в бэкэнд Django, который выполняет анализ данных на нем. Результаты данных возвращаются во внешний интерфейс, а Angular создает панель результатов. Существует диаграмма, отображаемая для каждого столбца электронной таблицы. Я сталкиваюсь с двумя вариантами:
a) Сохранение электронной таблицы в памяти браузера и отправка каждого столбца данных отдельно на сервер Django, который выполняет анализ данных и возвращает результаты.
Плюсы: простая архитектура. Кэширование не требуется.
Минусы: если на листе 150 столбцов, это приведет к 150 вызовам API для этого пользователя.
b) Отправка всего листаданные и пусть Python обрабатывает все. Он вернет большой кусок данных взамен, который должен быть распакован Angular.
Плюсы: только один запрос на файл.
Минусы: для последующих вызовов для того жефайл, мне может понадобиться кэширование? Если файл изменился, это может привести к устареванию данных. Мне также может понадобиться поддерживать сеансы для каждого пользователя.
Ограничения, с которыми я работаю: Я не могу сохранить документ ни на сервере Django, ни в БД. Несмотря на то, что это только внутреннее приложение, документы могут быть чувствительными, и пользователи не будут удобны для хранения любого вида.
Кроме того, существует высокая вероятность того, что файлы могут иметь размер более 100 МБ,так что это также становится фактором.
В таком случае, имеет ли смысл реализовать «Много маленьких запросов»? Заранее извиняюсь, если вопрос повторяется.