The author explores the challenges of updating software seamlessly without downtime or compromising service quality due to constant usage. They highlight the common scenarios developers encounter with database schema migrations, showcasing potential issues and solutions. The post delves into two detailed scenarios where slow transaction speed and migration design affect requests, leading to potential partial outages. The author offers practical mitigations, such as breaking down migrations and using default values before adding constraints. They also discuss using tools like flyway for detecting potentially dangerous migrations and recommending designing jobs with different strategies to prevent blocking transactions. The post concludes with future work suggestions to enhance tooling and improve detection techniques for smoother database schema migrations.
https://kaveland.no/careful-with-that-lock-eugene.html