
How PlanetScale Boost serves your SQL queries instantly
Learn how we use a partial materialization engine for database caching alongside your database.


One million connections
Learn how to use PlanetScale to safely include your database in your serverless functions without hitting connection limits in MySQL.


MySQL Integers: INT BIGINT and more
Gain a deeper understanding of the MySQL integer types by exploring the different options (INT BIGINT MEDIUMINT etc) and how they are stored.


Laravel’s safety mechanisms
A comprehensive overview of Laravel’s many safety features that can help you prevent painful mistakes.


Indexing JSON in MySQL
Learn how to index JSON in MySQL with generated columns and functional indexes.


MySQL data types: VARCHAR and CHAR
In this entry of the series we explore using VARCHAR and CHAR data types in your database and give some pointers on which type is best to use and when.


The MySQL JSON data type
Learn what the MySQL JSON data type is when to use MySQL JSON and some caveats to using JSON documents in relational databases.


TAOBench: Running social media workloads on PlanetScale
Learn how we used TAOBench with PlanetScale to benchmark social media workloads


One million queries per second with MySQL
Discover how PlanetScale handles one million queries per second (QPS) with horizontal sharding in MySQL


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


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


Introducing FastPage: Faster offset pagination for Rails apps
Introducing FastPage a new gem for ActiveRecord that speeds up deep pagination queries.


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.


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


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


How do Database Indexes Work?
Learn how database indexes work under the hood and how they can be used to speed up queries


Identifying slow Rails queries with sqlcommenter
Learn how to use sqlcommenter with Rails



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


Why we chose NanoIDs for PlanetScale’s API
Learn why PlanetScale used NanoID to generate obscure and URL friendly identifiers.


Introducing Beam
We’re sharing the PlanetScale-powered communication tool we use internally.


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.


Introduction to Laravel caching
Learn how to speed up your Laravel applications with caching.


Using entropy for user-friendly strong passwords
When implementing user authentication with passwords throw out the password rules you know.


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.


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


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