Skaitykite iš replikos ar snapshot (niekada iš primary), puslapiuokite su keyset puslapiavimu vietoj OFFSET, ribokite skaitymo tempą ir srautu perduokite rezultatus tiesiai į objektų saugyklą. Tikslas — eksportuoti 500 mln. eilučių nelaikant ilgų užraktų, nekeliant primary CPU ir nesprogdinant atminties.
Eksporto konvejeris
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)
