PlanetScale

Founded in 2018. Privately Held.

External links: homepage | docs | blog | jobs | youtube | twitter | linkedin

MySQL-compatible serverless database platform.

Blog posts published by month since the start of

188 total blog posts published.

Switch to word count

Blog content

post title author published words HN
Migrating from Postgres to MySQL Ado Kukic Feb. 09, 2023 2254 -
Common MySQL errors and how to fix them Mary Gathoni Jan. 27, 2023 1130 -
Support’s notes from the field Mike Stojan Jan. 11, 2023 2501 -
Solving N+1’s with Rails `exists?` queries Mike Coutermarsh Jan. 10, 2023 395 -
What is the N+1 query problem and how to solve it? JD Lien Jan. 18, 2023 1800 -
Introducing the PlanetScale API and OAuth applications Frances Thai, Taylor Barnett Jan. 31, 2023 824 -
Faster MySQL with HTTP/3 Matt Robenolt Jan. 04, 2023 1776 -
What is a query planner? Andres Taylor Dec. 15, 2022 1481 -
Temporal workflows at scale: Part 2 — Sharding in production Savannah Longoria Dec. 14, 2022 1448 -
Rails’ safety mechanisms Jason Charnes Dec. 12, 2022 2927 -
Building a multi-region Rails application with PlanetScale Mike Coutermarsh Dec. 08, 2022 1036 -
Secure your connection string with AWS KMS Brian Morrison II Dec. 07, 2022 2146 -
Increasing PlanetScale plan limits to include billions of reads Sam Lambert Feb. 24, 2022 171 -
All of the tech PlanetScale replaces Brian Morrison II Nov. 30, 2022 1340 -
PlanetScale and HIPAA Sam Kottler Nov. 18, 2022 185 -
How PlanetScale Boost serves your SQL queries instantly Vicent Marti Nov. 15, 2022 3685 -
Introducing PlanetScale Boost Rick Branson Nov. 15, 2022 295 -
One million connections Liz van Dijk Nov. 01, 2022 762 -
MySQL Integers: INT, BIGINT, and more Brian Morrison II Oct. 31, 2022 932 -
Announcing Vitess 15 Vitess Engineering Team Oct. 26, 2022 548 -
Vitess for the rest of us Brian Morrison II Oct. 21, 2022 779 -
Laravel’s safety mechanisms Aaron Francis Oct. 19, 2022 3552 -
Optimizing queries in arewefastyet Florent Poinsard, Harshit Gangal Oct. 11, 2022 542 -
Introduction to MySQL joins JD Lien Oct. 07, 2022 1599 -
Indexing JSON in MySQL Aaron Francis Oct. 04, 2022 1788 -
MySQL data types: VARCHAR and CHAR Brian Morrison II Sep. 30, 2022 927 -
Debugging database errors with Insights Rafer Hazen Sep. 27, 2022 851 -
The MySQL JSON data type Mike Stojan Sep. 23, 2022 955 -
Using the PlanetScale serverless driver with AWS Lambda functions Brian Morrison II Sep. 21, 2022 1779 -
Declarative MySQL schemas with Atlas CLI Brian Morrison II Sep. 16, 2022 822 -
Build a multi-stage pipeline with PlanetScale and AWS Brian Morrison II Sep. 13, 2022 5389 -
TAOBench: Running social media workloads on PlanetScale Liz van Dijk Sep. 08, 2022 1228 -
Gated Deployments: addressing the complexity of schema deployments at scale Shlomi Noach Sep. 06, 2022 953 -
One million queries per second with MySQL Jonah Berquist Sep. 01, 2022 619 -
Zero downtime Laravel migrations Holly Guevara Aug. 29, 2022 1840 -
Run SQL script files on a PlanetScale database Brian Morrison II Aug. 25, 2022 396 -
How product design works at PlanetScale Jason Long Aug. 22, 2022 527 -
Introducing the PlanetScale serverless driver for JavaScript Taylor Barnett, Matt Robenolt Aug. 18, 2022 772 -
Introducing FastPage: Faster offset pagination for Rails apps Mike Coutermarsh Aug. 16, 2022 610 -
How to kill Sidekiq jobs in Ruby on Rails Elom Gomez Aug. 15, 2022 357 -
Replace your Django database with PlanetScale Alex Nnakweu Aug. 11, 2022 931 -
Database DevOps Sam Lambert Aug. 08, 2022 690 -
Connect to a MySQL database in Python Holly Guevara Aug. 04, 2022 1107 -
How PlanetScale prevents MySQL downtime Sam Lambert Aug. 02, 2022 649 -
Ruby on Rails: 3 tips for deleting data at scale Mike Coutermarsh Aug. 01, 2022 1025 -
The Slotted Counter Pattern Sam Lambert Jul. 28, 2022 759 -
Behind the scenes: How we built Password Roles Phani Raju Jul. 27, 2022 837 -
Safely dropping MySQL tables David Graham Jul. 25, 2022 266 -
Temporal Workflows at scale with PlanetScale: Part 1 Savannah Longoria Jul. 22, 2022 1118 -
Announcing Teams: An easier way to manage database administrator access Iheanyi Ekechukwu Jul. 20, 2022 263 -
We now display PlanetScale system status directly in your dashboard Mike Coutermarsh Jul. 19, 2022 429 -
How do database indexes work? Justin Gage Jul. 14, 2022 1746 -
Getting started with the PlanetScale CLI Brian Morrison II Jul. 12, 2022 1037 -
Consensus algorithms at scale: Part 8 - Closing thoughts Sugu Sougoumarane Jul. 07, 2022 855 -
Deploy requests now alert on potential unwanted changes Mike Coutermarsh Jul. 06, 2022 331 -
Announcing the PlanetScale and Hashnode July Hackathon James Q Quick Jul. 05, 2022 336 -
Consensus algorithms at scale: Part 7 - Propagating requests Sugu Sougoumarane Jul. 01, 2022 1338 -
Identifying slow Rails queries with sqlcommenter Mike Coutermarsh, Iheanyi Ekechukwu Jun. 29, 2022 549 -
Announcing Vitess 14 Vitess Engineering Team Jun. 28, 2022 713 -
Grouping and aggregations on Vitess Andres Taylor Jun. 24, 2022 1481 -
Consensus algorithms at scale: Part 6 - Completing requests Sugu Sougoumarane Jun. 21, 2022 925 -
Introducing PlanetScale Insights: Advanced query monitoring Holly Guevara May. 26, 2022 854 -
Extract, load, and transform your data with PlanetScale Connect James Q Quick May. 25, 2022 654 -
Introducing PlanetScale Portals: Read-only regions Taylor Barnett May. 24, 2022 1075 -
Why we wrote the PlanetScale “Future Database” principles Sam Lambert May. 23, 2022 214 -
The operational relational schema paradigm Shlomi Noach May. 09, 2022 1024 -
Feature storytelling with Framer Motion Derek Briggs May. 05, 2022 1319 -
Consensus algorithms at scale: Part 5 - Handling races Sugu Sougoumarane Apr. 28, 2022 1968 -
Consensus algorithms at scale: Part 4 - Establishment and revocation Sugu Sougoumarane Apr. 06, 2022 1362 -
Generics can make your Go code slower Vicent Marti Mar. 30, 2022 8551 -
Why we chose NanoIDs for PlanetScale’s API Mike Coutermarsh Mar. 29, 2022 871 -
Revert a migration without losing data Taylor Barnett Mar. 24, 2022 602 -
Behind the scenes: How schema reverts work Holly Guevara, Shlomi Noach Mar. 24, 2022 1772 -
How to prevent SQL injection attacks in Node.js James Q Quick Mar. 03, 2022 1521 -
Schema design 101 for relational databases Camila Ramos Mar. 02, 2022 1114 -
Introducing Beam Jason Long Feb. 23, 2022 307 -
Announcing Vitess 13 Florent Poinsard Feb. 22, 2022 257 -
Misconceptions about databases in the Jamstack Taylor Barnett Feb. 22, 2022 1475 -
How we made PlanetScale’s background jobs self-healing Mike Coutermarsh Feb. 17, 2022 856 -
Build a Laravel application with a MySQL database Holly Guevara Feb. 15, 2022 6337 -
How to seed a database with Prisma and Next.js James Q Quick Feb. 11, 2022 1371 -
Introduction to Laravel caching Holly Guevara Feb. 09, 2022 2422 -
Using the PlanetScale CLI with GitHub Actions workflows Taylor Barnett Feb. 03, 2022 2221 -
Create a Harry Potter API with Node.js/Express, MySQL, and PlanetScale James Q Quick Jan. 26, 2022 1764 -
Using entropy for user-friendly strong passwords Mike Coutermarsh Jan. 24, 2022 1016 -
How to set up Next.js with Prisma and PlanetScale Camila Ramos Jan. 20, 2022 1986 -
How our Rails test suite runs in 1 minute on Buildkite Mike Coutermarsh Jan. 18, 2022 560 -
What are the disadvantages of database indexes? JD Lien Feb. 17, 2023 1181 -
Announcing Vitess 16 Vitess Engineering Team Feb. 28, 2023 448 -
Improvements to database branch pages Jason Long Mar. 01, 2023 199 -
Using MySQL with SQLAlchemy: Hands-on examples Anthony Herbert Mar. 07, 2023 2511 -
Build a user management API with Nest.js and MySQL Olususi Oluyemi Mar. 13, 2023 1509 -
Introducing the Issues Calendar for GitHub Projects Brian Morrison II Mar. 15, 2023 373 -
Build a products listing application with Golang and MySQL Olususi Oluyemi Mar. 17, 2023 1681 -
Zero downtime Rails migrations with the PlanetScale Rails gem Mike Coutermarsh Mar. 20, 2023 1770 -
How to upgrade from MySQL 5.7 to 8.0 JD Lien Mar. 24, 2023 1817 -
Connection pooling in Vitess Harshit Gangal Mar. 27, 2023 1586 -
How to read MySQL EXPLAINs Savannah Longoria Mar. 29, 2023 2732 -
Announcing the PlanetScale GitHub Actions Brian Morrison II Mar. 31, 2023 864 -
An update to our workflow: safe migrations Nick Van Wiggeren Apr. 05, 2023 797 -
How does database sharding work? Justin Gage Apr. 06, 2023 2004 -
Safely making database schema changes Taylor Barnett Apr. 13, 2023 1945 -
Pagination in MySQL Aaron Francis Apr. 18, 2023 3649 -
Query performance analysis with Insights Rafer Hazen Apr. 20, 2023 918 -
Database branching: three-way merge for schema changes Shlomi Noach Apr. 26, 2023 1974 -
Build a Rust API with Rocket, Diesel, and MySQL Olususi Oluyemi Apr. 27, 2023 1961 -
Serverless Laravel applications with AWS Lambda and PlanetScale Matthieu Napoli May. 03, 2023 1296 -
Why isn’t MySQL using my index? Aaron Francis May. 04, 2023 3042 -
Backward compatible database changes Taylor Barnett May. 09, 2023 2355 -
Running Query Insights on PlanetScale Rafer HazenRafer Hazen Jul. 20, 2023 1995 -
What is MySQL partitioning? Brian Morrison II Oct. 10, 2023 1229 -
Horizontal sharding for MySQL made easy Lucy Burns, Taylor Barnett Aug. 31, 2023 1352 -
Personalizing your onboarding with Markdoc Ayrton De Craene Oct. 06, 2023 1063 -
Is your database bleeding money? Sam Lambert Aug. 08, 2023 1634 -
Emulating foreign key constraints with Drizzle relationships Brian Morrison II Sep. 06, 2023 1203 -
What makes up a PlanetScale database? Brian Morrison II Aug. 23, 2023 2425 -
Streamline database management using the PlanetScale Netlify integration Taylor Barnett Sep. 13, 2023 495 -
PlanetScale is bringing vector search and storage to MySQL Nick Van Wiggeren Oct. 03, 2023 770 -
Storing time series data in sharded MySQL to power Query Insights Rafer Hazen Aug. 10, 2023 2012 -
Deploying multiple schema changes at once Shlomi Noach Aug. 29, 2023 2163 -
Scaling hundreds of thousands of database clusters on Kubernetes Brian Morrison II Sep. 27, 2023 1738 -
PlanetScale Managed is now PCI compliant Frank Fink Oct. 02, 2023 395 -
How to scale your database and when to shard MySQL Jonah Berquist Sep. 28, 2023 1290 -
How brand design works at PlanetScale Skully Paoli Aug. 04, 2023 515 -
Build a contacts app with Node, Express, and MySQL Olususi Oluyemi Aug. 02, 2023 2681 -
PlanetScale Boost is now available to everyone Rick Branson Jul. 27, 2023 261 -
How PlanetScale unlocks developer productivity Justin Gage Jul. 26, 2023 1601 -
Performant database tree traversal with Rails Mike Coutermarsh Jul. 12, 2023 826 -
Announcing PlanetScale Scaler Pro Nick Van Wiggeren Jul. 06, 2023 1259 -
Build a library app with Laravel 10 and MySQL Olususi Oluyemi Jun. 28, 2023 2911 -
How PlanetScale keeps your data safe Sam Lambert Jun. 28, 2023 777 -
Announcing Vitess 17 Matt Lord Jun. 27, 2023 600 -
Datetimes versus timestamps in MySQL Aaron Francis Jun. 22, 2023 1360 -
Build an expense tracker app with Symfony and MySQL Olususi Oluyemi Jun. 20, 2023 2048 -
Generated hash columns in MySQL Aaron Francis Jun. 15, 2023 2423 -
Using PlanetScale with Serverless Framework Node applications on AWS Matthieu Napoli Jun. 13, 2023 1152 -
PlanetScale joins AWS ISV Accelerate Nick Van Wiggeren Jun. 12, 2023 315 -
Announcing the Hightouch integration Brian Morrison II Jun. 08, 2023 620 -
Using redundant conditions to unlock indexes in MySQL Aaron Francis Jun. 07, 2023 1517 -
Optimizing query planning in Vitess: a step-by-step approach Andres Taylor Jun. 01, 2023 1283 -
Pulling back the curtain: the new database overview page Holly Guevara May. 31, 2023 619 -
Announcing the Larabelles Laracon US conference giveaway, sponsored by PlanetScale Taylor Barnett May. 25, 2023 680 -
PlanetScale is now available on the Google Cloud Marketplace Nick Van Wiggeren May. 22, 2023 225 -
Character sets and collations in MySQL Aaron Francis May. 18, 2023 1904 -
Integrate Cloudflare Workers with PlanetScale Brian Morrison II May. 17, 2023 713 -
Distributed caching systems and MySQL Brian Morrison II Oct. 11, 2023 1377 -
Introducing database reports Frances Thai Oct. 16, 2023 351 -
Introducing PlanetScale Managed on AWS and GCP James Cunningham Oct. 18, 2023 454 -
Introducing IP restrictions Iheanyi Ekechukwu, David Graham, Ayrton De Craene Aug. 15, 2023 265 -
Sync user data between Clerk and a PlanetScale MySQL database Brian Morrison II Oct. 20, 2023 1627 -
What is MySQL replication and when should you use it? Brian Morrison II Oct. 25, 2023 844 -
Introducing webhooks Taylor Barnett, Mike Coutermarsh Oct. 26, 2023 621 -
Announcing the Fivetran integration Taylor Barnett, Katie Sipos Nov. 02, 2023 597 -
Announcing Vitess 18 Vitess Engineering Team Nov. 07, 2023 625 -
PlanetScale ranks 188th in Deloitte’s top 500 fastest-growing companies Sam Lambert Nov. 08, 2023 242 -
A guide to HTML email with Ruby on Rails and Tailwind CSS Ayrton De Craene Nov. 14, 2023 2520 -
MySQL replication: Best practices and considerations Brian Morrison II Nov. 15, 2023 1650 -
Webhook security: a hands-on guide Mike Coutermarsh Nov. 21, 2023 1088 -
Three surprising benefits of sharding a MySQL database Brian Morrison II Nov. 20, 2023 883 -
Introducing Insights Anomalies Rafer Hazen Nov. 28, 2023 963 -
What is HTAP? Savannah Longoria Dec. 01, 2023 1336 -
The challenges of supporting foreign key constraints Shlomi Noach, Manan Gupta Dec. 05, 2023 7255 -
Announcing foreign key constraints support Taylor Barnett Dec. 05, 2023 490 -
$ pscale ping Matt Robenolt Dec. 13, 2023 172 -
Introducing the schemadiff command line tool Shlomi Noach Dec. 18, 2023 467 -
MySQL isolation levels and how they work Brian Morrison II Jan. 08, 2024 2723 -
Introducing the Vantage and PlanetScale integration Mike Coutermarsh Jan. 23, 2024 126 -
PlanetScale vs Amazon Aurora replication Brian Morrison II Jan. 24, 2024 1502 -
Working with geospatial features in MySQL Savannah Longoria Jan. 25, 2024 1573 -
Considerations for building a database disaster recovery plan Brian Morrison II Jan. 30, 2024 2067 -
PlanetScale branching vs. Amazon Aurora blue/green deployments Brian Morrison II Feb. 02, 2024 2004 -
Deprecating the Scaler plan Nick Van Wiggeren Feb. 05, 2024 886 -
OAuth applications are now available to everyone Taylor Barnett Feb. 06, 2024 676 -
Three common MySQL database design mistakes Brian Morrison II Feb. 13, 2024 1052 -
Amazon Aurora Pricing: The many surprising costs of running an Aurora database Brian Morrison II Feb. 15, 2024 2866 -
Foreign key constraints are now generally available Taylor Barnett, Rick Branson Feb. 16, 2024 545 -
Introducing schema recommendations Taylor Barnett, Rafer Hazen Feb. 28, 2024 1252 -
PlanetScale forever Sam Lambert Mar. 06, 2024 374 -
Announcing Vitess 19 Vitess Engineering Team Mar. 08, 2024 997 -
The problem with using a UUID primary key in MySQL Brian Morrison II Mar. 19, 2024 1776 -
Identifying and profiling problematic MySQL queries Benjamin Dicken Mar. 29, 2024 2459 -
How PlanetScale makes schema changes Mike Coutermarsh Apr. 04, 2024 1430 -
Summer 2023: Fuzzing Vitess at PlanetScale Arvind Murty Apr. 09, 2024 922 -
Profiling memory usage in MySQL Benjamin Dicken Apr. 11, 2024 2095 -
Introducing global replica credentials Matt Robenolt, Iheanyi Ekechukwu Apr. 17, 2024 1392 -
The MySQL adaptive hash index Benjamin Dicken Apr. 24, 2024 2240 -
Achieving data consistency with the consistent lookup Vindex Harshit Gangal, Deepthi Sigireddi Apr. 29, 2024 1526 -
Build or buy: Self-run Vitess vs Managed Vitess with PlanetScale Holly Guevara May. 24, 2024 3115 -

By Matt Makai. 2021-2024.