Skaalaa vaiheittain: read replicat + caching lukemisille ensin, sitten sharding (Vitess) kirjoituksille — ja lisää connection pooling ennen mitään muuta, koska se on halvin 10-kertaistus. Lukemiset ja kirjoitukset skaalautuvat eri tavalla, joten älä tartu shardaukseen ensimmäisenä päivänä.
┌─▶ Cache (Redis) ── hit ──▶ return
App ─▶ Pool(PgBouncer/ProxySQL) miss ▼
│ ┌─▶ Read replica 1 ┐
├──── reads ─────────┼─▶ Read replica 2 ┼─ (async replication)
│ └─▶ Read replica N ┘
└──── writes ──▶ Primary ──▶ (later) Vitess shards ─▶ Primary A / Primary B
