Blog
Simeon Griggs [@simeonGriggs] |
There are many ways to slice a Postgres database for multi-tenant applications. Let's look at the three most common approaches and the trade-offs. →
Simeon Griggs [@simeonGriggs] |
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. →
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. →
Simeon Griggs [@simeonGriggs] |
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. →
Introducing query tagging improvements in Postgres Query Insights →
Learn how Traffic Control enforces real-time limits on Postgres queries. →
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 →
What are database transactions and how do SQL databases isolate one transaction from another? →
How PlanetScale uses Cursor commands to automate our changelog entries →
Introducing AI-powered index suggestions for PostgreSQL →
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. →
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. →
A new hybrid design for scalable vector indexes and a reference implementation in MySQL →
Processes and threads are fundamental abstrations for operating systems. Learn how they work and how they impact database performance in this interactive article. →
Why a lagging client can stall or break failover, and how MySQL’s GTID model avoids it. →
Every time you use a computer, the cache is working to ensure your experience is fast. →
The principles and processes we follow for fault tolerance. →
Benchmarking Postgres in a transparent, standardized and fair way is challenging. Here, we look at the process of how we did it in-depth →
A novel technique for implementing dynamic language interpreters in Go, applied to the Vitess SQL evaluation engine →
Our experience running AWS EBS at scale for critical workloads →
Take an interactive journey through the history of IO devices, and learn how IO device latency affects performance. →
Our experience upgrading the Query Insights database to PlanetScale Metal →
Learn how PlanetScale Metal was built and how we ensured it is safe. →
Learn how PlanetScale keeps its private fork of Vitess up-to-date with OSS →