Expand Contract Pattern for Continuous Delivery of Databases
summary
Describes using the Expand/Contract (also called Expand/Collapse) pattern to perform reversible, low-risk database schema and architectural changes in production by running old and new schemas in parallel, migrating downstream dependencies, and then contracting to the new model. Covers practical lessons and pitfalls from applying this approach to the GoodKarma product to achieve major data-model refactors with minimal downtime.
AI-written summary · about
chapters (16)
- 0:00Start
- 3:27Branch by Abstraction
- 3:55Continuous Delivery
- 4:26Evolvability
- 4:51Database?
- 6:32Split Column
- 9:02New Schema
- 9:41Split table
- 11:07Expand Contract
- 11:49Types of Refactoring
- 12:20Basics
- 13:18Automation
- 14:18Transition period
- 15:15Murphy's Law
- 15:31Small reversible steps
- 16:06References
related talks
30mExpand Contract Pattern for Continuous Delivery of Databases
43mPostgres schema migrations using the expand/contract pattern
21mApplying Continuous Delivery to Database Schema
45mEnabling Continuous Delivery with Database Practices
44mEvolutionary Database Design & Architecture
30mContracts, Schema Evolution in Data Pipelines
37mDatabase Schema Migrations with Zero Downtime
31mDevOps Practices for the Database Team
