Johannes Nicolai & Lilli Seyther-Besecke
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.
Team Lead DevOps (m/w/d)

Rhein-Main-Verkehrsverbund Servicegesellschaft mbH
Frankfurt am Main, Germany
Senior
Featured Partners
Related Videos
GitOps for the people
Lian Li
Git for Code Reviews
Johannes Haux
Get ready for operations by pull requests
Liviu Costea
GitOps keeps focus on apps, not on infrastructure
Chad Carlson
Database DevOps with Containers
Rob Richardson
How building an industry DBMS differs from building a research one
Markus Dreseler
GitOps: The past, present and future
Roberth Strand
Integrating backups into your GitOps Pipeline
Florian Trieloff
From learning to earning
Jobs that call for the skills explored in this talk.


DevOps Engineer – Kubernetes & Cloud (m/w/d)
epostbox epb GmbH
Berlin, Germany
Intermediate
Senior
DevOps
Kubernetes
Cloud (AWS/Google/Azure)
DevOps Engineer - GenAI Infrastructure
Sartorius AG
Municipality of Madrid, Spain
Remote
Azure
DevOps
Grafana
Terraform
+2
DevOps Engineer
DevOpsChat
Municipality of Madrid, Spain
Remote
DevOps
Docker
Kubernetes
Continuous Integration
+2
DevOps Engineer Finnova DevOps Engineer Finnova
Gitlab Pipelines & Co
Wallisellen, Switzerland
Remote
€84-103K
Senior
Kafka
DevOps
Gitlab
+5
Senior Database Engineer, PostgreSQL
Talon.One GmbH
Berlin, Germany
Remote
Senior
DevOps
Grafana
Terraform
PostgreSQL
+3
![Senior Software Engineer [TypeScript] (Prisma Postgres)](https://wearedevelopers.imgix.net/company/283ba9dbbab3649de02b9b49e6284fd9/cover/oKWz2s90Z218LE8pFthP.png?w=400&ar=3.55&fit=crop&crop=entropy&auto=compress,format)

Senior Software Engineer [TypeScript] (Prisma Postgres)
Prisma
Remote
Senior
Node.js
TypeScript
PostgreSQL
DevOps Engineer
Socium - Teams Done Differently
Pamplona, Spain
Remote
DevOps
Kubernetes
Continuous Integration

