こちらは、Akerun Advent Calendar 2023 18日目の記事です。 はじめまして、今回はWEBエンジニアの @yuto_a が担当させてもらいます。 今年の春から夏にかけて、15億以上のデータが入ったMySQLテーブルのスキーマ変更をサービス無停止で実施しました。 今回はこの対応を実施した私が、そもそもなぜサービス無停止でのスキーマ変更が必要だったのか、どのようにサービスを止めずにスキーマ変更したのか、実際に使用したときに工夫したポイントについて共有します。 サービス無停止でスキーマ変更した理由 そもそもなぜサービス無停止でのスキーマ変更が必要だったのか? 我々のサービスでは、APIサーバーに Ruby on Rails (以下、Rails) を使っており、データベースには AWS Aurora MySQL 5.7互換 を使っています。 このアプリケーションは Rail