logo

Introduction to Vitess and Real World Usage

2023-04-21

Authors:   Florent Poinsard, Arthur Schreiber


Summary

GitHub uses MySQL and v-test for their database management and scaling strategy
  • GitHub has a standard MySQL setup with 80 clusters and 2000 instances
  • They have a read-heavy load with 330 terabytes of data across primaries and replicas
  • Their scaling strategy includes setting up separate clusters for new features, breaking up existing clusters, and adding more replicas
  • They ran into problems with scaling approaches and schema migration times
  • They implemented v-test as a solution, which is a sharding model that fits their data model well
  • v-test allows for seamless schema changes, automatic failure detection and repair, and query consolidation
  • GitHub has successfully migrated 20 key spaces to v-test, reducing the number of hosts needed and improving read and write rates
GitHub had to perform brain surgery on their database clusters to separate tables and spread the load, which was a time-consuming and difficult process

Abstract

As application traffic grows, the increased load will ultimately reach the backend database. This can lead to increased latency and slower response times if the database management system is not able to scale as load increases. System designers and architects have two options for scaling: vertical and horizontal. While horizontal scaling is usually more cost-effective and flexible, not all database management systems allow you to scale this way. Vitess is a large open-source distributed database management system. It was designed to scale horizontally and support an increasing load. This session will introduce what is Vitess and give a real world usage example of Vitess.

Materials:

Post a comment