Вы вряд ли сможете передать этот объем данных в ЛЮБУЮ систему или из нее за одну «транзакцию» (или запрос).И если бы вы могли, вы бы не захотели этого делать, потому что, когда он терпит неудачу, он может потерпеть неудачу навсегда, поскольку вам нужно начинать все сначала.
Вам следует «пакетировать» документы в управляемые куски… 100 МБ или «1 минута - это разумно высокая верхняя граница - по мере увеличения размера и времени вероятность возникновения проблем возрастает (увеличивается) из-за тайм-аутов, памяти, временного пространства, проблем с переходными процессами в сети Интернет и т. Д.
ПростойСтратегия, которая часто работает хорошо, состоит в том, чтобы сначала создать «список» того, что нужно извлечь (документ Uris, первичные ключи ...), сохранить его, а затем пройтись по списку партиями, повторяя при необходимости.В зависимости от места назначения и локального хранилища и т. Д. Вы можете либо объединить партию для отправки получателю, либо, как правило, лучше отправить целевые данные также партиями.
Этот подход обладает хорошими транзакционными характеристиками ... вы эффективно «замораживаете» набор данных при составлении списка, но вам может потребоваться время на его сбор и отправку.В зависимости - вы можете сделать это параллельно.