Если ваши данные настолько велики, что они не помещаются в память - я думаю, гигабайт или больше - тогда они, вероятно, слишком велики, чтобы разумно предоставлять их в виде одного HTTP-ответа. Вы будете держать соединение открытым в течение очень долгого времени. Если у вас возникнут проблемы на полпути, клиенту нужно будет начать все сначала, возможно, через несколько минут go.
Более удобный API-интерфейс введет разбиение на страницы. Ваш вызывающий может указать размер страницы и индекс страницы для выборки как часть своего запроса
Например
/my-api/some-collection?size=100&page=50
Это будет означать выборку 100 элементов, начиная с 5000-го (5000 - 5100)
Возможно, вы могли бы наложить разумные ограничения на размер страницы в зависимости от того, что вы можете загрузить в память за один раз.