Amazon Aurora MySQL 3 (MySQL 8.0 互換) がリリースされました。
AWSチームのすずきです。
2021年11月18日、MySQL 8.0 と互換性を持つ Amazon Aurora 3 がリリースされました。
今回、DBエンジンバージョン「8.0.mysql_aurora.3.01.0」の Auroraクラスタを東京リージョンで起動、 新しくサポートされたウィンドウ関数を利用したSQLの実行を試す機会がありましたので、紹介させていただきます。
データベース作成
バージョン指定
Aurora MySQL 3.01.0 (Compatible with MySQL 8.0.23) の選択が可能になりました。
DBインスタンスクラス
最も廉価に利用できる「db.t4g.medium」を利用しました。
「db.t3.small」は、Auraora 3ではサポート外となった模様です。
メモリ最適化クラスでは、「r4」「r5」「r6g」のインスタンスクラスが指定可能でした。
パラメーターグループ
パラメーターグループの変更を行う場合、「aurora-mysql8.0」ファミリーを指定して、パラメータグループ、DB クラスターのパラメータグループを作成します。
確認
「8.0.mysql_aurora.3.01.0」のDBインスタンスを起動する事ができました。
動作確認
MySQL 8.0 でサポートされた Windows関数を含むSQLの利用が可能になりました。
- 月別の投稿実績ベスト3
SELECT d.user_nicename, c.post_count, c.post_month, c.monthly_rank, c.monthly_dense_rank FROM ( SELECT b.post_author, b.post_count, b.post_month, rank() over(partition BY b.post_month ORDER BY b.post_count DESC) AS monthly_rank, dense_rank() over(partition BY b.post_month ORDER BY b.post_count DESC) AS monthly_dense_rank FROM ( SELECT a.post_author, COUNT(1) AS post_count, DATE_FORMAT(a.post_date, '%Y-%m') AS post_month FROM wp_posts a WHERE a.post_type = 'post' AND post_status = 'publish' AND a.post_date >= date_add(date_add(last_day(NOW()), INTERVAL 1 DAY), INTERVAL - 4 MONTH) AND a.post_date < date_add(date_add(last_day(NOW()), INTERVAL 1 DAY), INTERVAL - 1 MONTH) GROUP BY a.post_author, DATE_FORMAT(a.post_date, '%Y-%m') ) b ) c, wp_users d WHERE c.post_author = d.ID AND c.monthly_rank <= 3
+-----------------+------------+------------+--------------+--------------------+ | user_nicename | post_count | post_month | monthly_rank | monthly_dense_rank | +-----------------+------------+------------+--------------+--------------------+ | iwasa-takahito | 31 | 2021-08 | 1 | 1 | | wakatsuki-ryuta | 31 | 2021-08 | 1 | 1 | | sin | 17 | 2021-08 | 3 | 2 | | iwasa-takahito | 32 | 2021-09 | 1 | 1 | | wakatsuki-ryuta | 30 | 2021-09 | 2 | 2 | | kim-jaewook | 12 | 2021-09 | 3 | 3 | | iwasa-takahito | 31 | 2021-10 | 1 | 1 | | wakatsuki-ryuta | 31 | 2021-10 | 1 | 1 | | mori-ryosuke | 19 | 2021-10 | 3 | 2 | +-----------------+------------+------------+--------------+--------------------+ 9 rows in set (0.00 sec)
まとめ
MySQL8 でサポートされた機能を必須とするため、これまで Amazon Aurora の採用のネックとなっていた場合、新しい Amazon Aurora MySQL 3 をぜひお試しください。
また、Instant DDL、Common table expressions (CTEs)、Improved parallel query support、New index types など Aurora3で利用可能になった新機能や、改善されたバイナリログレプリケーションについても 追って評価を試みてみたいと思います。