Skala dalam peringkat: read replica + caching untuk bacaan dahulu, kemudian sharding (Vitess) untuk penulisan — dan tambah connection pooling sebelum apa-apa lain, kerana ia 10x yang paling murah. Bacaan dan penulisan menskala secara berbeza, jadi jangan menggapai sharding pada hari pertama.
┌─▶ 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
