⛳
MySQLバージョンアップを行った際の手順について
はじめに
こんにちは、リハプラン/PLFチームの浅野です。
最近、担当プロダクトのMySQLのバージョンアップ(5.7→8)をSREチームと共同で行いました。
この記事では、その際に行った手順の一部を振り返ってみたいと思います。
プロジェクト全体の流れ
全体の大まかな流れは以下のとおりです。
- 変更点の確認と影響範囲調査
- テストケース作成
- テスト環境構築
- テスト環境でのバージョンアップ
- テスト実施
- 本番環境でのバージョンアップ
この中でも、「変更点の確認と影響範囲調査」と「テスト」について紹介します。
変更点の確認と影響範囲調査
まずは公式ドキュメントで変更点を確認しました。
また、参考にした記事もいくつかありますので、一部をご紹介します。
- https://tech.asoview.co.jp/entry/2022/12/19/090450
- https://blog.smartbank.co.jp/entry/2023/07/04/120000
変更点を洗い出した後、影響範囲の調査を行いました。タスク化して、チームで一つ一つ確認を進めていきました。
- GROUP BY句のソート
- 予約語のチェック
- charsetやcollationのデフォルト値の変更による影響
など、地道に確認を重ねました。
テスト
テストはリハプラン/PLFの全機能を対象に実施しました。
正常な動作を保証するだけでなく、速度劣化が起こっていないかを確認するため、同じデータ内容でMySQL 5.7と8の環境を用意し、Datadogで実際の速度を計測しました。
幸いにも速度劣化は見られず、安心して本番環境へのリリースに進めました。
また、SREチームはk6を使って負荷テストを行い、高負荷に耐えられるかどうかの検証も行いました。
おわりに
今回はMySQLのバージョンアップについて、プロジェクト内で行った工程の一部をご紹介しました。SREチームと協力し、調査やテストを丁寧に進めた結果、不具合や速度劣化も見られず、無事にリリースできました。
今後も、安定したサービス提供と技術的な進化を両立させるため、チーム一丸となって取り組んでいきます!
Discussion