In a previous post, A Horizontal Scalability Mindset for MySQL, I discussed the concerns around growing individual MySQL instances too large and some basic strategies:
- Optimizing/minimizing size with proper data types
- Removing unused/duplicate indexes
- Keeping your Primary Keys small
- Pruning data
Finally, if those methods have been exhausted, I touched on horizontal sharding as the approach to keep individual instances at a reasonable size. When discussing my thoughts across our internal teams, there was lots of feedback that we needed to dive into the sharding topic in more detail. This post aims to give more theory and considerations around sharding along with a lightweight ProxySQL sample implementation.
What is Sharding?
Sharding is a word that is frequently used but …
[Read more]