
Sharding And Partitioning
This feature thread tracks the evolution of partitioning GitHub's relational databases to handle scale. Initially, GitHub.com relied on a single large MySQL database cluster. Over time, the company introduced strategies like virtual partitions, schema domains, and SQL linters to logically separate data. For physical migration, they adopted Vitess for vertical sharding and developed a custom write-cutover process using MySQL replication and ProxySQL. These efforts have resulted in significant load distribution and improved availability. The current focus is on adapting Git infrastructure to support agent-scale development, which demands a different architecture due to concurrent workloads from developers and agents in high-volume repositories.
Timeline












































