How to kill Sidekiq jobs in Ruby on Rails
Learn how PlanetScale uses a custom middleware to kill our Sidekiq jobs in production without relying on deploys.
Replace your Django database with PlanetScale
Learn how to swap out an existing Django database and replace it with a PlanetScale database.
Database DevOps
Learn how PlanetScale enables databases to seamlessly fit into the DevOps lifecycle.
Connect to a MySQL database in Python
Connect a Python app to MySQL database with mysqlclient mysql-connector-python PyMySQL and aiomysql.
How PlanetScale prevents MySQL downtime
Learn how PlanetScale protects against downtime due to human error system immaturity and app issues.
Ruby on Rails: 3 tips for deleting data at scale
Learn how to delete data in large Rails apps with destroy_async delete destroy and scheduled cron jobs.
The Slotted Counter Pattern
Handle MySQL increment counter bursts with the Slotted Counter Pattern
Behind the scenes: How we built Password Roles
Learn how we leveraged Vitess ACLs and VTTablet to build our password roles functionality
Temporal Workflows at scale with PlanetScale: Part 1
Learn how to create a more reliable workflow with Temporal and PlanetScale
Announcing Teams: An easier way to manage database administrator access
Learn how you can manage database access with Teams and Directory Sync
We now display PlanetScale system status directly in your dashboard
Learn about how we built the new in-app system status using Vercel edge functions and StatusPage
How do Database Indexes Work?
Learn how database indexes work under the hood and how they can be used to speed up queries
Getting started with the PlanetScale CLI
Learn how to quickly get up and running with the PlanetScale CLI.
Consensus algorithms at scale: Part 8 - Closing thoughts
In the final installment of the consensus algorithm series we pull everything together with some final thoughts.
Deploy requests now alert on potential unwanted changes
We’ve updated our Deploy Request UI to alert when a schema change could produce unintended changes
Announcing the PlanetScale and Hashnode July Hackathon
Build an open-source project and compete for $20 000 in prizes and swag!
Consensus algorithms at scale: Part 7 - Propagating requests
In part 7 of the Consensus algorithm series we combine everything we’ve worked at to cover propagating requests
Identifying slow Rails queries with sqlcommenter
Learn how to use sqlcommenter with Rails
Announcing Vitess 14
Learn about what was just released in Vitess 14
Grouping and aggregations on Vitess
Vitess is a database proxy that creates an illusion of a single database when in reality the query is sent to multiple MySQL instances.
Consensus algorithms at scale: Part 6 - Completing requests
In part 6 of the Consensus algorithms series we look at how to handle request completions
Introducing PlanetScale Insights: Advanced query monitoring
Insights gives you a faster way to debug and monitor your PlanetScale database queries
Extract, load, and transform your data with PlanetScale Connect
Use PlanetScale Connect to easily perform ELT (Extract, Load, Transform) actions on your data to fulfill your application needs.
Introducing PlanetScale Portals: Read-only regions
Put your data where your users and applications are.
The operational relational schema paradigm
An exploration of the current landscape of schema change methodology and what the future should look like.
Feature storytelling with Framer Motion
Learn how we used Framer Motion to create our schema revert feature’s narrative animation.
Consensus algorithms at scale: Part 5 - Handling races
In part 5 of our consensus algorithms series we discuss how we handle race conditions and forward progress requirements.
Consensus algorithms at scale: Part 4 - Establishment and revocation
In part 4 of the consensus algorithms series we look at how algorithm leaders are established and revoked.
Why we chose NanoIDs for PlanetScale’s API
Learn why PlanetScale used NanoID to generate obscure and URL friendly identifiers.