Posts by Ben Dicken
Transparent database benchmarks help customers make better decisions and push vendors to build better products. →
Benchmarking is hard. Done wrong it is very misleading, and unfortunately it is frequently done wrong. Let's explore how not to make silly mistakes. →
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. →
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? →
Using MotherDuck with PlanetScale →
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. →
Processes and threads are fundamental abstrations for operating systems. Learn how they work and how they impact database performance in this interactive article. →
Every time you use a computer, the cache is working to ensure your experience is fast. →
Benchmarking Postgres in a transparent, standardized and fair way is challenging. Here, we look at the process of how we did it in-depth →
Take an interactive journey through the history of IO devices, and learn how IO device latency affects performance. →
Learn about the database sharding scaling pattern in this interactive blog. →
Run Vitess workflows right from within PlanetScale. Migrate data from unsharded to sharded keyspaces, manage traffic cutover, and easily revert when problems arise. →
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. →
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. →
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. →
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. →
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 →
MySQL has built-in functionality for collecting statistics on and profiling your MySQL queries. Learn how to leverage these features to identify problems. →