🌌

Amazon Aurora MySQL v1(5.6 互換)→ v3(8.0 互換)移行を計画する(1)はじめに

2022/02/23に公開

Amazon Aurora MySQL 互換エディション(以降「Aurora MySQL」と表記)のバージョン 1(MySQL 5.6 互換・以降「v1」)の EoL が発表されました。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.MySQL56.EOL.html

ここで 「v2(MySQL 5.7 互換)への移行でお茶を濁す」 ことも考えられますが、本家 MySQL 5.7 の EoL も 2023/10/21 に迫っています。

https://endoflife.software/applications/databases/mysql

仮に今回の v1(MySQL 5.6)同様だとすると Aurora MySQL v2 の EoL は本家の 2 年後の 2025/10 あたりでしょうか。ちょっと微妙ですね。

というわけで、これから数週間の予定で Aurora MySQL v3(MySQL 8.0 互換)移行に必要そうな情報をかき集めてみます。

そもそも Aurora MySQL v3 に移行するメリットは?

Aurora MySQL v2 の EoL 予想時期が微妙だとして、それだけの理由でいきなり v3 への移行を進めようとすると、

  • まだ 3 年以上あるなら大丈夫じゃない?
  • いきなりバージョン飛ばしするのはリスク大きいんじゃない?

という声に負けて頓挫するかもしれません。

そのような声に負けないように(?)あらかじめ知っておくと良さそうな点をまとめてみました。

https://speakerdeck.com/hmatsu47/mysql-8-dot-0hefalseyi-xing-wokao-eru
https://github.com/hmatsu47/mysql80_no_usui_hon

新機能が追加されている

代表的なものを挙げます。

既存の機能が強化されている

同様に、いくつか挙げます。

(ワークロードによっては)高速化が期待できる

実行計画のバリエーションが増えたため、ワークロードによっては高速化する可能性があります。

また、後日続きの記事で触れる予定ですが、Aurora 独自実装のパラレルクエリの適用範囲が広がっています。

v3 移行で気を付けなければならないポイントは?

v1(MySQL 5.6)→ v2(MySQL 5.7)と比べても要配慮な変更点が多いです。

現時点で頭の中に浮かんでいるものだけを挙げても、

  • 過去のバージョンとの非互換
    • デフォルト設定の変更
      • 例:SQL モード・文字セット・照合順序・認証プラグイン
    • デフォルト動作の変更
      • 例:暗黙のソート順・GROUP BYでのソート
    • 機能追加の影響
    • 機能削除(または非推奨)の影響
      • 例:クエリキャッシュ廃止
    • 新機能への移行による影響
  • 性能の変化
    • CPU コア数が少ないインスタンスでは以前のバージョンより性能が劣化する可能性がある
      • スケール重視の設計に変わってきているため
    • 過去バージョンでクエリキャッシュが有効に働いていたケースでは性能低下の可能性がある
    • 認証方式と暗号化の見直しを行う場合はコネクションのオーバーヘッド増加で性能低下の可能性がある
  • Aurora 固有の事情・制約
    • パラメータグループの初期値・項目の変更がある
    • 現時点では v3 へのインプレースアップグレードができない
    • 現時点ではバックトラックが使えない

などがあります。

今後の記事で順次触れていく予定です。


に続きます。

GitHubで編集を提案

Discussion