Amazon RDS のデータベースプレビュー環境で MySQL 8.1 を評価出来るようになりました

2023.11.11

いわさです。

今朝 Amazon RDS のドキュメントを見ていたところ、次の更新が追加されていました。

Amazon RDS supports MySQL 8.1 in the database preview environment

Amazon RDS にはプレビュー環境という機能があるのですが、そちらで MySQL 8.1 が使えるようになったとのこと。なんと。

2023.11.14 追記

What's New でもアナウンスされました。

MySQL 8.1 とイノベーションリリース

現在 Amazon RDS では 8.0.35 までがサポートされています。
8.0 系は 2018 年に GA バージョンがリリースされ、現在もマイナーバージョンアップが継続して行われています。

一方で MySQL 8.0 からはバージョン管理モデルが変更され、安定した LTS リリースと、最新機能を追加したイノベーションリリースが存在しています。

LTS リリーストラックは現在が 8.0 で、次期が 8.4 とされています。(約 2 年ごとに LTS バージョンがリリースされる計画)
LTS バージョンでは MySQL 8.0.34 からはバグ修正のみのリリースとされています。

一方で、イノベーションリリーストラックは 8.1 が 2023 年 7 月 18 日にリリースされ、直近では 8.2 が 2023 年 10 月 25 日にリリースされています。

イノベーションリリースは四半期ごとに行われる計画となっており、おそらく 2024 年 1 月 ごろにイノベーションリリースの 8.3 がリリースされ、2024 年 4 月ごろに次期 LTS の 8.4 がリリースされ、2024 年 7 月ごろに次のイノベーションリリースの 9.0 が...という計画のようです。

画像引用元:MySQL :: Introducing MySQL Innovation and Long-Term Support (LTS) versions

MySQL 公式ブログではどちらも実稼働環境向けの品質であるとされていますが、イノベーションリリースは次のイノベーションがリリースされるまでの間がサポート期間となっており、継続的にあよりサポート期間が短くマイナーバージョンもリリースされていません。
バグ修正のみが必要な場合は LTS のマイナーバージョンを使用し、機能追加や変更に追従する場合はイノベーションリリースを使用します。

イノベーションリリース、LTS リリースのどちらを使う場合でも四半期ごとの Oracle Client Patch Update に従ってバージョンアップを行う必要があります。
直近だと 2023 年 10 月の Oracle Client Patch Update で MySQL 8.0.35 と MySQL 8.2 がリリースされました。

Amazon RDS で 8.1 を使用する方法

Amazon RDS ではイノベーションリリースは提供されていなかったのですが、今回プレビュー環境に登場しました。
Amazon RDS には次期バージョンなどを評価するためのプレビュー環境という機能が一部のデータベースエンジン向けに提供されており、PostgreSQL の RC 版を評価することが出来ていました。

これまで MySQL 向けには提供されていなかったのですが、今回から新たに MySQL が追加されました。
早速試してみましたので紹介したいと思います。

RDS コンソール画面にアクセスし、以下からプレビュー環境に遷移します。
日本語表記の場合「PostgreSQL プレビュー」という記載になっていますが、気にしなくて良いです。英語表記については「Preview RDS for MySQL and PostgreSQL」に変更されています。

プレビュー環境に遷移したら通常の流れと同じようにデータベースを作成します。
本日時点では MySQL 8.1.0 が使用可能で、8.2.0 はまだサポートされていません。今回の流れだとそのうち登場しそうな気もしますね。

プレビュー環境も RDS の使用料金は発生し、60 日間で自動削除されるという点などいくつか注意事項があります。 RDS プレビュー環境はあくまでも評価目的で使用する環境になっています。
ご利用にあたっては必ず制限事項をご確認ください。

今後通常リージョンで MySQL のイノベーションリリースが使えるようになるかはわかりませんが、今時点では次の LTS に取り込まれる時に向けて、早期に機能評価を行うための位置づけだと思います。RDS の場合は。

サーバーを起動し接続してみるとサーバーバージョンが 8.1.0 であることが確認できました。

% mysql -h hoge1111mysql81.ca0mg86saazc.us-east-2.rds-preview.amazonaws.com -u admin -D hogedb -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 8.1.0 Source distribution

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

なお、8.1 には 8.0.34 と同じ更新も含まれているため、公式ドキュメントのリリースノートを比較すると 8.1 で追加された内容が確認しやすいと思います。

比較してみるとレプリケーション周りなど、結構手が入ってそうに見えますね。

さいごに

本日は Amazon RDS のデータベースプレビュー環境で MySQL 8.1 を評価出来るようになっていたので、イノベーションリリースの情報などを整理しつつ実際に構築するところまでを確認してみました。

MySQL 8.2 がリリースされてからプレビュー環境で 8.1 がようやく使えるようになったわけですが、今後はどのタイミングで使えるようになるのかが少し気になりますね。
プレビュー環境のポリシーとしては公式リリースされてから数日〜数週間でプレビュー環境で使えるようになるというものらしいです。

また、イノベーションリリースが今後は通常リージョンにも登場するのか、そのあたりが少し気になります。
Lambda のランタイムなどは LTS のみサポートするというポリシーがあるのですが、RDS for MySQL のポリシーに LTS のみと明記された情報が見当たりませんでした。どなたかご存知の方いればこっそり教えてください。
(LTS のみだろうという予感はしています)