Cross-posted on Google Cloud Platform Blog.
Your new website is growing exponentially. After a few rounds of high fives, you start scaling to meet this unexpected demand. While you can always add more front-end servers, eventually your database becomes a bottleneck, which leads you to . . .
- Add more replicas for better read throughput and data durability
- Introduce sharding to scale your write throughput and let your data set grow beyond a single machine
- Create separate replica pools for batch jobs and backups, to isolate them from live traffic
- Clone the whole deployment into multiple datacenters worldwide for disaster recovery and lower latency
At YouTube, we went on that …