Skip to content
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
Datetimes versus timestamps in MySQL
Engineering

Datetimes versus timestamps in MySQL

Learn the differences between datetimes and timestamps in MySQL, the DATE, YEAR, and TIME columns, timezones, and when to use each.

Aaron Francis
Generated hash columns in MySQL
Engineering

Generated hash columns in MySQL

Creating generated hash columns in MySQL for faster strict equality lookups.

Aaron Francis
Using redundant conditions to unlock indexes in MySQL
Engineering

Using redundant conditions to unlock indexes in MySQL

Using redundant conditions as a method to unlock obfuscated indexes and improve performance in MySQL.

Aaron Francis
Character sets and collations in MySQL
Engineering

Character sets and collations in MySQL

Understanding the differences between character sets and collations in MySQL.

Aaron Francis
Backward compatible database changes
Engineering

Backward compatible database changes

Learn about safely using the expand, migrate, and contract pattern to make database schema changes without downtime and data loss.

Taylor Barnett
Why isn’t MySQL using my index?
Engineering

Why isn’t MySQL using my index?

There are several reasons why MySQL might not consider your index, and in this article we’ll explore some of the most common ones.

Aaron Francis
Serverless Laravel applications with AWS Lambda and PlanetScale
Engineering

Serverless Laravel applications with AWS Lambda and PlanetScale

Learn how to create serverless Laravel applications by deploying them to AWS Lambda and using PlanetScale as the database.

Matthieu Napoli
Database branching: three-way merge for schema changes
Engineering

Database branching: three-way merge for schema changes

Learn how PlanetScale uses Git-like three-way diff to resolve schema change conflicts across database branches.

Shlomi Noach
Pagination in MySQL
Engineering

Pagination in MySQL

An overview of the different ways to paginate in MySQL including limit/offset pagination and cursor pagination plus the pros and cons of each.

Aaron Francis
What is database sharding and how does it work?
Engineering

What is database sharding and how does it work?

Learn what databse sharding is, how sharding works, and some common sharding frameworks and tools.

Justin Gage
Connection pooling in Vitess
Engineering

Connection pooling in Vitess

Connection pooling reduces the overhead of establishing new database connections. Learn how connection pooling works and how it is handled in Vitess.

Harshit Gangal
Zero downtime Rails migrations with the PlanetScale Rails gem
Engineering

Zero downtime Rails migrations with the PlanetScale Rails gem

Learn about the Ruby on Rails workflow that protects your database and application from accidental downtime and data loss.

Mike Coutermarsh