Learn about the options for running non-blocking schema changes natively to MySQL, using Vitess, or other tools
The adaptive hash index help to improve performance of the already-fast B-tree lookups
Learn how to visualize the memory usage of a MySQL connection
MySQL has built-in functionality for collecting statistics on and profiling your MySQL queries. Learn how to leverage these features to identify problems.
Understand the different versions of UUIDs and why using them as a primary key in MySQL can hurt database performance.
Learn about a few common mistakes when designing your MySQL database schema.
In this blog post, we explore how complex data and geographic features can be represented in MySQL.
Learn about the various isolation levels used by MySQL to allow concurrency in your database.
Over 15 years ago, GitHub started as a Ruby on Rails application with a single MySQL database. Since then, GitHub has evolved its MySQL architecture to meet the scaling and resiliency needs of the platform—including building for high availability, implementing testing automation, and partitioning the data. Today, MySQL remains a core part of GitHub’s infrastructure and our relational database of choice.
This is the story of how we upgraded our fleet of 1200+ MySQL hosts to 8.0. Upgrading the fleet with no impact to our Service Level Objectives (SLO) was no small feat–planning, testing and the upgrade itself took over a year and …
[Read more]There is more to sharding than simply increasing data throughput. In this article, we explore three different benefits of sharding your database.