Реальный кейс, с которым работает один из экспертов нашей школы
Есть система1, которая для своей внутренней логики нуждается в данных из системы2.
Немного НФТ:
- объём данных -- 100 ГБ
- 30 млн записей, в каждой по 30 полей
- все данные лежат в одной таблице
Вопрос: как организовать передачу?
Какие варианты видите? Что предложите?
p.s. REST вообще не вариант. Если отправишь запрос с телом в 100 ГБ, твой REST API умрет мучительной смертью на первом же сетевом устройстве. Серверы не читают файлы "на лету" частями. Большинство REST-фреймворков пытаются загрузить весь payload в оперативную память (RAM), чтобы распарсить его в объект. 100 ГБ в RAM это фантастика. У тебя просто нет столько памяти. Сервер упадет с ошибкой Out Of Memory (OOM) раньше, чем ты получишь первый байт данных в контроллере
Есть система1, которая для своей внутренней логики нуждается в данных из системы2.
Немного НФТ:
- объём данных -- 100 ГБ
- 30 млн записей, в каждой по 30 полей
- все данные лежат в одной таблице
Вопрос: как организовать передачу?
Какие варианты видите? Что предложите?
p.s. REST вообще не вариант. Если отправишь запрос с телом в 100 ГБ, твой REST API умрет мучительной смертью на первом же сетевом устройстве. Серверы не читают файлы "на лету" частями. Большинство REST-фреймворков пытаются загрузить весь payload в оперативную память (RAM), чтобы распарсить его в объект. 100 ГБ в RAM это фантастика. У тебя просто нет столько памяти. Сервер упадет с ошибкой Out Of Memory (OOM) раньше, чем ты получишь первый байт данных в контроллере