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 Rewind’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.

Behind the scenes: How we built Rewind
Learn how we used VReplication to allow for migration reverts with data retention.


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.

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.

Pitfalls of isolation levels in distributed databases
The more loosely coupled components are in a distributed system, the better it scale

Consensus algorithms at scale: Part 3 - Use cases
Consensus Use Cases

Orchestrator failure detection and recovery: New Beginnings
how the new integration adds new failure detection and recovery scenarios, making orchestrator’s operation goal-oriented.

Consensus algorithms at scale: Part 2 - Rules of consensus
The Rules of Consensus

Consensus algorithms at scale: Part 1 - Introduction
This is a multi-part blog series and will be updated with links to the corresponding posts.

ACID Transactions are not just for banks - the Vitess approach
Build systems that do not lose data. Vitess prevents asynchronous failure in two ways: (1) ensuring that the changes are saved locally on storage, with the redo log and binary logs safely written to disk and (2) making use of semi-synchronous replication.
