Как оптимально хранить CSV файлы на сервере: в базе данных Postgres или локально на сервере, а в базе хранить просто путь к файлу (файлы будут в zip архиве и архивы размером от 5 КБ до 250кб, изредка 1-2 мб)?
В CSV файле данные из базы на основе 5-10 фильтров (в итоге возвращает от 5 до 5000 записей, где для каждой записи около 120 столбцов из разных таблиц). На фронтенде есть таблица c 5 столбцами (имя, фильтры, дата создания, столбец с иконками скачивания и удаления) , где при клике по иконке скачивания должен скачиваться архив с данными для заранее заданных фильтров (архив нужен, так как может быть много мелких файлов, до 20-40, например отдельный CSV файл для каждой компании производителя техники )
Ежемесячно будет формироваться около 5000-10000 файлов, храниться они будут 6 месяцев, после чего удаляться, то есть более 100 000 файлов в базе или файловой системе не ожидается.
Хранить готовые файлы на сервере хочу из-за скорости. Мне кажется, что гораздо быстрее повторно скачать уже сформированный файл который хранится на сервере, чем каждый раз при скачивании файла 1. отправлять запрос к базе данных с фильтрами 2. на основе отфильтрованных данных сформировать CSV файл(ы) 3. заархивировать файл(ы) и 4. затем скачать. Или я неправильно думаю?
Сам склоняюсь хранить файлы в файловой системе основываясь на данной теме:
https://softwareengineering.stackexchange.com/a/150724