Blog
Concurrency vs. Throughput: why more parallelism can make databases slower
[Engineering, Vitess, MySQL]Increasing throughput sometimes requires reducing parallelism. A look into why this is the case for Vitess + MySQL databases →
Vitess 23 is now generally available →
Vitess 22 is now generally available →
A novel technique for implementing dynamic language interpreters in Go, applied to the Vitess SQL evaluation engine →
Run Vitess workflows right from within PlanetScale. Migrate data from unsharded to sharded keyspaces, manage traffic cutover, and easily revert when problems arise. →
Vitess 21 is now generally available. →
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. →
Learn the basics of Change Data Capture (CDC) and how to leverage Vitess VStream API to build data pipelines. →
Learn about the options for running non-blocking schema changes natively to MySQL, using Vitess, or other tools →
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. →
Vitess 20 is now generally available. →
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. →
Harshit Gangal, Deepthi Sigireddi |
How we implemented a consistent lookup Vindex in Vitess to ensure data consistency without using 2PC →
The adaptive hash index helps to improve performance of the already-fast B-tree lookups →
Learn how to visualize the memory usage of a MySQL connection →
My experience working as an intern in the Vitess query serving team for PlanetScale. →
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. →
Vitess 19 is now generally available. →
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. →
We are releasing schemadiff, an open source command line tool to generate diffs between two MySQL databases. →
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. →
There is more to sharding than simply increasing data throughput. In this article, we explore three different benefits of sharding your database. →