Use Smart Clients
Case 1: sub-queries know about primary/secondary and do the right thing
Case 2: customers use our software to submit queries
- we can dynamically partition their traffic across multiple clusters
- disaster tolerance
- global load balancing
Disaster => move load to other clusters, move those clusters to smaller databases to handle the unexpected load...