Johannes Nicolai & Lilli Seyther-Besecke

Branch your database like your code: How schema changes and pull requests go hand in hand

What if you could branch, test, and merge database schema changes directly within a pull request? Now you can.

Branch your database like your code:  How schema changes and pull requests go hand in hand
#1about 2 minutes

Why database schema changes are harder than code changes

Traditional database schema migrations are imperative and stateful, making them fundamentally different and more complex than stateless code deployments.

#2about 7 minutes

How YouTube's scaling challenges led to the creation of Vitess

Vitess was created at YouTube to solve massive scaling problems by enabling horizontal sharding for MySQL and running it on Borg, the predecessor to Kubernetes.

#3about 8 minutes

The pain of merging database changes compared to Git

Unlike modern Git workflows, database schema changes often require manual review processes and can cause production downtime due to table locking and data dependencies.

#4about 2 minutes

Achieving non-blocking schema changes with shadow tables

Tools like GH-OST use shadow tables to apply schema changes to a copy of the table, sync ongoing writes, and perform an atomic cutover without locking production.

#5about 4 minutes

Applying a Git-like workflow to database schema changes

PlanetScale introduces database branches for isolated development and deploy requests, which function like pull requests for reviewing and merging schema changes safely.

#6about 5 minutes

Setting up a PlanetScale database with GitHub Actions

A live demonstration shows how to create a new repository from a template and use a GitHub Action to automatically provision a new PlanetScale database.

#7about 7 minutes

Creating a database branch from a GitHub pull request

This demo illustrates creating a pull request for a code change and then using a chat command to automatically create a corresponding database feature branch with a new schema.

#8about 5 minutes

Approving and merging schema changes via pull request comments

The demo concludes by showing how to review, approve, and merge a database deploy request directly from GitHub comments, triggering a non-blocking migration.

#9about 10 minutes

Exploring advanced Vitess features and answering questions

A summary of additional Vitess capabilities is followed by a Q&A session covering data residency, subquery performance, and deployment synchronization.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Platform DevOps

Parashift Ag
Sissach, Switzerland

Senior
API
GIT
Bash
Ruby
Linux
+11

DevOps Engineer

DevOpsChat
Municipality of Madrid, Spain

Remote
DevOps
Docker
Kubernetes
Continuous Integration
+2

DevOps Engineer

Socium - Teams Done Differently
Pamplona, Spain

Remote
DevOps
Kubernetes
Continuous Integration