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-...
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-...
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.
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.
This works via a combination of backup-restores and WAL replay.
This works via a combination of backup-restores and WAL replay.
Depot uses one of my favorite tools, PlanetScale Insights, to drill in on query performance issues and address them via schema change DRs.
Depot uses one of my favorite tools, PlanetScale Insights, to drill in on query performance issues and address them via schema change DRs.
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.
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.
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...
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...
Amazing talk by Eugene Kenny at SF Ruby conf.
Amazing talk by Eugene Kenny at SF Ruby conf.
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.
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.
Using it impacts performance, so you gotta know the tradeoffs.
Using it impacts performance, so you gotta know the tradeoffs.
Everything is lock-in
rcrowley.org/2025/everyth...
Everything is lock-in
rcrowley.org/2025/everyth...
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...
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...
We're building the solution for scaling and managing huge Postgres databases.
More to come, but in the meantime: neki.dev
We're building the solution for scaling and managing huge Postgres databases.
More to come, but in the meantime: neki.dev
Correlating schema/config changes and performance has never been easier.
The perfect tool for squeezing every ounce of performance out of your database resources.
Correlating schema/config changes and performance has never been easier.
The perfect tool for squeezing every ounce of performance out of your database resources.
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.
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.
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.
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.
TPCC is widely used for OLTP, but was published in 1992.
Who's working on this? What do you want to see in a modern OLTP benchmark?
TPCC is widely used for OLTP, but was published in 1992.
Who's working on this? What do you want to see in a modern OLTP benchmark?
Postgres needs to ensure that data is durable while maintaining good write performance + crash recovery ability. The key is in the Write-Ahead Log (WAL).
Postgres needs to ensure that data is durable while maintaining good write performance + crash recovery ability. The key is in the Write-Ahead Log (WAL).
Connection pooling is broadly important for databases, but especially for Postgres because of its process-per-connection architecture.
Don't know what that means? I have the perfect article!
Connection pooling is broadly important for databases, but especially for Postgres because of its process-per-connection architecture.
Don't know what that means? I have the perfect article!
It's the default (and in most cases, required) storage layer for every EC2 instance running in AWS.
This article by Marc Olson was a delightful read on its history and engineering challenges.
www.allthingsdistributed.com/2024/08/cont...
It's the default (and in most cases, required) storage layer for every EC2 instance running in AWS.
This article by Marc Olson was a delightful read on its history and engineering challenges.
www.allthingsdistributed.com/2024/08/cont...
Try btree.app and bplustree.app.
These are standalone sandboxes of the visuals I built for my "B-trees and database indexes" article. Helpful for learning B-tree insertion, search, and node splits.
Try btree.app and bplustree.app.
These are standalone sandboxes of the visuals I built for my "B-trees and database indexes" article. Helpful for learning B-tree insertion, search, and node splits.
If you care about performance, get comfortable running `explain` and `explain analyze` commands regularly, and learn how to interpret its output.
This blog is a great intro.
www.depesz.com/2013/04/16/e...
If you care about performance, get comfortable running `explain` and `explain analyze` commands regularly, and learn how to interpret its output.
This blog is a great intro.
www.depesz.com/2013/04/16/e...
planetscale.com/blog/50-doll...
Keeping nextval() in sync shouldn't be that hard. What am I missing?
Keeping nextval() in sync shouldn't be that hard. What am I missing?
Elastic Block Storage (EBS) is great for low-I/O workloads, but becomes a bottleneck or cost sink for heavy workloads.
Two common types of EBS are gp3 and io2. Both are network-attached storage backed by SSDs, but have different performance characteristics.
Elastic Block Storage (EBS) is great for low-I/O workloads, but becomes a bottleneck or cost sink for heavy workloads.
Two common types of EBS are gp3 and io2. Both are network-attached storage backed by SSDs, but have different performance characteristics.