Διαβάστε από ένα replica ή snapshot (ποτέ από το primary), σελιδοποιήστε με keyset pagination αντί για OFFSET, κάντε throttle τον ρυθμό ανάγνωσης, και κάντε stream τα αποτελέσματα κατευθείαν σε object storage. Ο στόχος είναι να κάνετε export 500M rows χωρίς να κρατάτε long locks, να τινάζετε το primary CPU, ή να ανατινάζετε τη μνήμη.
Export pipeline
Primary DB ──async replication──▶ Read replica / snapshot
│ (isolated from live traffic)
▼
Export worker
keyset page: WHERE id > :last
│ throttle (sleep / rate limit)
▼
Stream (batches)
│
▼
S3 / GCS (NDJSON / Parquet)
