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.
Learn the best practices for configuring MySQL replication, and how to ensure your data is always available.
Learn about what database replication is and some real-world use cases of MySQL replication that can benefit your database scalability strategy.
Learn what distributed caching systems are, how they complement MySQL databases, and potential issues you might face when implementing them.
Learn the basics of MySQL partitioning, including partitioning with range, list, and key strategies, as well as how partitioning relates to database sharding.
Not sure when to shard your MySQL database? This article covers when you should consider horizontal sharding as a scaling strategy in MySQL and some other scaling options before then.