Đọc từ replica hoặc snapshot (đừng bao giờ đọc primary), phân trang bằng keyset pagination thay vì OFFSET, throttle tốc độ đọc, và stream thẳng kết quả vào object storage. Mục tiêu là export 500M dòng mà không giữ lock lâu, không làm CPU primary tăng vọt, và không nổ bộ nhớ.
Pipeline export
Primary DB ──async replication──▶ Read replica / snapshot
│ (tách khỏi traffic live)
▼
Export worker
keyset page: WHERE id > :last
│ throttle (sleep / rate limit)
▼
Stream (batches)
│
▼
S3 / GCS (NDJSON / Parquet)
