Shkallëzoni në faza: read replicas + caching për leximet së pari, pastaj sharding (Vitess) për shkrimet — dhe shtoni connection pooling para gjithçkaje, sepse është 10x-i më i lirë. Leximet dhe shkrimet shkallëzohen ndryshe, kështu që mos u kapni pas sharding-ut ditën e parë.
┌─▶ 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
Hapi 0: connection pooling
Çdo lidhje MySQL kushton memorie dhe një thread. Në trafik 100x do të shterni shumë para CPU-së. Një pooler si ose multiplekson mijëra lidhje aplikacioni në disa qindra lidhje DB. Është një ndryshim konfigurimi, jo një riarkitekturë — bëjeni së pari.
