B-trees and database indexes
B-trees are used by many modern DBMSs. Learn how they work, how databases use them, and how your choice of primary key can affect index performance.
Instant deploy requests
PlanetScale now supports instant DDL. Where eligible, you can run deploy requests that complete near-instantly.
Changelog
Go to changelogCluster configuration
We’ve introduced a new panel that allows you to create and modify your keyspaces.
Read moreService tokens: all database permissions
You can now add service token permissions to all databases.
Read moreBrownout notice: legacy connection strings
We will continue doing brownouts on the small number of databases using legacy connection strings.
Read moreAnatomy of a Throttler, part 1
Learn about some design considerations for implementing a database throttler.
Increase IOPS and throughput with sharding
For big databases, IOPS and throughput can become a bottleneck in database performance. Learn how sharding helps scale out IOPS and throughput beyond the limitations of a single server.
Tracking index usage with Insights
Learn about the new PlanetScale Insights index tracking feature.
Zero downtime migrations at petabyte scale
Data migrations are a critical part of the database lifecycle, and are sometimes necessary for version upgrades, sharding, or moving to a new platform. In many cases, migrations are painful and error-prone. In this article, we walk through how migrations are performed at PlanetScale, and offer advice on how to improve the migration experience.
Faster backups with sharding
Sharding a database comes with many benefits: Scalability, failure isolation, write throughput, and more. However, one of the lesser-known benefits comes from improved backups and restore performance.
Building data pipelines with Vitess
Learn the basics of Change Data Capture (CDC) and how to leverage Vitess VStream API to build data pipelines.
The State of Online Schema Migrations in MySQL
Learn about the options for running non-blocking schema changes natively to MySQL, using Vitess, or other tools
Optimizing aggregation in the Vitess query planner
The Vitess query planner takes multiple passes over a query plan to optimize it as much as possible before execution. A recent tricky bug report led to an improvement in how the optimizer functions.
Dealing with large tables
Large databases often have a small number of very large tables that makes scaling difficult. How can you scale with these while keeping your database performant? This article covers three techniques.
Sharding strategies: directory-based, range-based, and hash-based
Learn about the different types of sharding: directory-based, range-based, and hash-based plus some of the pros and cons of each.
Announcing Vitess 20
Vitess 20 is now generally available.
Self-managed Vitess vs Managed Vitess with PlanetScale
PlanetScale and Vitess have a close relationship. Learn what it looks like to run Vitess on your own vs using PlanetScale. We cover cost, time to implement, management, and more.
One million connections
Learn how to use PlanetScale to safely include your database in your serverless functions without hitting connection limits in MySQL.
Building PlanetScale with PlanetScale
How PlanetScale uses database branching and non-blocking schema changes to build PlanetScale.
Achieving data consistency with the consistent lookup Vindex
How we implemented a consistent lookup Vindex in Vitess to ensure data consistency without using 2PC
The MySQL adaptive hash index
The adaptive hash index help to improve performance of the already-fast B-tree lookups
Introducing global replica credentials
With global replica credentials, you can now automatically route reads to the closest replica.
Profiling memory usage in MySQL
Learn how to visualize the memory usage of a MySQL connection
Summer 2023: Fuzzing Vitess at PlanetScale
My experience working as an intern in the Vitess query serving team for PlanetScale.
How PlanetScale makes schema changes
Learn how PlanetScale uses GitHub Actions and PlanetScale to automate schema changes on our own application.
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.
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.
Announcing Vitess 19
Vitess 19 is now generally available.
PlanetScale forever
PlanetScale is committed to providing a reliable and sustainable platform for our customers, not just in the short-term, but forever. For this reason, we are prioritizing profitability.
Introducing schema recommendations
Automatically receive recommendations to improve database performance, reduce memory and storage, and improve your schema based on production database traffic.
Foreign key constraints are now generally available
You can now enable foreign key constraints to enforce referential integrity in your PlanetScale database.
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.
Three common MySQL database design mistakes
Learn about a few common mistakes when designing your MySQL database schema.
OAuth applications are now available to everyone
You can now build integrations that seamlessly authenticate with PlanetScale and allow management access to your users’ organizations and databases from your application.