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.
#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.
Now is the time for industrialized software developmentNow is the time for industrialized software development
Recently, I received a letter from my car’s manufacturer alerting me to a recall. They had discovered a defective part and wanted to replace it.
It was easily fixed, and I might have forgotten a...
Christina Schaireiter
Why Attend a Developer Event?Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership.
Skill Diversification: Break out of your specific tech stack to see how the industry...