Skip to content
How PlanetScale makes schema changes
Engineering

How PlanetScale makes schema changes

Learn how PlanetScale uses GitHub Actions and PlanetScale to automate schema changes on our own application.

Mike Coutermarsh
Identifying and profiling problematic MySQL queries
Engineering

Identifying and profiling problematic MySQL queries

MySQL has built-in functionality for collecting statistics on and profiling your MySQL queries. Learn how to leverage these features to identify problems.

Benjamin Dicken
The problem with using a UUID primary key in MySQL
Engineering

The problem with using a UUID primary key in MySQL

Understand the different versions of UUIDs and why using them as a primary key in MySQL can hurt database performance.

Brian Morrison II
Amazon Aurora Pricing: The many surprising costs of running an Aurora database
Engineering

Amazon Aurora Pricing: The many surprising costs of running an Aurora database

Amazon Aurora is pitched as a straightforward and scalable database service on AWS, but there are associated costs that you might not be aware of.

Brian Morrison II
Three common MySQL database design mistakes
Engineering

Three common MySQL database design mistakes

Learn about a few common mistakes when designing your MySQL database schema.

Brian Morrison II
PlanetScale branching vs. Amazon Aurora blue/green deployments
Engineering

PlanetScale branching vs. Amazon Aurora blue/green deployments

Learn the key differences between Amazon Aurora blue/green deployments and PlanetScale branching.

Brian Morrison II
Considerations for building a database disaster recovery plan
Engineering

Considerations for building a database disaster recovery plan

Learn different considerations and best practices for quickly and efficiently recovering your database when downtime hits.

Brian Morrison II
Working with geospatial features in MySQL
Engineering

Working with geospatial features in MySQL

In this blog post, we explore how complex data and geographic features can be represented in MySQL.

Savannah Longoria
PlanetScale vs Amazon Aurora replication
Engineering

PlanetScale vs Amazon Aurora replication

Learn about how Amazon Aurora replication works, and how it compares to the traditional MySQL replication strategy used by PlanetScale.

Brian Morrison II
MySQL isolation levels and how they work
Engineering

MySQL isolation levels and how they work

Learn about the various isolation levels used by MySQL to allow concurrency in your database.

Brian Morrison II
Introducing the schemadiff command line tool
Engineering

Introducing the schemadiff command line tool

We are releasing schemadiff, an open source command line tool to generate diffs between two MySQL databases.

Shlomi Noach
The challenges of supporting foreign key constraints
Engineering

The challenges of supporting foreign key constraints

Today, PlanetScale launched support for foreign key constraints. This article covers some of the behind-the-scenes technical challenges we had to overcome to support them.

Shlomi Noach, Manan Gupta
What is HTAP?
Engineering

What is HTAP?

Learn what HTAP is, how HTAP compares to OLAP and OLTP, and some pros and cons of HTAP.

Savannah Longoria
Webhook security: a hands-on guide
Engineering

Webhook security: a hands-on guide

Learn what went into building PlanetScale webhooks from a security perspective. This article covers SSRF, webhook validation, DDoS, and more.

Mike Coutermarsh
Three surprising benefits of sharding a MySQL database
Engineering

Three surprising benefits of sharding a MySQL database

There is more to sharding than simply increasing data throughput. In this article, we explore three different benefits of sharding your database.

Brian Morrison II
MySQL replication: Best practices and considerations
Engineering

MySQL replication: Best practices and considerations

Learn the best practices for configuring MySQL replication, and how to ensure your data is always available.

Brian Morrison II
A guide to HTML email with Ruby on Rails and Tailwind CSS
Engineering

A guide to HTML email with Ruby on Rails and Tailwind CSS

Learn how to build HTML emails using Rails and Tailwind CSS. We also cover how to overcome some common obstacles such as Gmail message clipping, large file size, Apple autolinking, and more.

Ayrton
What is MySQL replication and when should you use it?
Engineering

What is MySQL replication and when should you use it?

Learn about what database replication is and some real-world use cases of MySQL replication that can benefit your database scalability strategy.

Brian Morrison II
Distributed caching systems and MySQL
Engineering

Distributed caching systems and MySQL

Learn what distributed caching systems are, how they complement MySQL databases, and potential issues you might face when implementing them.

Brian Morrison II
What is MySQL partitioning?
Engineering

What is MySQL partitioning?

Learn the basics of MySQL partitioning, including partitioning with range, list, and key strategies, as well as how partitioning relates to database sharding.

Brian Morrison II
Personalizing your onboarding with Markdoc
Engineering

Personalizing your onboarding with Markdoc

Learn how we utilized Markdoc to create custom, extendable product onboarding at PlanetScale.

Ayrton
How to scale your database and when to shard MySQL
Engineering

How to scale your database and when to shard MySQL

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.

Jonah Berquist
Scaling hundreds of thousands of database clusters on Kubernetes
Engineering

Scaling hundreds of thousands of database clusters on Kubernetes

Explore what to consider when deploying databases to Kubernetes, and how PlanetScale utilizes Kubernetes and Vitess to run hundreds of thousands of databases.

Brian Morrison II
Horizontal sharding for MySQL made easy
Engineering

Horizontal sharding for MySQL made easy

Historically, there has been the belief that you cannot horizontally scale and shard MySQL, learn how Vitess has made MySQL sharding at the database layer a reality.

Lucy Burns, Taylor Barnett
Deploying multiple schema changes at once
Engineering

Deploying multiple schema changes at once

Why PlanetScale deploys branch changes near-atomically, and how it applies concurrency and dependency resolution without impacting production databases.

Shlomi Noach
Storing time series data in sharded MySQL to power Query Insights
Engineering

Storing time series data in sharded MySQL to power Query Insights

How we built a scalable telemetry pipeline with Apache Kafka and PlanetScale.

Rafer Hazen
How brand design works at PlanetScale
Engineering

How brand design works at PlanetScale

Learn how the Brand team designs and builds marketing experiences at PlanetScale.

Skully Paoli
Performant database tree traversal with Rails
Engineering

Performant database tree traversal with Rails

Learn how to solve a tree traversal N+1 query problem in your Rails application.

Mike Coutermarsh
How PlanetScale keeps your data safe
Engineering

How PlanetScale keeps your data safe

A detailed description of the multi-layered approach PlanetScale takes to ensure your data is safe.

Sam Lambert