Skip to content

Blog

Zero downtime Laravel migrations
Engineering

Zero downtime Laravel migrations

Learn how to run no downtime non-blocking schema migrations in your production Laravel app with PlanetScale.

Holly Guevara
How product design works at PlanetScale
Engineering

How product design works at PlanetScale

Learn about the lightweight and highly collaborative process our product design team follows to ship quickly at PlanetScale.

Jason Long
Introducing FastPage: Faster offset pagination for Rails apps
Engineering

Introducing FastPage: Faster offset pagination for Rails apps

Introducing FastPage a new gem for ActiveRecord that speeds up deep pagination queries.

Mike Coutermarsh
How to kill Sidekiq jobs in Ruby on Rails
Engineering

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.

Elom Gomez
Database DevOps
Engineering

Database DevOps

Learn how PlanetScale enables databases to seamlessly fit into the DevOps lifecycle.

Sam Lambert
Ruby on Rails: 3 tips for deleting data at scale
Engineering

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.

Mike Coutermarsh
The Slotted Counter Pattern
Engineering

The Slotted Counter Pattern

Handle MySQL increment counter bursts with the Slotted Counter Pattern

Sam Lambert
Behind the scenes: How we built Password Roles
Engineering

Behind the scenes: How we built Password Roles

Learn how we leveraged Vitess ACLs and VTTablet to build our password roles functionality

Phani Raju
Temporal Workflows at scale with PlanetScale: Part 1
Engineering

Temporal Workflows at scale with PlanetScale: Part 1

Learn how to create a more reliable workflow with Temporal and PlanetScale

Savannah Longoria
How do database indexes work?
Engineering

How do database indexes work?

Learn how database indexes work under the hood and how they can be used to speed up queries

Justin Gage
Consensus algorithms at scale: Part 8 - Closing thoughts
Engineering

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.

Sugu Sougoumarane
Consensus algorithms at scale: Part 7 - Propagating requests
Engineering

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

Sugu Sougoumarane
Identifying slow Rails queries with sqlcommenter
Engineering

Identifying slow Rails queries with sqlcommenter

Learn how to use sqlcommenter with Rails

Mike Coutermarsh, Iheanyi Ekechukwu
Consensus algorithms at scale: Part 6 - Completing requests
Engineering

Consensus algorithms at scale: Part 6 - Completing requests

In part 6 of the Consensus algorithms series we look at how to handle request completions

Sugu Sougoumarane
The operational relational schema paradigm
Engineering

The operational relational schema paradigm

An exploration of the current landscape of schema change methodology and what the future should look like.

Shlomi Noach
Feature storytelling with Framer Motion
Engineering

Feature storytelling with Framer Motion

Learn how we used Framer Motion to create our schema revert feature’s narrative animation.

Derek Briggs
Consensus algorithms at scale: Part 5 - Handling races
Engineering

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.

Sugu Sougoumarane
Consensus algorithms at scale: Part 4 - Establishment and revocation
Engineering

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.

Sugu Sougoumarane
Why we chose NanoIDs for PlanetScale’s API
Engineering

Why we chose NanoIDs for PlanetScale’s API

Learn why PlanetScale used NanoID to generate obscure and URL friendly identifiers.

Mike Coutermarsh
Behind the scenes: How schema reverts work
Engineering

Behind the scenes: How schema reverts work

Learn how we used VReplication to allow for migration reverts with data retention.

Holly Guevara, Shlomi Noach
How we made PlanetScale’s background jobs self-healing
Engineering

How we made PlanetScale’s background jobs self-healing

How to build self-healing background jobs into your application with background queueing systems like Sidekiq.

Mike Coutermarsh
Introduction to Laravel caching
Engineering

Introduction to Laravel caching

Learn how to speed up your Laravel applications with caching.

Holly Guevara
Using entropy for user-friendly strong passwords
Engineering

Using entropy for user-friendly strong passwords

When implementing user authentication with passwords throw out the password rules you know.

Mike Coutermarsh
How our Rails test suite runs in 1 minute on Buildkite
Engineering

How our Rails test suite runs in 1 minute on Buildkite

Learn how we use minitest and FactoryBot with parallel tests to get our Rails test suite to run in 1 minute on Buildkite.

Mike Coutermarsh
NoneSQL All the DevEx
Engineering

NoneSQL All the DevEx

Databases will win based on superior developer experience not what is under the hood.

Justin Gage
Building PlanetScale with PlanetScale
Engineering

Building PlanetScale with PlanetScale

How PlanetScale uses database branching and non-blocking schema changes to build PlanetScale.

Iheanyi Ekechukwu
The promises and realities of the relational database model
Engineering

The promises and realities of the relational database model

The relational model is one of the oldest surviving models in computer science but it has some drawbacks that need to be addressed.

Shlomi Noach
Pitfalls of isolation levels in distributed databases
Engineering

Pitfalls of isolation levels in distributed databases

The more loosely coupled components are in a distributed system the better it scales

Sugu Sougoumarane
Consensus algorithms at scale: Part 3 - Use cases
Engineering

Consensus algorithms at scale: Part 3 - Use cases

Consensus Use Cases

Sugu Sougoumarane