
Johannes Nicolai & Lilli Seyther-Besecke
Feb 1, 2022
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.
yesterday
DevOps Engineer – Kubernetes & Cloud (m/w/d)

Personalwerk GmbH
Intermediate
Senior
5 days ago
Site Reliability Engineer (f/m/x)

Raiffeisen Bank International AG
Intermediate
26 days ago
DevOps-Engineer für soziale Innovation (m/w/d)

softgarden
Berlin, Germany
Intermediate
Senior