Можете ли вы избежать чтения потока, пока не узнаете, что вы собираетесь с ним делать?
Если вы используете этот подход, вы можете создавать дампы, считывать части данных и записывать их в базу данных, когда вы читаете, или читать и обрабатывать данные, когда вы читаете их.
Таким образом, вам не нужно будет одновременно читать больше 1 МБ (или меньше).