Ben
banner
benjdd.com
Ben
@benjdd.com
databases @planetscale.com
Pinned
Ben @benjdd.com · Mar 13
I implemented an ssd, hdd, and tape device.

In javascript.

For a blog.
Being knee-deep in Postgres, things I miss from MySQL:

- B-tree table storage
- Vitess
- Undo log based MVCC
- SHOW TABLES
- Vitess
- Buffer that doesn't rely on OS page cache
- SHOW CREATE DATABASE

But mostly, Vitess.
December 11, 2025 at 2:19 PM
Backpressure is key for well-behaved infrastructure.

When databases, message queues, connection poolers, or other systems get overloaded, how do they deal with the pressure?
December 10, 2025 at 3:56 PM
Who's ready to build Sonnet 5.0 together?
December 9, 2025 at 3:07 PM
IO Devices and Latency is the most ambitious article I've written.

Still figuring out how to top this in 2026.

Taking ideas.
December 8, 2025 at 2:26 PM
Postgres has a process-per-connection architecture. Therefore, you should use a connection pooler whenever possible.

These sit between the app and database. They maintain a pool of connections and dynamically map incoming requests to to them. PgBouncer is the most popular tool for this job!
December 7, 2025 at 1:35 PM
Speaking of MySQL powering the internet - Uber runs on over 2,600 MySQL clusters!

They recently moved many of these from a "traditional" primary-replica model to Paxos-based group replication.

Great benchmarks included on their blog too.

www.uber.com/blog/improvi...
December 4, 2025 at 6:43 PM
Come work with me at PlanetScale!

We're growing the team that educates and supports our engineering community. If you love databases and seeing customers succeed, these roles are for you.

Specifically, we're hiring a Community Engineer and Developer Events Lead.

planetscale.com/careers
Careers — PlanetScale
Building the database of the future, together.
planetscale.com
December 3, 2025 at 7:51 PM
ORMs are great, but you still need to learn SQL + database performance fundamentals.

Running an app at scale demands a deeper understanding of indexing, joins, and data access patterns.
December 1, 2025 at 2:09 PM
Think databases are boring?

Indexing → data structures + algorithms
AI → RAG + learned indexes
MVCC → concurrent programming
Sharding → distributed systems
Query parsing → formal languages
Query planning → stats + optimization

Databases encompass tons of interesting software engineering problems.
November 30, 2025 at 2:24 PM
Every now and then I stumble across an underrated article.

An example: "Measuring Latencies Between AWS Availability Zones" (link below). An incredible resource for anyone building on AWS.

What are your favorite, lesser-known blogs?

www.bitsand.cloud/posts/cross-...
November 28, 2025 at 2:31 PM
On a managed database, YOU benefit from the shared experience of the entire fleet.

There's tons of hard-to-predict issues. Intermittent AWS network lag. PG + MySQL edge cases. etc.

PlanetScale continually hardens our systems against these problems, and all customers win.
November 26, 2025 at 5:10 PM
Databases 🤝 Physics
November 25, 2025 at 3:53 PM
Postgres supports point-in-time recovery: the ability to "travel back in time" to a previous database state.

This works via a combination of backup-restores and WAL replay.
November 24, 2025 at 3:46 PM
These graphs never get old.

Depot uses one of my favorite tools, PlanetScale Insights, to drill in on query performance issues and address them via schema change DRs.
November 23, 2025 at 9:41 PM
Bf-trees are a high-performance alternative to the classic B-tree.

The key contribution: Decoupling the size of on-disk pages from the size of memory cache entries.

I'm curious if/when MySQL and Postgres will adopt modern versions of classic indexes.
November 23, 2025 at 2:25 PM
Reposted by Ben
Postgres databases now come with LLM-powered index recommendations.

Indexes are crucial for database performance, and these recommendations help ensure your queries are executing optimally.

Read about how we built this:
planetscale.com/blog/postgre...
AI-Powered Postgres index suggestions — PlanetScale
Introducing AI-powered index suggestions for PostgreSQL
planetscale.com
November 21, 2025 at 7:03 PM
Intercom is powered by nearly 1000 MySQL instances. Sharding brought to you by Vitess.

Amazing talk by Eugene Kenny at SF Ruby conf.
November 21, 2025 at 12:06 AM
What are your favorite technical papers?

I want to do some livestreams going over papers as a group.

Much like my grad-school days of sitting in a classroom and discussing design tradeoffs of popular tech literature.
November 20, 2025 at 7:01 AM
Postgres uses TOAST to store large, variable-sized data values like JSONB and TEXT.

Using it impacts performance, so you gotta know the tradeoffs.
November 19, 2025 at 1:56 PM
Reposted by Ben
Don't be alarmed, I won't be blogging daily, but I did just publish a second article in as many days.

Everything is lock-in
rcrowley.org/2025/everyth...
Everything is lock-in — Richard Crowley
rcrowley.org
November 17, 2025 at 2:44 PM
S3 is powered by millions of HDDs.

This Andy Warfield article is a fascinating look under the covers one of the largest storage systems on earth.

I particularly enjoyed the discussion of scaling both the technology and ones self as an engineer.

www.allthingsdistributed.com/2023/07/buil...
November 17, 2025 at 2:50 PM
Biggest takeaway from KubeCon: People want Neki badly.

We're building the solution for scaling and managing huge Postgres databases.

More to come, but in the meantime: neki.dev
Neki - Sign Up
Join Neki and stay updated with our latest news and updates.
neki.dev
November 14, 2025 at 5:40 PM
PlanetScale Insights is amazing.

Correlating schema/config changes and performance has never been easier.

The perfect tool for squeezing every ounce of performance out of your database resources.
November 13, 2025 at 2:49 PM
Postgres handles MVCC with per-row transaction ID metadata.

Every row (tuple) you insert into a Postgres table includes xmin and xmax metadata. xmin is the transaction that created the row, and xmax the one that updates or deleted it.
November 12, 2025 at 7:37 PM
Not all CPUs are created equal.

This latency graph shows a r6id → i7i upgrade. Same vCPU count. Same amount of RAM. Both using local SSDs.

Upgrading to a newer instance makes a big difference.
November 10, 2025 at 12:25 PM