Work
A collection of things I've done, not already hosted on my personal site here.
Interactive Blogs
- Processes and Threads 09/2025
- Caching 07/2025
- IO devices and latency 03/2025
- Database Sharding 01/2025
- B-trees and database indexes 09/2024
Blogs
- Using MotherDuck with PlanetScale 12/2025
- Benchmarking Postgres 17 vs 18 10/2025
- Benchmarking Postgres 07/2025
- Introducing sharding on PlanetScale with workflows 11/2024
- Increase IOPS and throughput with sharding 08/2024
- Faster backups with sharding 07/2024
- Dealing with large tables 07/2024
- MySQL on a Raspberry Pi 06/2024
- The MySQL adaptive hash index 04/2024
- Displaying images in MySQL 04/2024
- Profiling memory usage in MySQL 04/2024
- Memory access patterns and performance 03/2024
- Identifying and profiling problematic MySQL queries 03/2024
- Turn images into contour maps 03/2024
- Stylized image binning algorithm 03/2024
Courses
- Learn Vitess 05/2024
- Database Scaling Course 02/2024
Webinars
- Databases at Scale 01/2024
Documentation
Case Studies
Other Sites
Podcasts
Youtube
- The BEST way to organize data (in a database) 01/2026
- Merkle Trees - the data structure behind Git and Cursor 01/2026
- B-trees. The most important data structure for databases. 01/2026
- Hard drives, SSDs, and Tape storage. How do they work? 01/2026
- Data organization: Making database CRUD operations fast 01/2026
- Data storage engines: the 5 must-know components 01/2026
- The hidden cost of Indexes and lookups 12/2025
- OLTP vs OLAP and the row / column storage tradeoff 12/2025
- Relational vs document databases, data locality, and p99 (DDIA Chapters 1 & 2) 08/2025
PlanetScale YouTube
- Need a better MySQL? Migrate → PlanetScale. 12/2025
- 5 ways to connect to Postgres 12/2025
- Analytics running slow? Make it FAST with DuckDB! 12/2025
- Postgres vs MySQL: Indexes edition 12/2025
- AI-powered Postgres schema recommendations 11/2025
- Postgres is now Generally Available 09/2025
- Find your slow database queries 09/2025
- Configure your Postgres database storage 09/2025
- Postgres 13 EOL! Migrate to version 17. 08/2025
- Data drop: Metrics for Postgres 08/2025
- Data drop: Create a new database on PlanetScale 08/2025
- Data drop: Query Insights for Postgres 08/2025
- Data drop: Resize your database 06/2025
- Data drop: Migrate from Postgres → PlanetScale Vitess/MySQL 06/2025
- Data drop: Branching and deploy requests 06/2025
- Monitor your PlanetScale database with Prometheus, Grafana, and more! 04/2025
- Introducing Metal - Blazing fast NVMe Drives with Unlimited IOPS 03/2025
- What's new in Vitess 21? 10/2024
- Using vector search in MySQL 10/2024
- What are vector embeddings? PlanetScale vector search open beta. 10/2024
- How we do PoCs with customers (Proof of Concept) 09/2024
- Are my indexes being used? Let's find out. 09/2024
- Megabytes to Petabytes: the journey of scaling a database 08/2024
- Case Study: Interview with Brian Anglin (Superwall) 08/2024
- Use Slack? Get PlanetScale updates with webhooks. 07/2024
- Case Study: Interview with Steven Tey (Dub) 07/2024
- Learn Vitess - Vitess at PlanetScale (part 9) 06/2024
- Learn Vitess - Vitess on Kubernetes (part 8) 06/2024
- Learn Vitess - Sharding on Multiple Machines (part 7) 06/2024
- Learn Vitess - Multiple Machines (part 6) 06/2024
- Learn Vitess - Horizontal Sharding (part 5) 06/2024
- Learn Vitess - Vertical Sharding (part4) 06/2024
- Learn Vitess - Components of a Vitess cluster (part3) 06/2024
- Learn Vitess - Build and Run Vitess (part 2) 05/2024
- Learn Vitess - Introduction (part 1) 05/2024
- Working with strings in MySQL 04/2024
- Slow database? Replicas are here to help. 04/2024
- Speed up your MySQL database with the buffer pool 04/2024
- How Vitess powers your PlanetScale database 04/2024
- Bad Schema? Improve it with this tool. 03/2024
- Creating a 100 gigabyte index on 1 billion+ rows 03/2024
- Watch me 100x a SQL query 02/2024
- Increase speed and durability with MySQL replication 02/2024
- Auto-generate MySQL schema diagrams with a custom Figma plugin 02/2024
- I loaded 100,000,000 rows into MySQL 01/2024