อ่านจาก replica หรือ snapshot (ห้ามจาก primary), เลื่อนหน้าด้วย keyset pagination แทน OFFSET, throttle อัตราการอ่าน และ stream ผลลัพธ์ตรงไปยัง object storage เป้าหมายคือ export 500M row โดยไม่ถือ lock นาน, ไม่ทำให้ CPU ของ primary พุ่ง หรือ memory ระเบิด
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)
