Aurora MySQL バージョン 3 は MYSQL 8.0 との互換性があります。
Aurora MySQL バージョン 3 を使用して、MySQL 互換の最新機能、パフォーマンスの強化、およびバグ修正を入手できます。以下では、MySQL 8.0 の互換性を持つ Aurora MySQL バージョン 3 について学ぶことができます。クラスターとアプリケーションを Aurora MySQL バージョン 3 にアップグレードする方法を学ぶことができます。
Aurora Serverless v2 など、Aurora の一部の機能は、Aurora MySQL バージョン 3 を必要とします。
トピック
- MySQL 8.0 コミュニティエディションからの機能
- Aurora MySQL サーバーレス v2 の前提条件である Aurora MySQL バージョン 3
- Aurora MySQL バージョン 3 のリリースノート
- 新しいパラレルクエリの最適化
- データベースの再起動時間を短縮するための最適化
- Aurora MySQL バージョン 3 での新しい一時テーブルの動作
- Aurora MySQL バージョン 2 と Aurora MySQL バージョン 3 の比較
- Aurora MySQL バージョン 3 と MySQL 8.0 コミュニティエディションの比較
- Aurora MySQL バージョン 3 へのアップグレード
MySQL 8.0 コミュニティエディションからの機能
Aurora MySQL バージョン 3 の初期リリースは、MySQL 8.0.23 コミュニティエディションと互換性があります。MySQL 8.0 では、以下を含むいくつかの新機能が導入されています。
-
アトミックデータ定義言語 (DDL) のサポート。詳細については、「アトミックデータ定義言語 (DDL) のサポート」を参照してください。
-
JSON 関数。使用に関する情報については、MySQL リファレンスマニュアル のJSON 関数
を参照してください。 -
ウィンドウ関数。使用に関する情報については、MySQL リファレンスマニュアル のWindow 関数
を参照してください。 -
WITH
句を使用した共通テーブル表現 (CTE)。使用に関する情報については、MySQL リファレンスマニュアルの WITH (共通テーブル表現)を参照してください。 -
ALTER TABLE
ステートメントの、最適化されたADD COLUMN
とRENAME COLUMN
句 。これらの最適化は「インスタント DDL」と呼ばれます。Aurora MySQL バージョン 3 はコミュニティ MySQL インスタント DDL 特徴と互換性があります。旧 Aurora 高速 DDL特徴は使用されていません。インスタント DDL の使用情報については、インスタント DDL (Aurora MySQL バージョン 3) を参照してください。 -
降順、機能、不可視インデックス。使用に関する情報については、MySQL リファレンスマニュアルの非表示インデックス
、降順インデックス 、およびCREATE INDEX インデックス を参照してください。 -
SQL 文で制御されるロールベースの権限。権限モデルの変更については、ロールベースの特権モデル を参照してください。
-
SELECT ... FOR SHARE
文のNOWAIT
とSKIP LOCKED
句。これらの句は、他のトランザクションが行ロックを解放するのを待つことを避けます。使用の詳細については、MySQL リファレンスマニュアルの読み取りロックを参照してください。 -
バイナリログ (binlog) のレプリケーションの改善。Aurora MySQL の詳細については、バイナリログレプリケーション を参照してください。特に、フィルタリングされたレプリケーションを実行できます。使用方法については、MySQL リファレンスマニュアルのサーバがレプリケーションフィルタ規則を評価する方法
を参照してください。 -
ヒント。MySQL 8.0 互換ヒントのいくつかは、既に Aurora MySQL バージョン 2 にバックポートされています。Aurora MySQL でのヒントの使用については、Aurora MySQL のヒント を参照してください。コミュニティ MySQL 8.0 でのヒントの詳細なリストは、MySQL リファレンスマニュアルのオプティマイザーヒント
を参照してください。
MySQL 8.0 コミュニティエディションに追加された機能の完全なリストについては、ブログ記事 MySQL 8.0 の新機能の完全なリスト
Aurora MySQL バージョン 3 には、コミュニティ MySQL 8.0.26 からバックポートされた、包括的言語キーワードの変更も含まれています。これらの変更の詳細については、Aurora MySQL バージョン 3 に対する包括的な言語変更 を参照してください。
Aurora MySQL サーバーレス v2 の前提条件である Aurora MySQL バージョン 3
Aurora MySQL バージョン 3 は、Aurora MySQL サーバーレス v2 クラスター内のすべての DB インスタンスの前提条件です。Aurora MySQL サーバーレス v2 には、DB クラスター内のリーダーインスタンスのサポートと、Aurora MySQL サーバーレス v1 では利用できない Aurora 機能のサポートが含まれています。また、Aurora MySQL サーバーレス v1 よりも高速かつきめ細かなスケーリングも備えています。
Aurora MySQL バージョン 3 のリリースノート
すべての Aurora MySQL バージョン 3 リリースのリリースノートについては、Aurora MySQL のリリースノートの「Amazon Aurora MySQL バージョン 3 のデータベースエンジンの更新」を参照してください。
新しいパラレルクエリの最適化
Aurora パラレルクエリの最適化は、より多くの SQL 操作に適用されるようになりました。
-
パラレルクエリは、
TEXT
、BLOB
、JSON
、GEOMETRY
、VARCHAR
、そして 768 バイトより長いCHAR
のデータ型を含んだテーブルに適用されるようになりました。 -
パラレルクエリは、パーティショニングテーブルを含むクエリを最適化できます。
-
パラレルクエリは、選択リストと
HAVING
句内でする集計関数の呼び出を伴うクエリを最適化できます。
強化の詳細については、Aurora MySQL バージョン 3 への パラレルクエリクラスターのアップグレード を参照してください。Aurora パラレルクエリの一般情報については、Amazon Aurora MySQL の並列クエリ を参照してください。
データベースの再起動時間を短縮するための最適化
Aurora MySQL DB クラスターは、計画的な停止時と計画外の停止時の両方で高い可用性を備えている必要があります。
データベース管理者は時折データベースのメンテナンスを行う必要があります。このメンテナンスには、データベースのパッチ適用、アップグレード、手動での再起動が必要なデータベースパラメータの変更、インスタンスクラスの変更にかかる時間を短縮するためのフェイルオーバーの実行などが含まれます。これらの計画的なアクションには、ダウンタイムが伴います。
ただし、基盤となるハードウェア障害やデータベースリソースのスロットリングによる予期しないフェイルオーバーなど、計画外のアクションによってもダウンタイムが発生することもあります。これらの計画的なアクションでも、計画外のアクションでも、必ずデータベースの再起動が必要です。
Aurora MySQL バージョン 3.05 以降では、データベースの再起動時間を短縮するための最適化が導入されました。これらの最適化により、最適化を行わない場合と比べてダウンタイムが最大 65% 短縮され、再起動後のデータベースワークロードの中断も少なくなります。
データベースのスタートアップ時には、多くの内部メモリコンポーネントが初期化されます。これらの中で最大のものは InnoDB バッファープール
詳細については、ブログ「Amazon Aurora MySQL データベースの再起動時間の最適化によってダウンタイムを削減する