Blog
By Simeon Griggs |
Dead tuples from high-churn job queues can silently degrade your Postgres database when vacuum falls behind—especially alongside competing workloads. Traffic Control keeps cleanup on track. →
By Ben Dicken |
Not all traffic is created equal.When a database is overwhelmed, you want the important queries to keep executing, even if that means shedding lower-priority work.This is a much better outcome than the alternative: a total database outage. →
By Simeon Griggs |
A high memory percentage in PlanetScale Postgres is not necessarily a problem. Let's compare how memory and CPU usage are different, how not all memory usage is created equal, and which signals actually require attention. →
By Ben Dicken |
PgBouncer is the perfect pairing for Postgres's biggest weakness: connection management. Tuning it just right is important to make this work well, and here we cover everything you need to know →
By Ben Dicken |
What are database transactions and how do SQL databases isolate one transaction from another? →
By Richard Crowley |
On 2025-10-20, there was an incident that affected PlanetScale, initially caused by DNS misconfiguration in one of PlanetScale’s service providers, followed by several hours of capacity constraints and network instability. →
By Ben Dicken |
Postgres 18 brings a significant improvement to read performance via async I/O and I/O worker threads. Here we compare its performance to Postgres 17. →
By Vicent Martí |
A new hybrid design for scalable vector indexes and a reference implementation in MySQL →
By Ben Dicken |
Processes and threads are fundamental abstrations for operating systems. Learn how they work and how they impact database performance in this interactive article. →
By Sam Lambert |
Why a lagging client can stall or break failover, and how MySQL’s GTID model avoids it. →
By Ben Dicken |
Every time you use a computer, the cache is working to ensure your experience is fast. →
By Ben Dicken |
Benchmarking Postgres in a transparent, standardized and fair way is challenging. Here, we look at the process of how we did it in-depth →
By Vicent Martí |
A novel technique for implementing dynamic language interpreters in Go, applied to the Vitess SQL evaluation engine →
By Ben Dicken |
Take an interactive journey through the history of IO devices, and learn how IO device latency affects performance. →