top of page

Scaling MySQL with Vitess

Writer's picture: Heeth JainHeeth Jain

How Slack scaled MySQL to more than 2.3 million queries/second?


Slack was using MySQL for their almost all of their core operations, but faced scaling issues beyond a certain point.


They did their best to scale by implementing database sharding (technique to horizontally scale databases), failovers, backups and lot more.


By the end of 2016, they were dealing with with hundreds of thousands of queries/second across thousands of sharded MySQL instances.


They were regularly running into scaling and performance problems and had to constantly build workarounds for its limitations.


It was clear, that they needed a better approach for the future.


This is where Vitess comes in.


Originally built by Youtube to solve their own MySQL scaling issues, Vitess was later open-sourced.


Vitess checked all the boxes that Slack needed:

1. MySQL: Built on top of MySQL

2. Scalability: Built-in sharding functionality along with failovers and backup

3. Implementation: Scale database without adding logic to the app

4. Extensibility: 100% open source, hence easy to extend if they hit any limitations


It took Slack more than three years to complete this migration, which was a huge success, as much so that Slack is also one of the biggest contributors to Vitess.

bottom of page