Partitioning GitHub's relational databases to handle scale
GitHub defined schema domains and linted cross-domain queries so it could move table groups onto separate MySQL clusters.
- Published
- 2021-09-27
- Scale
- Not stated in source
- Techniques
- vertical partitioning schema domains online migration
- Stack
- MySQL Ruby on Rails Vitess
Try this stack yourself
- Railway · Deploy something like this on Railway: spin up MySQL and Ruby on Rails plus your app in a few clicks. New accounts get $20 in credit (applied when you pick a paid plan).
Railway isn't part of GitHub's setup in this story. It's just an easy place to try the same building blocks. - Better Stack · Monitor uptime and logs with Better Stack, and get alerted fast if a migration or traffic spike goes sideways on your own system.
Better Stack isn't part of GitHub's setup in this story. It's a tool for watching your own systems while you try ideas like these.
Some links above are affiliate links: if you sign up, How They Scaled may earn a commission at no extra cost to you. We only list tools that fit the stack in the story.